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)二极管