嵌入式学习ARM篇------系统移植1

【嵌入式相关】

嵌入式与电脑相比而言最大的区别在于:软硬件可裁剪
仅保留我们需要的软件和硬件,其他的可以不要。这就成就了嵌入式设备的一大特点:小巧

嵌入式的构成:嵌入式软件 + 嵌入式硬件
  1:嵌入式软件

在这里插入图片描述
如何判断你的板子是否能跑操作系统?
对于CPU而言,想要跑操作系统,必须要有MMU(Memory Management Unit),内存管理单元,所以区分开发板是否能跑操作系统的办法就是看CPU是否有mmu内存管理单元。

计算机的硬件组成

计算机系统的硬件组成:

1:输入设备
	键盘、鼠标……
2:输出设备
	显示器、打印机……
3:存储器 :存储器是用来存放程序和数据的部件。
           它是一个记忆装置,也是计算机能够实现“存储程序控制”的基础。
	内存
		Flash【DDR4】
	外存
		硬盘、光盘
4:控制器
5:运算器
6:总线 :BUS
  2:嵌入式硬件

与计算机硬件组成基本相似,也有必备的输入输出、存储器、控制器、运算器、总线
在这里插入图片描述

【程序的编译流程】

   1.预处理阶段------>【将.c文件编译为.i文件】
   2.编译阶段------>【.i文件编译为.s文件】

      经过编译后的已经是汇编代码了

   3.汇编阶段------>【.s文件编译为.o文件】

      把汇编语言生成计算机能够识别的机器码,也就是0和1

   4.链接阶段------>【.o文件链接编译为可执行程序a.out】

      若是使用Makefile编译,将会同时编译多个.c文件,这也会产生多个.o文件,
      最后的链接就是把多个.o文件合成编译为一个可执行程序,例如:a.out

【三级存储系统】

所谓三级存储系统,就是【Cache】-【内存】-【硬盘】

先说说硬盘和内存还有Cache的区别:
存储介质特点
硬盘优点:容量大、数据存储安全,掉电不丢失数据; 缺点:读取速度相对较慢
内存优点:读取速度比硬盘快;缺点:掉电后数据丢失,价格比硬盘贵
Cache优点:读取速度最快,快至极; 缺点:成本太高,掉电数据丢失
再说说CPU是如何处理数据的:

上面已经说了,硬盘里的数据掉电后不会丢失,所以不难看出:程序都是存放在硬盘里面的。
或者宏观来说:我们的电脑系统都是存放在硬盘里面的(哈哈,这个谁都知道,毕竟都能看到C盘)。
当我们去执行程序时,程序的数据首先会从硬盘拷贝到内存,然后CPU再去内存访问数据。那么就有同学问了,为啥CPU不直接去硬盘里拿数据呢?
因为CPU的主频很高,读取速度太快,而硬盘的速度远远跟不上CPU的读写速度,举个例子:假设我们用蒸馏法萃取咖啡,肯定不会用嘴一滴一滴在下面接着,因为我们的‘一口’很大,所以会等他萃取到半杯或者一杯时,才会端起来给它一个深渊巨口,一饮而尽。
CPU也是如此,他不可能慢慢地去取硬盘中的数据,而是从同运行频率的内存中去拿。
在这里插入图片描述

那么,为什么要使用三级存储系统呢,Cache是干嘛用的?

CPU说:为甚么要使用三级存储系统,我之前取数据直接就去内存拿了,现在还给我搞这么多繁琐的步骤,这么麻烦?
内存说:你看看,这部分数据你要频繁使用,我就给你直接存进你体内的Cache里面了,这样你就只取一次,然后存进Cache,下次再使用这写数据时就直接自给自足,别来烦我了
CPU说:奥~,好像是有那么一丝道理啊!
内存说:废话,这样能大大提升你的运行效率。

【Cache、内存和硬盘】

在这里插入图片描述
在这里插入图片描述

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值