发新帖本帖赏金 10.00元(功能说明)我要提问
123下一页
返回列表
打印
[活动专区]

【AT-START-F407测评】+ThreadX 测试

[复制链接]
7765|46
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 aple0807 于 2021-2-14 14:22 编辑

作为世界顶尖的RTOS之一,ThreadX开源免版税可算是嵌入式领域的一大福音。

先看看它的认证:
(1)医疗 - FDA510(k),IEC-62304 Class C,IEC-60601,ISO-14971
(2)工业 - UL-1998,IEC-61508 SIL 4
(3)运输/铁路 - EN50128 SIL 4,BS50128,  49CFR236,IEC-61508
(4)航空航天设备 - DO-178B,ED-12B,DO-278
(5)汽车    - IEC-61508 ASIL D
(6)核应用 - IEC-61508
(7)家电    - UL/IEC 60730/60335


源码可以在github下载,本附件工程是最新版的 6.1.3

API使用说明:
https://docs.microsoft.com/en-us/azure/rtos/threadx/chapter4


ThreadX的移植十分简单,就两个文件夹,COMMON和PORT,直接添加文件就可以了

主程序直接调用API接口进入OS即可
/*******************************************************************************
* [url=home.php?mod=space&uid=247401]@brief[/url]  main : std proc entry.
* \param[in] none
* \retval: none
*******************************************************************************/
int main(void)
{
    //cpu init
    System_Init();

    //app time tick suspend
    app_tick_suspend();

    //os entry
    tx_kernel_enter();

    while (1);
}


另外需要一个外部函数tx_application_define来创建初始任务,这个是内核初始化调用的
/*******************************************************************************
* [url=home.php?mod=space&uid=247401]@brief[/url]  tx_application_define : called by tx_kernel_enter.
* \param[in] first_unused_memory :mem address that is unused
* \retval: none
*******************************************************************************/
void  tx_application_define(void *first_unused_memory)
{
    os_thread_init();
}


API接口命名十分简洁,下面附上源码,有兴趣的坛友可以一起来研究。
本附件工程支持MDK(ARMCC6)和IAR8.40

建议使用IAR,对ThreadX有强大的调试支持。

software-threadx.rar (3.87 MB)

使用特权

评论回复

打赏榜单

ArterySW 打赏了 10.00 元 2021-09-09
理由:Thread移植的作品优秀

评论
dirtwillfly 2021-2-15 16:59 回复TA
d( ̄◇ ̄)b 
沙发
caizhiwei| | 2021-2-14 20:16 | 只看该作者
armfly也在搞这个

使用特权

评论回复
板凳
aple0807|  楼主 | 2021-2-15 10:31 | 只看该作者
上面的工程 任务和系统对象创建有个地方重复调用了。
开启 TX_DISABLE_ERROR_CHECKING 后会出现异常错误,这个是关闭API参数检查的。根据官方文档说明,这个配置开起来可以提高30%性能。

不愧是经过各种认证的OS,容错能力确实强,开启参数检测的情况下,很多API执行错误可以自行规避了。

下面把修复过的工程重新上传一下分享给大家。

里面调整了初始化过程,增加一个API执行结果检测宏方便调试。

software-threadx.rar (3.88 MB)

使用特权

评论回复
地板
aple0807|  楼主 | 2021-2-15 10:35 | 只看该作者

欢迎一起探讨使用中的各种问题

使用特权

评论回复
5
m564522634| | 2021-2-15 11:27 | 只看该作者
楼主有测试过网络速度没有,手册上写着网络速度100M的网卡可以做到90多M 非常厉害

使用特权

评论回复
6
aple0807|  楼主 | 2021-2-15 11:33 | 只看该作者
m564522634 发表于 2021-2-15 11:27
楼主有测试过网络速度没有,手册上写着网络速度100M的网卡可以做到90多M 非常厉害 ...

还没有,家里的路由器就一个网口连电视的,等上班了再测

使用特权

评论回复
7
yjwpm| | 2021-2-15 21:29 | 只看该作者
aple0807 发表于 2021-2-15 10:35
欢迎一起探讨使用中的各种问题

我已经在产品中使用了一段时间了,目前没有发现问题。。。。。

使用特权

评论回复
8
m564522634| | 2021-2-16 11:12 | 只看该作者
aple0807 发表于 2021-2-15 11:33
还没有,家里的路由器就一个网口连电视的,等上班了再测

今天拿你的工程移植下网络测试下网速,看手册我口水都流了下来这个系统

使用特权

评论回复
9
纪国圣| | 2021-2-16 12:01 | 只看该作者
aple0807 发表于 2021-2-15 10:35
欢迎一起探讨使用中的各种问题

有点小问题呀:


使用特权

评论回复
10
aple0807|  楼主 | 2021-2-16 22:09 | 只看该作者

os tick我修改了,上面工程里是2ms,把stat任务里面sleep延时的数改成50应该就正常了。

使用特权

评论回复
11
muyichuan2012| | 2021-2-19 09:26 | 只看该作者
感谢楼主分享,ThreaX据说非常强大。

使用特权

评论回复
12
m564522634| | 2021-2-19 09:59 | 只看该作者
aple0807 发表于 2021-2-15 10:35
欢迎一起探讨使用中的各种问题

昨天把你的代码移植到原子的stm32f407开发板上了,等我把网卡调通后发出来

使用特权

评论回复
13
tianqi911| | 2021-10-25 15:06 | 只看该作者
MARK MARK MARK M4学习中。赞。

使用特权

评论回复
14
tianqi911| | 2021-10-25 15:07 | 只看该作者
就是不知道这个东东有没有什么实际工业上的应用?资料好少。我在纠结FreeRTOS还是这个,毕竟一个是无敌超市撑腰一个是电脑祖师爷撑腰。

使用特权

评论回复
评论
tianqi911 2021-10-26 13:59 回复TA
@muyichuan2012 :谢谢指导。刚在kfz旧书网买了本freertos的二手书。 
muyichuan2012 2021-10-25 15:22 回复TA
建议先使用FreeRTOS,免费,且资源多一点。 
15
便携手到老| | 2021-10-27 10:37 | 只看该作者
这个帖子,确实很赞,不错的方案,感谢楼主分享。

使用特权

评论回复
16
lajfda003| | 2021-11-1 10:49 | 只看该作者
楼主是高手。太厉害了。

使用特权

评论回复
17
onlycook| | 2021-11-2 15:10 | 只看该作者
楼主太厉害了,佩服

使用特权

评论回复
18
sadicy| | 2021-11-3 15:07 | 只看该作者
没想到的是,还需要这么多的认证~~

使用特权

评论回复
19
kkzz| | 2021-11-3 15:48 | 只看该作者
ThreadX是什么操作系统

使用特权

评论回复
20
hudi008| | 2021-11-3 15:48 | 只看该作者
优秀的硬实时操作系统  

使用特权

评论回复
发新帖 本帖赏金 10.00元(功能说明)我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

77

主题

328

帖子

2

粉丝