123下一页
返回列表 发新帖我要提问本帖赏金 10.00元(功能说明)

[活动专区] 【AT-START-F407测评】+ThreadX 测试

[复制链接]
 楼主| aple0807 发表于 2021-2-14 14:24 | 显示全部楼层 |阅读模式
本帖最后由 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即可
  1. /*******************************************************************************
  2. * [url=home.php?mod=space&uid=247401]@brief[/url]  main : std proc entry.
  3. * \param[in] none
  4. * \retval: none
  5. *******************************************************************************/
  6. int main(void)
  7. {
  8.     //cpu init
  9.     System_Init();

  10.     //app time tick suspend
  11.     app_tick_suspend();

  12.     //os entry
  13.     tx_kernel_enter();

  14.     while (1);
  15. }


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


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

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

software-threadx.rar (3.87 MB, 下载次数: 153)

评论

d( ̄◇ ̄)b  发表于 2021-2-15 16:59
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, 下载次数: 74)

 楼主| aple0807 发表于 2021-2-15 10:35 | 显示全部楼层

欢迎一起探讨使用中的各种问题
m564522634 发表于 2021-2-15 11:27 | 显示全部楼层
楼主有测试过网络速度没有,手册上写着网络速度100M的网卡可以做到90多M 非常厉害
 楼主| aple0807 发表于 2021-2-15 11:33 | 显示全部楼层
m564522634 发表于 2021-2-15 11:27
楼主有测试过网络速度没有,手册上写着网络速度100M的网卡可以做到90多M 非常厉害 ...

还没有,家里的路由器就一个网口连电视的,等上班了再测
yjwpm 发表于 2021-2-15 21:29 | 显示全部楼层
aple0807 发表于 2021-2-15 10:35
欢迎一起探讨使用中的各种问题

我已经在产品中使用了一段时间了,目前没有发现问题。。。。。
m564522634 发表于 2021-2-16 11:12 | 显示全部楼层
aple0807 发表于 2021-2-15 11:33
还没有,家里的路由器就一个网口连电视的,等上班了再测

今天拿你的工程移植下网络测试下网速,看手册我口水都流了下来这个系统
纪国圣 发表于 2021-2-16 12:01 | 显示全部楼层
aple0807 发表于 2021-2-15 10:35
欢迎一起探讨使用中的各种问题

有点小问题呀:
问题.PNG

 楼主| aple0807 发表于 2021-2-16 22:09 | 显示全部楼层

os tick我修改了,上面工程里是2ms,把stat任务里面sleep延时的数改成50应该就正常了。
muyichuan2012 发表于 2021-2-19 09:26 | 显示全部楼层
感谢楼主分享,ThreaX据说非常强大。
m564522634 发表于 2021-2-19 09:59 | 显示全部楼层
aple0807 发表于 2021-2-15 10:35
欢迎一起探讨使用中的各种问题

昨天把你的代码移植到原子的stm32f407开发板上了,等我把网卡调通后发出来
tianqi911 发表于 2021-10-25 15:06 | 显示全部楼层
MARK MARK MARK M4学习中。赞。
tianqi911 发表于 2021-10-25 15:07 | 显示全部楼层
就是不知道这个东东有没有什么实际工业上的应用?资料好少。我在纠结FreeRTOS还是这个,毕竟一个是无敌超市撑腰一个是电脑祖师爷撑腰。

评论

[url=home.php?mod=space&uid=1886524]@muyichuan2012[/url] :谢谢指导。刚在kfz旧书网买了本freertos的二手书。  发表于 2021-10-26 13:59
建议先使用FreeRTOS,免费,且资源多一点。  发表于 2021-10-25 15:22
便携手到老 发表于 2021-10-27 10:37 | 显示全部楼层
这个帖子,确实很赞,不错的方案,感谢楼主分享。
lajfda003 发表于 2021-11-1 10:49 | 显示全部楼层
楼主是高手。太厉害了。
onlycook 发表于 2021-11-2 15:10 | 显示全部楼层
楼主太厉害了,佩服
sadicy 发表于 2021-11-3 15:07 | 显示全部楼层
没想到的是,还需要这么多的认证~~
kkzz 发表于 2021-11-3 15:48 | 显示全部楼层
ThreadX是什么操作系统
hudi008 发表于 2021-11-3 15:48 | 显示全部楼层
优秀的硬实时操作系统  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

77

主题

326

帖子

2

粉丝
快速回复 返回顶部 返回列表