Embedded

关于冯.诺伊曼架构和哈佛架构

典型的冯.诺伊曼架CPU是x86的CPU。pc机cpu在运行的时候程序是存储在RAM即内存中的,需要运行的程序从硬盘、U盘等外存读取加载进内存中供CPU高速运行(CPU不可能从外存中直接读取指令),所以程序和数据都是放在内存中的。取指令和取操作数都在同一总线上,通过分时复用的方式进行的。缺点是在高速运行时,不能达到同时取指令和取操作数,从而形成了传输过程的瓶颈。 而大多数单片机等嵌入式系统则是存于flash中,flash逐步取代较古老ROM。单片机的程序是固化在flash中,cpu运行时直接从flash中读取程序,从RAM中读取数据。即程序和数据分开存储,而且单片的片内RAM资源是相当有限的,内部的RAM过大会带来成本的大幅度提高。 哈佛总线技术应用是以DSP和ARM为代表的。采用哈佛总线体系结构的芯片内部程序空间和数据空间是分开的,这就允许同时取指令和取操作数,从而大大提高了运算能力。它们都有独立的程序地址总线(PAB),数据地址读总线(DRAB)和数据地址写总线(DWRB)。

关于ADS V1.2开发环境

从开始用freescale 的CodeWarrior起到这个ADS V1.2 ,一直认为这个开发环境做得不好。有几个问题。 1.当make完之后在xx.o文件报错有不明物体,双击这条error, 它没帮你定位到xx.c里。以至于你还得打开xx.c CTRL+F,找出这个不明物体。这很烦,有时候会觉得这个编译器很无语。 2.ADS V1.2的工程管理不能靠边?dock,至今没找到这个功能。。以至于窗口管理乱糟糟的。

嵌入式开学-先认识硬件

这里使用的是TQ2440开发板,CPU 一般运行在400M的时钟频率。核心板载有两片Hynix(海力士,又叫现代内存)256Mb的SDRAM合64MB的内存,256MB SAMSUNG 的Nand flash,2MB 的Eon(宜扬) 的Nor flash。 首先,Nor flash 和 Nand flash 的区别? Nor flash的有自己的地址线和数据线,操作以字为单位,可以采用类似于memory的随机访问方式,在nor flash上可以直接运行程序,所以nor flash可以直接用来做boot,采用nor flash启动的时候会把地址映射到0x00上。类似于计算机内BIOS的存放位置。 Nand flash是IO设备,类似于计算机的硬盘,数据、地址、控制线都是共用的,需要软件区控制读取时序,更**无法挂在ARM的程序空间,**所以不能像nor flash、内存一样随机访问,不能EIP(片上运行),因此不能直接作为boot。一般Nand flash 用来存储系统程序,系统上电后由Nor flash中的BootLoader将系统加载进RAM中的可执行地址中运行,然后跳到主程序中运行。(这有点像冯.诺伊曼架构,程序和数据都在RAM中)。Nand flash在读取数据量较大的成块数据时,速度较快。