ARM裸机从零开始的学习1--基础概念
来源:互联网 发布:html5单页面静态源码 编辑:程序博客网 时间:2024/06/11 20:05
ARM裸机从零开始的学习1--基础概念
----参考朱有鹏的大讲台的视频课程
以前也有学习过ARM的裸机,并写了几篇文章,但是今天想重新开始学习ARM的裸机,
因为在移植UBOOT的时候,确实出现了一些问题,就是因为当初的ARM的裸机
没有完全的学好,导致移植的时候出现了太多的问题。
1、ARM发展史:
前身为Acorn 艾康电脑,在1978年成立。
1980年苹果电脑开始与艾康电脑合作开发新版的ARM核心。
1985年开发出全球第一款商用RISC处理器,即ARM1
1990年艾康电脑,VLSI的投资。(集成电脑)
1990年ARM诞生Advance RISC Machines RISE(精简指令集)
1991年,ARM推出第一款嵌入式RISC处理器即ARM6
1993年,ARM7在最早的处理器1997年,ARM9TDMI,三星的2440年。
1999年,ARM9E
2001年,ARMv6
2002年,ARM11微架构
2004年,发布ARMv7架构的Cortex系列的处理器,同时推出Cortex-M3
2005年,发布Cortex-A8处理器
09年,推出M0
2010年,推出Cortex-M4、成立Linaro(ARM公司软件的开发),推出Cortex-A15的高性能的处理器。
人家是在三星的目录里面移植的。
2012年,开始64位处理器进程。iPhone5S是最开始用64位的处理器的。
CIRC 和RISC的区别和应用:
优化编译实现 很难 较容易
程序的源代码长度 较短 较长
控制器实现方法 绝大多数为微程序控制 绝对多数为硬布线控制
软件系统的开发时间 较短 较长
2、ARM的几种版本
ARMv4 ARM7
ARMv4 ARM9 S3C2440
ARMv6 ARM11 S3C6410
嵌入式的领域全部拿下
ARMv7 Cortex-M :微控制器,其实就是单片机 STM32
Cortex-A :application应用级的处理器,手机、平板
Cortex-R :realtime实时的处理器,响应的速度比较快
工业、航天等领域
Cortex-A8 S5PV210
Cortex-A9 4412
Cortex-A7 全志A10 A20 A31
Cortex-A15 5250 5450
3、SOC和CPU的区别 & 外设的概念的引入
SOC和CPU的区别
SOC = System on Chip
芯片的发展方向:从CPU到SOC
但是现在已经没有纯粹的CPU了,都是SOC
其实ARM出卖的内核其实就是CPU(还有牛逼的总线)
各种外设是半导体产商自己添加的。
靠CPU里面的控制器来判断的。
SOC: System on Chip 系统在一个片上完成一个电路的系统
上个世纪的芯片:芯片的继承性非常的差:
以前的CPU PCB板
CPU和nand控制器,UART的控制器,LCD控制器,都是物理的继承在一块PCB板子上面。
现在的CPU,虽然是说CPU,但是其实就是SOC芯片:
包含了:NANDFLASH控制器,LCD控制器,UART的串口通信。
外设:Peripheral :外设,这些东西全部都被称为外设。
这就是当年就是这样子的,现在的CPU其实是里面全部都是SOC
里面内置的控制器,再卖一些半导体的厂商,CPU的设计。
芯片内部的总线,因为他做到CPU额内部进去了。
PS:
如果单片机要和网络进行应用的网卡的网络协议栈的内容,
那么最好是应用网卡的网络协议栈的内容
而不是用裸机进行操作网卡的驱动。
全部都是移植网络的协议栈,裸机操纵的,以工作的实战为主。
- ARM裸机从零开始的学习1--基础概念
- ARM裸机从零开始的学习2---基础概念
- 八.ARM裸机学习之S5PV210的时钟系统1(原理概念及框图分析)
- arm裸机代码的学习
- arm的基础概念
- ARM先生对于裸机学习的看法
- 学习arm裸机程序
- arm裸机学习告一段落
- 从零开始学习OpenGL——基础概念
- ARM裸机基础学习--汇编语法和指令
- ARM裸机学习(二)
- ARM裸机部分学习记录
- 十.ARM裸机学习之中断系统1(S5PV210的中断系统详解)
- 一.ARM裸机学习之ARM汇编
- arm处理器裸机开发实战——学习笔记1
- arm处理器裸机开发实战——学习笔记1
- 从零开始ARM裸机开发之建立开发环境
- 从零开始学习SkyNet_概念
- px4基本知识
- py-faster-rcnn/models/pascal_voc/ZF/faster_rcnn_alt_opt/stage1_fast_rcnn_train.pt
- 数字签名(1):RSA
- 【Android】【MTK】MTK系统启动流程
- Fiddler支持捕获Firefox请求
- ARM裸机从零开始的学习1--基础概念
- 新浪面试
- POJ 3111 K Best 01分治
- PHP的exec()函数用法详解
- 微信授权登录以及静默授权
- Kafka笔记基础概念和安装配置
- 【Android】の基础——Volley框架
- [HDU](2570)迷瘴 ---贪心
- 正则表达式 注释