stm32軟件系統從裸機升級為ucos
由于ucos系統很簡(jiǎn)單(5000行),而且別人都做好了現成的stm32移植,我只是簡(jiǎn)單的做上面的驅動(dòng)和應用,我主要關(guān)注點(diǎn)是怎么利用ucos系統接口完成應用。
之所以升級到ucos版本,是因為原來(lái)的iic和SPI驅動(dòng)由于要死等,導致應用層的任務(wù)被阻塞,而導致伺服周期不準,雖然用上了外部定時(shí)器中斷來(lái)觸發(fā)伺服任務(wù),但是還是有不準的情況,所以對iic和SPI驅動(dòng)改造,不再是死等,而是等的時(shí)候放棄CPU(OSTimeDly(1)),這樣,即使在運行過(guò)程中,也可以很方便的讀寫(xiě)eeprom。
心得體會(huì ):
1)復雜多任務(wù)的情況下面,ucos有很大的優(yōu)勢,會(huì )提高實(shí)時(shí)性
2)任務(wù)間同步很方便,鎖可以方便的對全局資源進(jìn)行排他占用,而且很好的防止優(yōu)先級反轉,信號量很好的作為通知手段,實(shí)時(shí)性很強,任務(wù)不用不斷循環(huán)查詢(xún)了。
3)??臻g的大小很難定義,由于任務(wù)的局部變量都是自棧上分配的,所以必須分配合理的空間,否則會(huì )任務(wù)溢出掛掉,由于stm32和ucos是針對小型系統做的,所以這個(gè)棧獨立也可以可以接受的,而且其實(shí)也簡(jiǎn)單
4)ucos很簡(jiǎn)單,我真正開(kāi)始用,才1周時(shí)間,基本完成原來(lái)驅動(dòng)和應用的移植
5)大系統,建議上強大的CPU(支持MMU),強大的操作系統
評論