码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 第三、四章-嵌入式系统程序设计、嵌入式最小系统


    文章目录

    • 第三章-嵌入式系统程序设计
      • 1、ARM常用指令集(ARM\Thumb\Thumb-2)及特点*
        • ARM指令集特点
        • Thumb指令集特点
        • Thumb-2指令集特点
      • 2、ARM指令七种寻址方式
      • 3、熟悉常用指令
      • 4、熟悉条件域的使用
      • 5、子程序及子程序调用
      • 6、CMSIS层次结构
      • 7、启动文件的功能
      • 8、C中的常用运算符<< -> | & != ^ ~
      • 9、嵌入式系统的程序结构(包括OS与第9章结合)
      • 10、ARM汇编、寄存器、固件库对硬件的基本操作步骤
    • 第4章-嵌入式最小系统
      • 1、嵌入式最小系统的组成
      • 2、嵌入式处理器的选型原则:性价比
      • 3、嵌入式最小系统的重要性,如程序下载不了的原因是什么?

    第三章-嵌入式系统程序设计

    1、ARM常用指令集(ARM\Thumb\Thumb-2)及特点*

    59

    ARM指令集特点

    在这里插入图片描述

    Thumb指令集特点

    在这里插入图片描述

    Thumb-2指令集特点

    在这里插入图片描述
    在这里插入图片描述

    2、ARM指令七种寻址方式

    57

    1. 立即寻址
      在这里插入图片描述

    2. 寄存器寻址
      在这里插入图片描述

    3. 寄存器间接寻址
      在这里插入图片描述

    4. 基址加变址寻址
      在这里插入图片描述

    5. 相对寻址
      在这里插入图片描述

    6. 堆栈寻址
      在这里插入图片描述
      在这里插入图片描述

    7. 块拷贝寻址
      在这里插入图片描述

    3、熟悉常用指令

    MOV,ADD,SUB,AND,ORRCMP,B,LDR,STR及LDR伪指令

    算数逻辑运算:MOV,ADD,SUB,AND,ORR
    比较指令:CMP
    分支指令:B
    加载、存储指令:LDR,STR
    伪指令 : ADR、LDR和NOP

    LDR:用MOV无法加载符合要求的32位指令
    功能:将32位常量或一个地址加载到指定寄存器中 。
    格式:LDR{cond} Rd,=[expr|lable-expr]
    在这里插入图片描述

    4、熟悉条件域的使用

    在这里插入图片描述

    5、子程序及子程序调用

    PROC/MOV PC,LR/ENDP/BL
    ARM汇编语言子程序都有一个子程序的名称,也有子程序的返回指令,采用MOV PC,LR返回。

    ENDP ;子程序结束

    在ARM汇编语言程序中,子程序的调用一般是通过BL指令来实现的。
    BL 子程序名

    该指令在执行时完成如下操作:将子程序的返回地址存放在连接寄存器LR中,将程序计数器PC指向子程序的入口点,子程序执行完毕返回调用处时,只要将存放在LR中的返回地址重新拷贝给程序计数器PC。在调用子程序的同时,也可以完成参数的传递和从子程序返回运算的结果,通常可以使用寄存器R0~R3完成。

    6、CMSIS层次结构

    在这里插入图片描述

    在这里插入图片描述

    7、启动文件的功能

    P94
    在这里插入图片描述

    8、C中的常用运算符<< -> | & != ^ ~

    在这里插入图片描述

    P102在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    9、嵌入式系统的程序结构(包括OS与第9章结合)

    (1)基于轮询的处理流程;
    轮询结构适用于简单应用,程序设计上实际上是一个死循环,在这个循环体内,查询满足执行不同条件的任务,查询的次序也决定了任务的优先级。
    在这里插入图片描述

    (2)基于中断驱动的处理流程;
    采用中断驱动方式,是在满足任务处理条件时由外设发一个中断请求,这时微控制器通过中断向量表找出其中断服务程序入口地址,进入中断服务程序中执行相应任务。
    在这里插入图片描述

    (3)基于轮询与中断相结合的处理流程;
    中断处理程序仅做相关标志状态及关键事务的处理,返回后大量的运算处理尽量在主流程中完成。
    在这里插入图片描述

    (4)基于处理并发任务的处理流程。
    使用实时嵌入式操作系统(RTOS)来处理多任务。对于更加复杂的应用程序,可借助于RTOS来处理不同任务。RTOS将处理时间划分为多个时间片,在有多个应用进程运行时,只有一个进程会获得时间片。
    在这里插入图片描述

    10、ARM汇编、寄存器、固件库对硬件的基本操作步骤

    …

    第4章-嵌入式最小系统

    1、嵌入式最小系统的组成

    处理器、供电、时钟、存储、复位、调试
    在这里插入图片描述

    2、嵌入式处理器的选型原则:性价比

    p121

    其选型应该遵循以下总体原则:性价比越高越好。
    (1)性能:应该选择完全能够满足功能和性能要求且略有余量的嵌入式处理器,够用就行。
    (2)价格:在满足需求的前题下选择价格便宜的。
    除了上述总体选择原则外,还可以考虑参数选择原则。可分为功能性参数选择和性能参考选择。

    3、嵌入式最小系统的重要性,如程序下载不了的原因是什么?

    处理器是核心

    供电模块设计是整个系统工作的基础,极其重要。电源模块好,系统故障往往减少一大半。

    嵌入式处理器的工作需要外部或内部提供时钟信号,按照时钟的序列执行。不同处理器要求的时钟最高频率不同,而嵌入式微控制器内部有时钟电路,外部仅需提供晶体和两只电容,加上电源 。

    处理器正常工作必须在上电时能够可靠复位,让CPU找到第一条指令对应的地址去执行。

    现代嵌入式处理器片内都集成了逻辑跟踪单元与调试接口,主要用于开发调试。

    ARM处理芯片内部硬件中除ARM处理器外,最重要的组件就是存储器及其管理组件,用于管理和控制片内的SRAM、ROM和Flash,通过片外存储控制器对片外扩展存储器Flash及DRAM等进行管理与控制。

    程序下载不了,从处理器、供电、时钟、存储、复位、调试接口找原因

    处理器坏了
    供电不正常
    时钟工作异常
    调试接口接错等
    
    • 1
    • 2
    • 3
    • 4
  • 相关阅读:
    Moment.js的常用函数、借助vue和Moment.js实现一个简单的时钟
    【自然场景文字检测与识别】文字检测算法之DBNet
    关于深度学习高维矩阵的形象化理解
    MySQ 学习笔记
    锐捷Ruijie路由器版本升级
    0024 Ugly Numbers UVA - 136 算法竞赛入门经典系列源码解析 算法竞赛入门经典第2版 p120
    前台自动化测试:基于敏捷测试驱动开发(TDD)的自动化测试原理
    RSA密码的手动算法+快速幂算法
    公众号一次性订阅消息
    RocketMQ 详解系列
  • 原文地址:https://blog.csdn.net/weixin_46112690/article/details/124786414
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | 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号