?? readme.txt
字號(hào):
關(guān)于本移植:
這個(gè)移植 主要參考了uCOS-II 在skyeye上的移植版本
基本實(shí)現(xiàn)思想是沿襲他們的
skyeye是一個(gè)開源軟件 可以在 Linux和Windows平臺(tái)上實(shí)現(xiàn)軟件仿真ARM7DTMI核
具體可以參考 http://hpclab.cs.tsinghua.edu.cn/~skyeye/
對(duì)于我移植后的 具體的改變等 可以參考我寫的注釋
(基本上我的注釋都是中文或者不通的英文 汗)
用戶代碼部分 大多沿用了我以前發(fā)布的GBA for ADS1.2 工程模板(可以在www.C51BBS.com上找到)
1. 解壓本壓縮包到一個(gè)目錄下
目錄結(jié)構(gòu)會(huì)如下:
┣readme.TXT : 本文檔
┃
┣uCOS.mcp : ADS1.2工程文件
┃
┣SOURCE : 源碼目錄
┃ ┃
┃ ┣uCOS_SRC : uCOS-II源碼(空的 ^_^)
┃ ┃
┃ ┣uCOS_PORT : GBA上移植有關(guān)源碼
┃ ┃
┃ ┣USER_SRC : 用戶程序源碼
┃ ┃
┃ ┗DOC : 文檔(空的 -_-b)
┃
┗TOOLS : 模擬器啊什么的
注: 好像uCOS的作者不許發(fā)布移植的人 在發(fā)布移植的時(shí)候?qū)COS的源碼一并給出
(其實(shí)是為了多賣錢罷 ^o^ )
所以 我也不提供uCOS-II的源碼了 反正他的源碼網(wǎng)上到處是的
2. 因?yàn)?uCOS_SRC 目錄為空
所以需要你自行到網(wǎng)上或別的什么地方找份uCOS-II的源碼(最好V2.5以上) 我是用V2.62移植的
然后把"SOFTWARE\uCOS-II\SOURCE"下的那些程序 copy 到這個(gè)目錄下
3. 在ADS1.2中打開ucos.mcp
項(xiàng)目工程文件的目錄結(jié)構(gòu)應(yīng)該是這樣的:
┣uCOS_SRC
┃ ┗ucos_ii.c
┣uCOS_PORT
┃ ┣Os_cpu_c.c
┃ ┣os_debug.c(這個(gè)是在V2.62以后增加的 可以對(duì)低版本的其自動(dòng)不編譯進(jìn)去)
┃ ┗Os_cpu_a.s
┗USER_SRC
┣boot.s
┣irq.c
┣user_io.c
┣User_LCD.c
┗main.c
4. 編譯 在模擬器中運(yùn)行 :)
5. 如果要下載到你的GBA中運(yùn)行 必須用gbafix.exe對(duì)*.GBA修正頭部
具體的可以參見我在C51bbS發(fā)布的GBA ADS1.2工程模板的說明文檔
6. ext1.c 和ext2.c是對(duì)uCOS-II發(fā)布版本中頭兩個(gè)例程的移植
也附帶了兩個(gè)GBA 大家可以看看運(yùn)行效果
關(guān)于我對(duì)移植uCOS in GBA 的一些感想:
1. GBA總體來說 速度較慢 如果 任務(wù)負(fù)荷過重 很容易造成系統(tǒng)崩潰 特別是我現(xiàn)在很大的開銷是在顯示上:
在GBA顯示mode3下 逐點(diǎn)描繪 顯示是很慢的(以后可以考慮使用較快的txt模式顯示文本會(huì)好很多的)
對(duì)此 可以看樣例2的下場(chǎng) sigh……
2. ARM因?yàn)閕rq_mode 和普通的user_mode下 sp 和 lr 的自動(dòng)切換保護(hù) 反而給uCOS移植帶來了一定的麻煩
對(duì)此 可以看我在OS_CPU_A.S文件中留的注釋 同時(shí) 也給將代碼置于GBA燒錄卡上帶來了麻煩
(現(xiàn)在的這個(gè)移植版本是不能在GBA卡上運(yùn)行的,即不能在FLASH中運(yùn)行)
3. 考慮到GBA有個(gè)很大的彩屏 下步自然是考慮將gui加上 希望有這方面經(jīng)驗(yàn)(ucos-gui移植編程等)的同好者
與我合作。
或者你獨(dú)立進(jìn)行 然后發(fā)布移植出來也歡迎 :-D
4. 很多模擬器不能很好的處理中斷 造成本代碼無法運(yùn)行 推薦使用的模擬器是我在tool目錄下提供的VBA
最好 你能在你的GBA上運(yùn)行代碼
提供的三個(gè)gba文件(在tools目錄下)
ucos.gba 是個(gè)最簡(jiǎn)單的樣例 對(duì)應(yīng)代碼 main.c
我在我是GBA上運(yùn)行了大約5000秒 沒有出問題
ext1.gba ucos書上的例程1的移植 對(duì)應(yīng)代碼 ext1.c
大約運(yùn)行了1分鐘 就算了 呵呵 顯示太糟糕了
ext2.gba 書上例程2的移植 對(duì)應(yīng)代碼 ext2.c (注意 要把OS_TICKS_PER_SEC宏改為10)
在我的GBA上運(yùn)行了2個(gè)小時(shí) 同樣沒出問題
最后 關(guān)于版權(quán)等的聲明:
1. 本發(fā)布的程序等 僅供學(xué)習(xí)使用
除了我聲明的完全由我自己寫的代碼外
其他的部分 都不得用在你的產(chǎn)品中或自行發(fā)布
由此 產(chǎn)生的一切后果 于我無關(guān)
2. GBA、uCOS-II等 都是有版權(quán)保護(hù)的產(chǎn)品 如果有任何使用的打算 請(qǐng)你自己去看他的產(chǎn)品授權(quán)
由于使用產(chǎn)生的一切后果 于我無關(guān)
3. 對(duì)于我聲明的代碼等 請(qǐng)保留我的聲明和名字 多謝
如果你在使用中 有什么問題 特別是有bug務(wù)必請(qǐng)
E-mail我: mail2li@163.com
或在 www.C51BBS.com 上發(fā)貼 我在 C51BBS 上的ID也是 mail2li
李強(qiáng) ( mail2li in www.C51BBS.com )
mail2li@21cn.com or mail2li@163.com
2003-11-28
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -