如题,公司的项目,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),强壮的操作体系