×
单片机 > 单片机程序设计 > 详情

stm32软件系统从裸机升级为ucos

发布时间:2020-05-22 发布时间:
|
如题,公司的项目,stm32原来是裸奔的,驱动之类都是直接写的,这一个星期,将驱动和上层的应用升级为ucos的版本。
由于ucos系统很简单(5000行),而且别人都做好了现成的stm32移植,我只是简单的做上面的驱动和应用,我主要关注点是怎么利用ucos系统接口完成应用。
之所以升级到ucos版本,是因为原来的iic和SPI驱动由于要死等,导致应用层的任务被阻塞,而导致伺服周期不准,虽然用上了外部定时器中断来触发伺服任务,但是还是有不准的情况,所以对iic和SPI驱动改造,不再是死等,而是等的时候放弃CPU(OSTimeDly(1)),这样,即使在运行过程中,也可以很方便的读写eeprom。

心得体会:
1)复杂多任务的情况下面,ucos有很大的优势,会提高实时性
2)任务间同步很方便,锁可以方便的对全局资源进行排他占用,而且很好的防止优先级反转,信号量很好的作为通知手段,实时性很强,任务不用不断循环查询了。
3)栈空间的大小很难定义,由于任务的局部变量都是自栈上分配的,所以必须分配合理的空间,否则会任务溢出挂掉,由于stm32和ucos是针对小型系统做的,所以这个栈独立也可以可以接受的,而且其实也简单
4)ucos很简单,我真正开始用,才1周时间,基本完成原来驱动和应用的移植
5)大系统,建议上强大的CPU(支持MMU),强大的操作系统

关键字:stm32  软件系统  ucos 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
MSP430F5529 上手小例程2