ARM汇编指令和体系结构之4月8号

学习朱老师嵌入式课程第一天

整个编程及运行过程;

程序员用汇编指令编程 --经汇编器汇编成二进制可执行程序文件-->二进制文件被CPU读取进去-->CPU内部电路对二进制文件解码-->解码通过则CPU执行指令、完成指令动作。



汇编语言与C等高级语言的差异;

汇编难写,C好写
汇编无可移植性,C语言有一定可移植性,Java等更高级语言移植性更强。
汇编语言效率最高,C语言次之,Java等更高级语言效率更低。
汇编不适合完成大型复杂的项目,更高级语言更适合完成更大、更复杂的项目

机器指令集是一款CPU的编程特征,是这款CPU的设计者制定的。CPU的内部电路设计就是为了实现这些指令集的功能。机器指令集就好象CPU的API接口一样。

不同CPU的机器指令集设计不同,因此汇编程序不能在不同CPU间互相移植。

RISC和CISC的区别;

complex instruction set computer复杂指令集CPU

Reduced Instruction-Set Computer精简指令集CPU

ARM是RISC架构

ARM是统一编址的

32位ARM CPU支持的内存少于4G,通过CPU地址总线来访问

SoC中的各种内部外设通过各自的SFR编程访问,这些SFR的访问方式类似于访问普通内存,这叫IO与内存统一编址。

ARM是哈佛结构的

哈佛结构保证了ARM CPU运行的稳定性和安全性,因此ARM适用于嵌入式领域

哈佛结构也决定了ARM裸机程序(使用实地址即物理地址)的链接比较麻烦,必须使用复杂的链接脚本告知链接器如何组织程序;对于OS之上的应用(工作在虚拟地址之中)则不需考虑这么多

S5PV210的内存映射详解

S5PV210属于ARM Cortex-A8架构,32位CPU,CPU设计时就有32根地址线&32根数据线。

在S5PV210_UM_REV1.1.pdf数据手册中的cpu的地址空间



DRAM0和DRAM1是真正的内存映射,所以最多支持1.5g的内存

0x0000000是0xd0000000的映射,0x0000000是空的 启动代码在0xd0000000中

内存 用来运行程序的  RAM DRAM SRAM DDR

外存 用来存储数据的 ROM  硬盘   flash【inand ,nand ssd】光盘等

cpu访问内存和外存方式不一样 内存采用地址总线和数据总线的总线式访问方式连接

好处  直接访问,随机访问

坏处  占用cpu的地址空间 大小受限

外存是通过cpu的外存接口来访问

好处 不占用cpu的地址空间

坏处 访问速度慢  要通过时钟来访问外存 访问需要几个周期 访问时序复杂


SoC常用外部存储器

flash    flash分为 norflash和nandflash  


NorFlash 可以总线式访问 价格很高 一般接到 SROM bank 一般用来启动
以下全是 现在的cpu一般都支持从nandflash启动  nandflash分为SLC和MLC

NandFlash 

eMMC/iNand/moviNand

oneNAND三星公司的

SD卡/TF卡/MMC卡

eSSD
  非flash

SATA硬盘


                                         





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值