国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 操作系統 > 正文

《一步一步寫嵌入式操作系統》讀書筆記1—Skyeye介紹、安裝和HelloWorld

2024-06-28 13:27:22
字體:
來源:轉載
供稿:網友
《一步一步寫嵌入式操作系統》讀書筆記1—Skyeye介紹、安裝和HelloWorld

2013-11-14 最近在看《一步一步寫嵌入式操作系統》,感覺此書甚好,許多地方講得很清楚、可操作性強,計劃邊讀邊實踐邊寫筆記,希望能夠逐步熟悉嵌入式操作系統底層的東西,最終剪裁出一套實用的實時嵌入式操作系統,備選的裁剪對象有ucos、RTlinux和uClinux。

SkyEye介紹

“SkyEye是一個指令級模擬器,可以模擬多種嵌入式開發板,可支持多種CPU指令集,在SkyEye上運行的操作系統意識不到它是在一個虛擬的環境中運行,而且開發人員可以通過SkyEye調試操作系統和系統軟件。由于SkyEye的目標不是驗證硬件邏輯,而是協助開發、調試和學習系統軟件,所以在實現上SkyEye與真實的硬件環境相比還是有一定差別的。SkyEye在時鐘節拍的時序上不保證與硬件完全相同,對軟件透明的一些硬件仿真進行了一定的簡化。這樣帶來的好處是SkyEye的執行效率更高。”詳細介紹見[這里](http://www.ibm.com/developerworks/cn/linux/l-skyeye/part1/)

SkyEye安裝

在Linux下可直接安裝,在Windows下要先安裝Cygwin。都可以Google到很多資料。 兩種方法: 1.sudo apt-get install skyeye,版本是1.2.5 2.自己編譯安裝。 我的系統是Ubuntu12.10,64位,折騰了好久,從0.9到最新的版本都試過,都沒編譯安裝成功過。 原因有以下幾點: 1.GCC等對版本有要求 2.64位的Ubuntu需要兼容32位的包 3.針對不同的Ubuntu版本,一些宏定義和函數需要相應修改。 無奈的我最后只能暫時用從軟件源里安裝的1.2.5版本。暫時沒發現大的問題,不足的地方在于對書中用到的ARM920T支持不好,貌似是地址映射不對,串口打印出來的信息無法在終端上顯示。所以我現在用的ARM7TDMI架構的S3C44B0X,對于書里提到的例子,代碼里內存地址什么的需要根據芯片手冊相應修改。 關于安裝,可以Google到大量資料和常見問題的解決方法,不再贅述。

HelloWorld參考[Skyeye下的Hello world測試](http://www.mculover.com/post/103.html) 1.新建一個helloworld.c文件:[root@localhost root]#vi helloworld.c

2.輸入代碼: #define UTXH0 ((volatile unsigned int *)(0x01d00020))

//S3C44B0X的串口0發送寄存器地址是UTXH0 void helloworld(void){ const char *p="HelloWorld!/r/n"; while(*p){ *UTXH0=*p++; } while(1); } 3.交叉編譯。使用書上推薦的arm-elf-gcc交叉編譯器。 4.將源碼編譯生成.o目標文件:[root@localhost root]#arm-elf-gcc -O -c helloworld.c,新生成helloworld.o文件會出現在當前目錄下。 5.將目標文件鏈接生成可執行文件,這里生成帶有很多信息的elf格式:[root@localhost root]#arm-elf-ld -e helloworld -Ttext 0x00000000 helloworld.o -o helloworld,新生成的helloworld文件會出現在當前目錄下 6.將elf文件編譯為.bin文件:[root@localhost root]#arm-elf-objcopy -O binary helloworld helloworld.bin,新生成的helloworld.bin文件會出現在當前目錄下 7.在當前目錄下新建一個skyeye.conf文件:[root@localhost root]#vi skyeye.conf 輸入:

cpu:arm7tdmi mach:s3c44b0 #2M Flash ROM mem_bank:map=M,type=RW,addr=0x00000000,size=0x00200000,file=./helloworld.bin#IO Addr mem_bank:map=I,type=RW,addr=0x01c00000,size=0x00400000 8.運行。在終端中輸入skyeye 1


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 博乐市| 廉江市| 佛山市| 如皋市| 汉阴县| 陇南市| 金阳县| 榆中县| 潼关县| 金沙县| 泸州市| 岑巩县| 武义县| 黄大仙区| 房山区| 宣汉县| 屏南县| 涞源县| 宁德市| 甘肃省| 进贤县| 古蔺县| 东安县| 三原县| 正定县| 石景山区| 唐海县| 深泽县| 嘉峪关市| 刚察县| 武穴市| 上林县| 新安县| 洪泽县| 贵阳市| 景东| 沂南县| 保山市| 阳东县| 永福县| 萝北县|