最近呢一直在忙著飛思卡爾智能車大賽的活,等待了許久今天終于出了規則。
今年各個組別對主控都有較大的變動,其中節能組甚至要求用STC主控,那么
上一個操作系統就是是有必要的。
然后前幾天研究操作系統時也發現了不少的案例,在51上跑操作系統或者RTOS
真的開始有用武之地了。查了一些資料,其中有一個很不錯的包,叫星光操作系統,
可以完美移植到多款51單片機上。
以下是具體的信息:
(1)支持AT89S52、STC89C52RC、STC90C58RDPlus、STC12C5A60S2、STC15F2K60S2、STC15W4K32S4、STC8A8K64S4A12和STC8F2K64S4單片機
(2)支持線程、信號量、屏障和信箱
(3)采用時間片輪轉調度和搶占式調度,時間片為10毫秒
(4)支持以時鐘周期為單位的延遲
(5)支持中斷觸發,使用中斷系統默認的優先級
(6)提供組件、庫和驅動,方便使用外設
(7)采用模塊化設計,便于裁減和擴充功能
(8)只有一個文件使用8051匯編語言,其它文件使用C語言,具有良好的可移植性
星光操作系統的開發環境為Keil C51 V9.51a,使用9級優化,重點對大小進行優化,其最小編譯結果如下所示:
表1 星光操作系統的最小編譯結果
單片機 data xdata code
AT89S52 153 0 5141
STC89C52RC(6T模式) 99 57 5593
STC90C58RDPlus(6T模式) 99 57 5593
STC12C5A60S2 99 92 7407
STC15F2K60S2 99 96 8521
STC15W4K32S4 99 127 10835
STC8A8K64S4A12 99 138 12877
STC8F2K64S4 99 105 9335
在調試階段,使用4級優化,調試通過后使用9級優化。如果9級優化后運行結果錯誤,增加調用棧的容量后重新編譯。
星光操作系統支持的組件如下所示:
表2 星光操作系統支持的組件
名稱 功能
LCM1601 1601液晶模塊
LCM1602 1602液晶模塊
LCM12864 12864液晶模塊
DS18B20 1線接口溫度傳感器
DS1302 3線接口實時時鐘
HS0038B 紅外線解碼器
AT24C02 IIC接口EEPROM
AT93C46 3線接口EEPEOM
28BYJ48 步進永磁減速電機
NRF24L01 2.4GHz無線收發器
NRF24L01Plus 2.4GHz無線收發器
Starlight_V0.2.zip
(4.86 MB, 下載次數: 35)
2020-3-8 20:52 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|