搜索
bottom↓
回复: 9

RT-Thread 自动初始化的困惑

[复制链接]

出0入0汤圆

发表于 2019-6-6 11:12:42 | 显示全部楼层 |阅读模式
这里有人用 RT-Thread OS 吗?

RT-Thread 里有一个自动初始化序列,有个小困惑,项目中,哪些初始化适合放到自动初始化序列里面,有没有一个应用原则?

ps:
我以前都是随便用的,只要初始化顺序 OK 就行了,没有深入思考过。
通常,我把硬件驱动相关的放进初始化序列里,项目的业务代码放到 main 任务里启动。

大家都怎么用?

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2019-6-6 15:13:58 | 显示全部楼层
我觉得除了应用代码之外的初始化,都可以放在自动初始化里面。

出0入0汤圆

发表于 2019-6-6 15:41:29 | 显示全部楼层
main()之外都自动初始化,我的理解,

进来就编应用程序。

出0入0汤圆

发表于 2019-6-6 22:32:52 | 显示全部楼层
我是在Application里初始化线程,线程里先初始化自己这个线程要使用的硬件,然后while (1)
每个线程自己各管各的硬件

如果所有硬件在线程启动之前放在一起初始化的话,太乱了。。。。

出0入0汤圆

发表于 2019-6-10 09:07:56 | 显示全部楼层
tuy0326 发表于 2019-6-6 22:32
我是在Application里初始化线程,线程里先初始化自己这个线程要使用的硬件,然后while (1)
每个线程自己 ...

楼上机智了

出0入0汤圆

 楼主| 发表于 2019-6-10 10:53:14 | 显示全部楼层
tuy0326 发表于 2019-6-6 22:32
我是在Application里初始化线程,线程里先初始化自己这个线程要使用的硬件,然后while (1)
每个线程自己 ...

都创建一个线程管理,那岂不是很占用资源

出0入0汤圆

发表于 2019-6-10 15:44:32 | 显示全部楼层
MurphyZhao 发表于 2019-6-10 10:53
都创建一个线程管理,那岂不是很占用资源

不是每个硬件都需要一个线程管理,而是你这个线程用到的硬件由你这个线程自己管理

出0入0汤圆

 楼主| 发表于 2019-6-10 17:04:12 | 显示全部楼层
tuy0326 发表于 2019-6-10 15:44
不是每个硬件都需要一个线程管理,而是你这个线程用到的硬件由你这个线程自己管理 ...

哦,明白了。这在线程间互不干扰的情况下,是很好的一个方式。但,很多情况下,硬件是共享给系统中的很多线程使用的,比如 uart,这个时候就不是那么灵活。

出0入0汤圆

发表于 2019-6-10 17:23:08 | 显示全部楼层
MurphyZhao 发表于 2019-6-10 17:04
哦,明白了。这在线程间互不干扰的情况下,是很好的一个方式。但,很多情况下,硬件是共享给系统中的很多 ...

如果有共享的,那么你就要另作个线程,每个线程要用的时候发消息给他,然后由这个线程排队发出去,否则你就加锁

出0入0汤圆

 楼主| 发表于 2019-6-10 18:11:33 | 显示全部楼层
tuy0326 发表于 2019-6-10 17:23
如果有共享的,那么你就要另作个线程,每个线程要用的时候发消息给他,然后由这个线程排队发出去,否则你 ...

嗯,这个思路是合适的。
很多情况下,硬件(尤其是传感器)初始化过程很慢,如果放到自动初始化序列,那就会阻塞启动过程,启动时间会很长。
所以,这种情况,可以使用 work queue 对硬件进行初始化,然后操作硬件的时候,加锁互斥操作,或者使用消息队列异步操作。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-3-29 15:33

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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