下面這件事情,很簡單,很重要,倒是不少嵌入式入門者沒有作的。作了這第一件事,再作其它練習,或看代碼,能夠事半功倍。spa
對開發軟件的人來講,最重要的東西是什麼呢?哈哈,固然是存儲器和寄存器了。每次拿到開發板以後,必定要去了解存儲器是怎麼樣分配的,是從什麼地址開始,存儲器有多大。是什麼樣的存儲器,是FLASH的,仍是SDRAM的。FLASH的存儲器映射在S3C44B0的什麼地址空間呢?SDRAM又是映射在什麼地址空間呢?必定要把這些問題搞清楚,不然就很難對它開發軟件。因此看S3C44B0的手冊時,就要注意看它的存儲管理。目前,S3C44B0的存儲器管理,分爲不少BANK的。BANK0通常用來映射FLASH存儲器,而且在BANK0後面一段空間裏進行特別寄存器映射,它的空間是4M大小。而且通常的開發板,都是把FLASH存儲器映射在0x0000_0000 到 0x001F_FFFF,這裏的地址空間,就是2M大小。把SDRAM映射在BANK6裏面,地址空間就是0x0c00_0000 到 0x0c7f_ffff,這裏就是8M的SDRAM了。
特別寄存器的地址空間是從 0x01c0_0000到0x0200_0000的4M空間裏,這裏的寄存器,大多數都是跟IO有關的。好比串行通信,DMA,PWM,看門狗,IO口等等。
.net
看懂了存寄器和存儲器,就能夠進行彙編練習。固然S3C44B0它還有ARM標準的寄存器,共有37個吧。這些是全部ARM的CPU都具備的。blog
摘自《大坡3D軟件開發》開發