很简单很重要却是很多嵌入式入门者没有注意到的事

下面这件事情,很简单,很重要,却是很多嵌入式入门者没有做的。做了这第一件事,再做其它练习,或看代码,可以事半功倍。

对开发软件的人来说,最重要的东西是什么呢?哈哈,当然是存储器和寄存器了。每次拿到开发板之后,一定要去了解存储器是怎么样分配的,是从什么地址开始,存储器有多大。是什么样的存储器,是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口等等。

看懂了存寄器和存储器,就可以进行汇编练习。当然S3C44B0它还有ARM标准的寄存器,共有37个吧。这些是所有ARM的CPU都具有的。

摘自《大坡3D软件开发》

你可能感兴趣的:(很简单很重要却是很多嵌入式入门者没有注意到的事)