0.ARM裸机学前补充知识

来源:互联网 发布:组播mac地址有什么用 编辑:程序博客网 时间:2024/04/19 07:46

终于开始学习裸机的课程了,早在半年前就买下了朱老师的课程,今天算是真正开始学了,开始进入嵌入式的初级阶段,之前补过一些C语言的高级使用,希望在学习裸机的同时继续学习C语言。我们学习的是朱有鹏老师的S5PV210开发板,属于ARM-Cortex-A8系列的。在正式学习裸机编程之前朱老师带我们补了一些预备知识,在这我得做一些自己的记录。以后所有裸机的文章的题目的标号都是朱老师课程相应的标号。方便查找。

1.ARM的发展里程碑
(1)ARM的前身为艾康电脑(Acorn),于1978年,在英国剑桥创立。1980年代晚期,苹果电脑开始与艾康电脑合作开发新版的ARM核心。1985年开发出全球第一款商用RISC处理器。即ARM11990年艾康电脑财务危机,收苹果和VLSI的投资,分割出独立子公司Advanced RISC Machines(简称ARM)
(2)1991年,ARM推出第一款嵌入式RISC处理器,即ARM6
1993年,发布ARM7
1997年发布ARM9TDMI
1999年,发布ARM9E
2001年,发布ARMv6架构
2002年。发布ARM11微架构
2004年,发布v7架构的CORtex系列处理器,同时推出Coertex-M3(stm32)
2005年,发布CORtex-A8处理器(S5pv210)
2007年发布Coertex-A9,发布Coertex-M1
2009年,实现Cortex-A9,发布Cortex-M0
2010年,推出Cortex-M4,成立Linaro,推出Cortex-A15MPcore高性能处理器
2011年。推出Cortex-A7。发布ARMv8
2012年,开始64位处理器进程
2.ARM的商业模式和生态模式和生态系统
ARM公司制设计芯片IC,并且把IP出售给半导体厂商进行加工制造。而aem本身比那个不生产芯片。这样一来,促使arm和别的半导体公司形成互相获得利益的关系,而不是竞争关系,有利于arm后期的发展。其实arm公司没钱没发生产芯片。三星买入arm的芯片设计权,自己生产,三星做的非常好,意向也就知道了。三星会做屏幕,CPU,内存,flash,而且做的都不错,所以促使三星做的嵌入式非常好。
3.arm的版本问题
我们要区分一下关于内核版本号,SoC版本号,芯片的纠结,内核版本是ARMv1、armv2、armv7。这些是内核版本号,由arm公司决定,SoC比如:Cortex-A8、Cortex-A9这也是arm公司决定的,芯片版本比如S5PV210,就是有半导体公司决定的(比如三星)。
从ARMv7版本开始,分为三个系列,-M(microconctoller微控制器)用于简单的单片机。-A,(application,应用级别的,用于手机,平板,电脑灯消费电子领域)。-R(realtime,实时控制器,)相应速度快,用于航天,工业等领域。

m系列:M3/M0/M0+/M4(四轴,添加复杂浮点运算)/M7(面向物联网,低功耗)

4.CPU和SoC的关系&内部外设
以前cpu里面是有运算器,控制器,寄存器。像什么内存之类的东西,cpu通过pcb板子上的pcb走线连接起来。这样内存之类的就叫外设。后来随着半导体技术的发展,把一些常用的外设集成到cpu中,这些外设就成为了内部外设,cpu也变成了Soc,(SoC:system on chips),内存发热量太大不能集成到cpu中去,以后解决掉发热的问题,没准也会做进去。我们学习裸机就是学习CPU的汇编指令和他的各种外设。

5.CPU的设计原理、数据总线和地址总线
cpu和内存,flash之间通过三大总线相连接,数据总线,地址总线,控制总线。当cpu要操作内存中的数据时,第一步:通过地址总线找到内存单元,第二步:通过控制总线发出命令,读还是写。第三步:通过数据总线读出/写入数据。我们经常说的cpu是32位的其实指的就是数据总线是32位,CPU的地址总线和数据总线可以不同,(51单片机地址是16位,数据是8位的)但是一般都相同。

通过前期的学习,补上一些关于逻辑的基础,这些知识皮毛而已,但是我感觉这些就够用了。在学习裸机的过程中遇到在来补充吧。

1 0
原创粉丝点击