ARM硬件结构编程 预备知识1

本文介绍了ARM的含义,包括ARM公司及其架构。讲解了裸机编程的概念,并阐述了ARM内核的发展历程,如ARMv7和ARMv8架构。接着区分了指令集、CPU核心、CPU和SoC的不同。以STM32MP157系列为例,提到了其在不同场景的应用。此外,文章还涉及计算机组成原理,如存储器系统、总线结构和处理器的工作模式,以及开发板FS-MP1A的相关信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ARM的含义

ARM一般是有两个含义:

第一就是ARM公司,ARM公司不生产cpu,只进行cpu的框架设计。

第二就是ARM架构,ARM结构就是通常说的cortex-M,cortex-A,cortex-R

什么是裸机编程

裸机编程一般是指在操作系统没有运行之前的一段代码,可以是汇编语言实现,也可以是C语言实现。

BootLoader是一个裸机程序,在Ubuntu上运行的程序不是裸机程序,因为ubuntu是一个操作系统,在Ubuntu上运行的程序是依赖于系统才能运行。

ARM内核的发展

ARM产品在指令集架构有ARMv4,ARMv7和ARMv8,在ARMv7之前所对应的cpu核心名称是ARM7,ARM9,ARM11这种命名方式。在ARMv7的时候,对cpu核心名称进行了调整,改用cortex-A,cortex-M和cortex-R来进行命令,A系列主要用于运行操作系统,性能较好,M系列相较于A系列性能没有A系列高,通常用于单片机开发,R系列主要用于实时控制方面。ARMv8架构支持了64bit的指令集。

指令集、cpu核心、cpu、SoC的区别

指令集通常是指ARMv7指令ARMv8指令等这些指令集架构,这部分定义了整体的架构,例如定义了ARM的工作模式,中断的处理方法,CPU核心是指令集的具体实现,例如Cortex-A7就是根据ARMv7指令集来实现的cpu核心。而STM32MP157则是意法半导体公司根据Cortex-A7的cpu核心设计出来的一款SoC。SoC就是一个芯片除了有CPU之外,还集成了很多控制器单元,例如LCD控制器单元和UART控制器单元等等。

STM32MP157系列

STM23MP157有A、C、D、F几个系列,我们开发板使用的型号为STM32MP157AAA3,该cpu有两个Cortex-A7核心,主频800MHz,一个CortexM4核心主频209MHz,在我们学习一款芯片之前通常需要在该厂商的官方网站下载对应的数据手册,通常需要下载数据手册,参考手册,编程手册和勘误手册。

数据手册:主要就是和硬件特性相关,比如介绍一些硬件特性,软件工程师一般会用它来查管脚。

参考手册:主要是对数据手册的细化,会介绍每个寄存器的使用,与软件开发关系密切。

编程手册:主要讲述和芯片相关的体系结构的一些指令。

刊物手册:主要讲述芯片目前已知的问题。

FS-MP1A开发板

模拟和数字部分

半导体器件的开关特性

逻辑0和1:数字电子电路中用高、低电平来表示

获得高、低电平的基本方法:利用半导体开关元件的导通、截止(即开、关)两种工作状态。

(1)二极管

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值