嵌入式学习笔记-1.2节以学部分回顾

1.2.1:讲解了程序是如何演化的并一步一步演化到今天的多种语言的,从01纸条打孔,到汇编指令替代二进制,到C语言,再到如今的java,python,c++,其语言效率递减,但编程复杂度降低,可合作性移植性提高

1.2.2 &1.2.3:RISC精简指令集,CISC复杂指令集,复杂指令集的硬件复杂,因为要通过硬件开发实现大部分的功能,而程序员只需对流出的指令惊醒变成即可,逻辑部分少于精简指令,而RISC的指令集可能只有二十几条,其余的可能都要通过程序实现,灵活度更高,功耗更低

1.2.4统一编址 独立编址 统一编址指的是内存与IO的地址,由于有些是是使用CPU特定指令访问外设,故称之为独立编址,内存通过CPU的数据总线进行寻址定位ARM的特殊功能寄存器,例如gpio寄存器地址,通过统一编址使得我们可以使用地址操作各个外设寄存器,    CPU挂载的内存也打不到最大地址的大小,因为还有一些其他寄存器占用总线地址 

哈佛结构与冯诺依曼结构的区别在于数据的存储方式,哈佛结构的代码与数据是分开存储的,程序存在Flash或ROM中,数据存储一般都在RAM中,而冯诺依曼结构则不进行区分,代码与数据都在内存中

1.2.5  1.2.6一个cpu主要由寄存器,控制器,三种总线构成,寄存器也包括两种,通用寄存器和特殊功能寄存器,ARM特性

1.2.7 主要讲解S5PV210的内存结构,IROM,IRAM的地址,具体观察数据手册可得

1.2.8-11 此节为下节做基础知识铺垫,DRAM,NandFLASH,这类的容量较大价格较低的存储器需要先初始化才能使用,所以根据用途的不同分成了三种情况,

         单片机需要内存量小,所以全部使用SRAM,SRAM的特性是上电即可使用,所以用于启动的程序出厂就被固化到SRAM中,而不需要写boot启动

         PC机使用内存量大,所以全部使用DRAM,通过集成到总线上的Nor Flash里的程序引导cpu,并初始化DRAM,然后DRAM可以初始化外存

         嵌入式系统需要内存量大,因此通过cpu通过片上norflash先加载BL0到SRAM上,然后在BL0阶段通过硬件选择的方式初始化响应的nandflash(统称),通过nandflash中的boot并加载BL1段,BL2段会进行初始化DRAM,分段的主要原因是SRAM大小有限,而设计人员并没法预测开发者的boot会占多大

         BL0,BL1,BL2的启动流程,待机

1.2.12-13 spsr用于保存cpsr lr(r14)保存pc寄存器

              ARM指令(32位) Thump1指令 16位 Thump2指令16+32位   即ARM+Thump指令,这正是目前ARM使用的方式

              ARM的模式分为两种模式,普通模式和特权模式(privilege)特权模式除系统模式外都属于异常模式

             ARM的37个通用寄存器,r0-r14 cpsr 16个+spsr+r15(pc)+ 影子寄存器(banked register)19个

             User模式占17个,r0-r15,cpsr,

            FIQ模式占r8-r14 spsr 8个

             IRQ模式占r13(sp)-r14(lr)spsr  3个

              Abort/SVC/Undef 同上也是每个占3个

            System模式与User模式相同

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值