ARM你不得不知道的事

什么是ARM?

ARM ---> Advanced RISC Machine  高级精简指令集计算机的机器

           RISC --- reduced instruction set computer:如:ARM、MIPS、PowerPC

           CISC --- Complex instruction set computer:如:x86、windows、DOS

两者详解:点击打开链接

ARM型号的发展历程




 注意:

上面的横向分开,是soc的版本号为Cortex-A系列,分型号的。

ARMV1等因为年代久远,已经不可考,soc版本号,芯片的型号,查不到了

例如:ARMV4的前期是ARM7,ARMV4的后期是ARM9了

ARMV5用的不多,因为卖给一个公司垄断了。

1.Cortex-M (微型处理器-单片机->stm32)、Cortex-A (应用级处理器-手机、平板、电脑、CPU)、Cortex-R (实时处理器-航天等要求响应速度非常快的领域)

2 .ARM内核版本号和SoC版本号是由 ARM确定的,而SoC型号是由 半导体公司确定的。
3.Cortex系列后ARM产品线分割成3个系列,这个是市场细分的需要和选择。
4.ARM已经发布了一些64位架构如A53等,主要面向高性能服务器类应用,ARM下一步重点发展方向是Cortex-M7,特点是低功耗,主要面向物联网终端。



单片机和嵌入式的区别

芯片平台:
主流的单片机平台:51、PIC、STM32、AVR、MSP430等
主流的嵌入式平台:ARM、PPC、MIPS


应用:

单片机片上资源有限、价格低、应用领域多为小家电、终端设备等。
嵌入式系统片上资源丰富、价格较高、应用领域宽广,譬如智能手机、平板电脑、游戏机、路由器、摄像机、智能电视机、广告


开发模式:
单片机开发多为裸机,程序规模小,多为单个程序员独立开发。有些复杂产品也会使用高端单片机如STM32之类,并使用 RTOS(uCOS、freeRTOS等)
嵌入式开发几乎全部基于嵌入式操作系统,目前使用最多的是 linux和Android


何为交叉编译

非嵌入式开发: A(类)机编写(源代码)、编译得到可执行程序,发布给A(类)机运行。
嵌入式开发: A(类)机编写(源代码)、编译得到可执行程序,发布给B(类)机运行。—(交叉编译   但是交叉编译不便于本机运行调试程序)
特点:
1.必须使用专用的交叉编译工具链。
2.由于可执行程序不能本地运行调试,因此必须配合一定手段(专用调试器、JTAG调试器、USB下载、串口下载、SD启动、网络共享等)将可执行程序加载到目标嵌入式设备上运行及调试。


关于数据总线和地址总线:

1.CPU通过 地址总线寻址,然后通过 数据总线与外部设备互换信息。
2. 地址总线的位数决定CPU寻址范围;数据总线的位数决定CPU单次通信能交换的信息数量;
3.总线的速度决定CPU和外设互换信息的速度。

注意:
1.CPU的地址总线位数和数据总线可以不同(典型代表就是51单片机 地址:16位  数据:8位),但是一般都相同。
2. CPU的位数指的是数据总线的位数。 3.32位CPU寻址的范围是4G,所以最多支持4G内存; 4.数据总线是32位的,所以内存是32位的好,所以编程最好用int··· 结:4G = 2exp32 (2exp30 * 2exp2 ) 2exp10 = K kexp10 = M Mexp10 = G