CMSIS RTOS的一些使用心得

1,为什么有些任务建立成功,但实际上并不能运行的解决办法
需要注意的是操作系统配置文件里面的OS_DYNAMIC_MEM_SIZE 和stack size 这两个东西的大小分配要
配合的来 为什么任务会创建失败 大概率是因为每个任务都会有一个初始大小 也就是我的这个 但是任务数乘以
初始大小 不要超过OS_DYNAMIC_MEM_SIZE 的大小 这也就是为什么有时候修改动态大小也会解决错误的原因
我靠 硬生生琢磨出来的
我发现有人在看这篇博客,所以我来更新啦。
2,内存池与队列分配与使用的一些问题
1)内存池的建立需要传入的是结构体的名字,而队列需要传入的是结构体的指针。这两者的差别在于一个传入的是整个结构体的大小,而指针传入的只是一个指向结构体的地址,字节数一般是四个字节。
2)内存池的释放与分配,即便在两个线程中,也要保证只有一次分配和释放,否则可能会造成释放指针的不存在,导致程序崩溃,概率虽小,但我遇到过。
3)将数据放入队列的时候,如果在线程中,设置成OsWaitForever是没关系的,但在中断中,等待时间应该设置成NULL。
3,app_main是必须的吗?
无所谓。其实任务的创立之后,便开始反复调用,但如果没有循环,即便执行也只是在尾部走一下(存疑,可能完全不来),没有任何作用。所以在任务 中循环是必须的。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值