裸机嵌入式开发和操作系统嵌入式开发

一、开发过程的不同
1、裸机开发
原理图→芯片数据手册→内存物理地址;
2、带操作系统的开发
原理图→芯片数据手册→内存物理地址→内存虚拟地址。

二、硬件组成不同
跑操作系统的MCU要比跑裸机的MCU多两个硬件设备:高速缓冲(CACHE)和内存管理单元(MMU)。

三、高速缓冲(CACHE)
裸机嵌入式开发和操作系统嵌入式开发_第1张图片
1、就运行速度快慢而言,处理器自己运算的速度最快,其次是处理器访问自身寄存器的速度,再次是高速缓冲的运行速度,最慢的是内存的运行速度。

2、高速缓存存在的理由:处理器的运行速度大大的快于内存的运行速度(这个差距在逐年增大),如果处理器直接访问内存会有很大的延时,所以它们之间要加一个高速缓冲过度。从技术上讲,内存完全可以由高速缓冲制作,但是高速缓冲价格高而且内存一般要比高速缓冲大的多(高速缓存一般是几M,而内存一般2G、4G甚至是8G)。

四、内存管理单元(MMU)
1、实现物理地址找到虚拟地址的转换(通过ioremap函数);
3、实现多任务管理;
4、实现虚拟内存
4.1、虚拟存储器的空间大小取决于计算机的访存能力而不是实际外存的大小,如32位的操作系统最大的虚拟内存为32G(2³²=4G);
4.2、使存储系统既具有相当于外存的容量又有接近于主存的访问速度。

你可能感兴趣的:(Linux,嵌入式开发)