標籤:
嵌入式系統開發流程
嵌入式系統的一般開發流程如下:
嵌入式作業系統
- 管理資源
- 提高系統可靠性
- 硬體虛擬化
- 即時效能
- 多任務
現有的嵌入式作業系統
VxWorks pSOS PalmOS QNX OS-9 LynxOS WindowsCE uC/OS 嵌入式Linux FreeRTOS
ARM體系架構
ARM:Advanced RISC Machines
ARM處理器共有37個寄存器,分為若干個組(BANK)。
大多數資料操作都在寄存器中完成。
ARM分類
ARM7: 32bit 馮-諾依曼體繫結構
電腦處理的資料和指令一律用位元表示;順序執行;電腦硬體由運算器、控制器、儲存空間、輸入裝置和輸出裝置五大部分組成。
ARM9: 32bit 哈佛結構
使用兩個獨立的儲存空間模組,分別儲存指令和資料,每個儲存模組都不允許指令和資料並存;
使用獨立的兩條匯流排,分別作為CPU與每個儲存空間之間的專用通訊路徑,而這兩條匯流排之間毫無關聯。
ARM10E:支援DSP指令集
ARM11
SecureCore
StrongARM
Xscale
Cortex-M3
大端格式和小端格式
16bit寬的數0x1234在Little-endian模式(以及Big-endian模式)CPU記憶體中的存放方式(假設從地址0x4000開始存放)為:
| 記憶體位址 |
小端模式存放內容 |
大端模式存放內容 |
| 0x4000 |
0x34 |
0x12 |
| 0x4001 |
0x12 |
0x34 |
32bit寬的數0x12345678在Little-endian模式以及Big-endian模式)CPU記憶體中的存放方式(假設從地址0x4000開始存放)為:
| 記憶體位址 |
小端模式存放內容 |
大端模式存放內容 |
| 0x4000 |
0x78 |
0x12 |
| 0x4001 |
0x56 |
0x34 |
| 0x4002 |
0x34 |
0x56 |
| 0x4003 |
0x12 |
0x78 |
大端小端沒有誰優誰劣,各自優勢便是對方劣勢:
小端模式 :強制轉換資料不需要調整位元組內容,1、2、4位元組的儲存方式一樣。
大端模式 :符號位的判定固定為第一個位元組,容易判斷正負。
下面這段代碼可以用來測試一下你的編譯器是大端模式還是小端模式:
short int x; //short int 16bitchar x0,x1; //char 8bitx=0x1122;x0=((char*)&x)[0]; //低地址單元x1=((char*)&x)[1]; //高地址單元
若x0=0x11,則是大端; 若x0=0x22,則是小端……
參考http://blog.csdn.net/blog_lee/article/details/38926379
嵌入式系統開發學習(1)