码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • ARM体系结构基础知识--大纲


    初步了解ARM体系结构,并用作复习、回顾。这一部分MCU工程师必学,结合开发板、芯片手册去学并且要编程实践

    文章目录

        • ARM
          • 一个公司名称
          • 一类微处理器
          • 一种技术
          • ARM产品系列丰富
          • 芯片选型的一般原则
          • ARM的基本数据类型
          • 内核工作模式
          • 存储管理单元MMU
          • 高速缓冲存储器Cache
          • 程序状态寄存器
          • ARM汇编指令和寻址方式
          • ARM汇编程序设计
          • GPIO
          • ARM处理器中断与异常
          • 串行通信
            • 异步串行和同步串行的数据格式
          • PWM定时器
          • 看门狗定时器
          • RTC时钟
          • A/D转换器
          • MCU与外围设备常用的通信协议
            • 串口
            • IIC
            • SPI

    ARM

    一个公司名称
    	从事基于RISC技术的芯片设计开发
    	知识产权供应商
    
    • 1
    • 2
    一类微处理器
    	高性能
    	低功耗
    	低成本
    
    • 1
    • 2
    • 3
    一种技术
    	RISC
    		精简指令集
    			计算机结构更简单
    			处理速度更快速
    			一个周期一条指令,长度固定
    			通用寄存器更多
    				40个寄存器
    					33个通用寄存器
    					6个状态寄存器
    					1个程序计数器
    			通过指令进行寄存器和外部存储器之间的数据传输
    	CISC
    		复杂指令集
    			侧重于硬件执行指令的功能性
    			硬件结构较复杂、成本、芯片体积增加
    			多个周期一条指令,长度不固定
    			有特定目的的专用寄存器
    			直接处理外部存储器中的数据
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    ARM产品系列丰富
    	cortex系列
    		A:高性能
    		R:高实时性
    		M:轻量型、低功耗、低成本
    
    • 1
    • 2
    • 3
    • 4
    芯片选型的一般原则
    	功能
    	性能
    	价格
    	熟悉程度、开发资源
    	操作系统支持
    	升级
    	供货稳定
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    ARM的基本数据类型
    	32位架构
    		字节:8位
    		半字:16位
    		字:32位
    	支持大端、小端两种内存模式
    
    • 1
    • 2
    • 3
    • 4
    • 5
    内核工作模式

    决定哪些寄存器可以操作

    	用户模式
    	特权模式
    		系统模式
    		异常模式
    			快速中断模式
    			外部中断模式
    			特权模式
    			数据访问中止模式
    			未定义指令中止模式
    			监控模式
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    存储管理单元MMU
    	是较高级操作系统移植的前提
    	提供虚拟地址访问
    
    • 1
    • 2
    高速缓冲存储器Cache
    	提升存储性能,当执行写操作时,将数据写入缓存区,等待CPU空闲时,再写入主存储器中对应的位置
    流水线
    	取指令
    	译码
    	取操作数
    	计算
    	写回寄存器
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    程序状态寄存器
    	低八位为控制位,反映处理器工作状态
    
    • 1
    ARM汇编指令和寻址方式
    ARM汇编程序设计
    GPIO
    通用IO接口
    查引脚数据寄存器
    查看地址映射表
    用结构体封装
    通过成员变量访问寄存器
    
    • 1
    • 2
    • 3
    • 4
    • 5
    ARM处理器中断与异常
    7种异常
    复位异常优先级最高
    异常向量表,一般以0x0地址开始
    
    • 1
    • 2
    • 3
    串行通信
    串行
    	一根线,一位一位传输数据
    并行
    	多根线,数据的各个位同时传输
    
    • 1
    • 2
    • 3
    • 4
    异步串行和同步串行的数据格式
    	异步串行
    		指的是字符与字符之间异步,单个字符的每一个二进制位之间是同步的
    		一个信息帧分为四个部分
    			1起始位
    			5~8数据位
    			1奇偶校验位
    			1~2停止位
    	同步串行
    		数据与数据之间的发送,有先后顺序
    		一个信息帧分为三部分
    			2个字符表示起始标志
    			n个连续数据
    			2个字节的循环冗余校验码
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    PWM定时器
    可以定时触发中断、标记事件之间的间隔、输出PWM信号等
    PWM是利用处理器的数字输出来对模拟电路进行控制的技术
    一般由时钟源的信号经过分频器给到定时器
    定时器内部有递减计数器,经过一个时钟周期,产生定时器中断,然后自动装载递减计数器
    通过计算,设置多级分频、输出指定频率的PWM波,驱动无源蜂鸣器
    
    • 1
    • 2
    • 3
    • 4
    • 5
    看门狗定时器
    用于程序异常时,强制重启系统
    
    • 1
    RTC时钟
    通过外部晶振提供毫秒级时钟中断
    
    • 1
    A/D转换器
    技术指标
    	分辨率
    	转换速率
    	量化误差
    	偏移误差
    	满刻度误差
    	线性度
    类型
    	积分型
    	逐次逼近型
    	并行比较/串行比较型
    	电容阵列逐次比较型
    	压频变换型
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    MCU与外围设备常用的通信协议
    串口

    略

    IIC
    	两根线,串行8位全双工,双向通信,可以多主机
    		数据线SDA
    		时钟线SCL
    	总线引脚
    	物理连接
    	信号类型
    		开始信号
    		结束信号
    		应答信号
    	总线时序
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    SPI
    	四线,串行同步,双向通信,一个主机多个从机
    	缺点是没有应答机制
    
    • 1
    • 2
  • 相关阅读:
    OpenCV----Adabins单目深度估计LibTorch推理
    yarn的安装与配置(Windows/macOS)
    2023年软件测试之功能测试(完整版)
    好书赠送丨海伦·尼森鲍姆著:《场景中的隐私——技术、政治和社会生活中的和谐》,王苑等译
    07-Go语言中map数据结构用法
    【备忘】git常用命令
    Kotlin 数据类(Data Class)
    python实现基于smtp发送邮件
    分享一个连接远端计算机与传输文件的脚本
    基于 ARM+FPGA+AD平台的多类型同步信号采集仪开发及试验验证(二)板卡总体设计
  • 原文地址:https://blog.csdn.net/qq_42534809/article/details/126685674
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号