文章目录

  • 第三章-嵌入式系统程序设计
    • 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. 04737 c++ 自学考试2019版 第四章课后练习 程序设计题 2

    /* * 04737 c++ 自学考试2019版 第四章课后练习 * 程序设计题 2 * 需求:为第二章习题设计中的二维坐标系下的类point,重载<< >> */ //标准流 ...

  2. 第四章第八节数据资产盘点-系统数据梳理

    第四章第八节数据资产盘点-系统数据梳理 系统数据梳理在数据字典梳理完成后,一是通过自动化工具,对梳理后的数据字典,评估其质量问题.二是按照认责原则,确定该信息项的所属部门.三是确定数据项的权威系统.这 ...

  3. 972信息检索 | 第四章 国内重要的综合性信息检索系统

    文章目录 第四章 | 国内重要的综合性信息检索系统 中国知网(CNKI) 数据库资源 检索方式 维普咨询网 数据库资源 检索方式 中国高等教育文献保障系统(CALIS) 国家科技图书文献中心(NSTL ...

  4. stm32f103c8t6最小系统电路原理图_嵌入式单片机之STM32F103C8T6最小系统板电路设计参考...

    .STM32F103C8T6最小系统板电路设计 一.电源部分 设计了一个XH插座,以便使用3.7V锂电池供电,接入电压不允许超过6V. 二.指示灯部分 电源指示灯可以通过一个短路帽控制亮灭,以达到节电 ...

  5. 第三,四章 数据库和数据表的(增删改查,重命名等)基本操作

    第三章 数据库的基本操作 第一节:数据库简介 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库: 第二节:显示所有数据库 Show databases; 第三节:创建数据库 Cre ...

  6. stm32f103r6最小系统原理图_stm32f103rct6最小系统原理图

    相关推荐 要点: (1)程序的下载地址改到RAM空间中 (2)程序的debug之前要设定SP,PC指针到R... 发表于 2018-04-04 11:49 • 20次阅读 数字PDA系统整体由硬件电路 ...

  7. stm32f103r6最小系统原理图_stm32最小系统原理及结构组成

    相关推荐 单通道选择:有16个多路通道.可以把转换分成两组:规则的和注入的.在任意多个通道上以任意顺序进行的一... 发表于 2018-04-10 09:15 • 12次阅读 本连载将以STM32F1 ...

  8. 嵌入式linux系统程序设计,嵌入式Linux操作系统CGI程序设计技术

    1 概述 随着互联网应用的普及,越来越多的信息化产品需要接入互联网通过Web页面进行远程访问.嵌入式Web系统提供了一种经济.实用的互联网嵌入式接入方案.这里结合一种嵌入式Web Server BOA ...

  9. 第四章:分支结构程序设计

    说明:程序中用到了逻辑运算符"!",含义是"非". 关系运算符和关系表达式 1.关系运算符 运算符 含义 > 大于 >= 大于等于 < 小于 ...

  10. C Programming学习笔记【谭浩强老师编】(第四章选择结构程序设计)02 逻辑运算符和逻辑表达式

    文章目录 一.逻辑运算符和逻辑表达式 二.条件运算符和条件表达式 举例2.1 三.选择结构的嵌套 举例3.1 四.用switch语句实现多分支结构 举例4.1 举例4.2 五.选择结构程序综合举例 选 ...

最新文章

  1. 任务计划cron、服务管理工具chkconfig/systemctl
  2. new失败跟踪函数_WinDbg预览时间线:调试器中的时间线可以允许用户记录跟踪
  3. python有序数组中删除元素_python刷LeetCode:26. 删除排序数组中的重复项
  4. 文字排版 - bootStrap4常用CSS笔记
  5. ios中解决图片渲染问题
  6. Qt工作笔记-QGraphics重设场景坐标【标签:Qt图形框架】
  7. 一个常用的Android工具库
  8. java 不定参数_Java不定参数
  9. html 调用c#dll中的控件,C#实现反射调用动态加载的DLL文件中的方法和在窗体中加载DLL文件的用户控件...
  10. 用python开发的运维管理系统_Python运维三十六式:用Python写一个简单的监控系统...
  11. uploadify 返回值(回调函数)总结
  12. 魔兽怀旧服最新服务器人口,魔兽世界怀旧服服务器人口查询 魔兽世界怀旧服人口比例普查...
  13. 正交试验minitab
  14. PhotoBulk for Mac(图像批量添加水印工具)
  15. Apollo客户端使用指南
  16. Unity获取物体下的子物体+只获取子物体
  17. Unity 3d Homework 5 打飞碟游戏实现
  18. php 图片上载 wordpress,WordPress 使用 Jcorp上传并裁剪图片作为自定义头像 —— PHP 后台部分...
  19. 未来的计算机绘画图片,电脑绘画——为想象力插上科技的翅膀 二十中附校科技社团电脑绘画作品展...
  20. linux如何终端安装网卡驱动,linux如何安装网卡驱动

热门文章

  1. c语言公共基础知识大全,C语言公共基础知识考点大全
  2. vue + vant实现图片上传加水印
  3. Android Studio 模拟器卡慢、占内存解决方法,kotlinlambda匿名内部类
  4. Premiere快捷键
  5. 一笔“狗”消,“猪”事顺利
  6. CTFhub之web练习
  7. 乔布斯,TED,我的演讲
  8. 自由度高超声速飞行器的建模与控制器设计
  9. CSS小练习3——网页左侧导航栏
  10. 量化冲略在国内的实践历程