2.1 ARM微控制器是由哪些构成的
2.2 开始时需要准备什么
2.2.1 开发组件,C 编译器组件产品如下
2.2.2 开发板
2.2.3 调试适配板(Keil – ULINK;IAR-- I-Jet;STM Value Line Discover;JTAG/SW仿真器/在线仿真器(ICE);开源板 – ARM的CMSIC-DAP和Coocox的CoLink)
2.2.4 软件设备驱动
2.2.5 示例(Sample Code)
2.2.6 文档和其他资源
2.2.7 其他设备
2.3 软件开发流程
1、IDE开发环境
创建工程 >> 添加文件到工程 >> 设置工程选项 >> 编译和连接 >> flash编程 >> 执行程序和调试
2.4 编译应用程序
2.5 软件流程
2.5.1 轮询架构—当任务复杂且多时反应缓慢效率低
2.5.2-1 中断驱动
2.5.2-2 轮询+中断驱动方式(常见的软件运行架构)
2.5.3 多任务系统
RTOS:任务调度、信号量和消息传递、内存管理、工作模式划分等等
2.6 C程序中的数据类型
提示:①整数在6位或16位微控制器上一般是16位,而在ARM架构上则总是32位。
②这些数据类型在使用前需包含C99标准头文件" stdint.h "
2.7 输入、输出和外设访问
1、初始化流程:①初始化时钟 >> ②初始化GPIO >> ③初始化外设 >> ④中断配置
可在②之后初始化SRAM,也可将③和④放到一起,最后再统一使能中断
2、对外设寄存器的初始化,可通过指针访问,可将外设模块用一个数据结构体定义,这样初始化实例代码量可大大减少。
3、“_IO”、“_I”、“_O”等宏在CMSIS 标准头文件中定义
2.8 微控制接口
USB\UART\IO\LCD的等等都可作为debug接口
2.9 Cortex微控制器软件接口-CMSIS
2.9.1 CMSIS 简介
宗旨:CMSIS 由ARM开发,微控制器和软件供应商可以使用一致的软件结构来开发Cortex微控制器的软件。
目标:①提高软件重用性 ②提高软件兼容性 ③易于学习④独立于工具链 ⑤开发性
CMSIS(Cortex Microcontroller Software Interface Standard)是由ARM推出的一套软件接口标准,旨在提供一致的软件接口和开发工具链支持,简化嵌入式系统的开发过程。以下是CMSIS的主要内容:
核心(Core):CMSIS Core提供了与ARM Cortex-M处理器内核相关的通用功能和接口。它包括了处理器寄存器定义、中断控制器、系统控制寄存器、异常处理等。
DSP库(DSP Library):CMSIS DSP库是一套优化的数字信号处理函数库,提供了常见的信号处理算法,如滤波、FFT、矩阵运算等。这些函数经过优化,可以在ARM Cortex-M处理器上高效地执行。
RTOS API(Real-Time Operating System Application Programming Interface):CMSIS RTOS API定义了一组通用的API,用于在嵌入式系统中实现实时操作系统(RTOS)。它提供了任务管理、信号量、消息队列、定时器等功能,方便开发者使用和移植RTOS。
驱动程序接口(Driver Interface):CMSIS Driver Interface定义了一组通用的驱动程序接口,用于访问外设和硬件资源。它提供了统一的API,使得不同厂商的外设驱动程序可以在不同的MCU上进行移植和重用。
软件组件(Software Components):CMSIS还提供了一些软件组件,如Flash算法、启动文件、调试接口等,用于辅助嵌入式系统的开发和调试。
SVD:CMSIS 系统视图描述,基于XML语言格式,用于描述微控制产品外设集。调试工具供应商根据微控制器供应商提供的CMSIS SVD文件,很快的就能构建外设视图。
除了以上主要内容,CMSIS还包括了一些其他的辅助工具和文档,如CMSIS-Pack、CMSIS-DAP、CMSIS-SVD等,用于支持软件包管理、调试和硬件描述等方面的需求。
2.9.2 CMSIS 所做的标准化
①处理器外设的标准化定义(NVIC\SysTick\MPU\SCB)
②访问处理器特性的标准化函数(API)
③操作特殊指令的标准化函数(例如等待中断 _WFI,用于进入休眠模式)
④系统异常处理的标准化命名
⑤系统初始化的标准函数 (SystemInit(),在startup.s中调用,初始化时钟电路和电源管理寄存器,非强制标准化)
⑥描述时钟频率的标准化变量(变量名称SystemCoreClock,可了解当前设定的SysTick运行频率)文章来源:https://www.toymoban.com/news/detail-849366.html
2.9.3 CMSIS-Core 的组织结构
一般来说可以将CMSIS定位一下几层:
①内核外设访问层。名称定义、地址定义以及访问内核寄存器和内核外设的辅助函数,这是处理器相关的,由ARM提供。
②设备外设访问层。名称定义、外设寄存器的地址定义以及包括中断分配、异常向量定义等的系统设计,这是设备相关的(注意:同一家供应商的多个设备可能会使用同一组文件)由设备供应商定义。
③外设访问函数。访问外设的驱动代码,这是供应商相关的,而且是可选的。由设备供应商提供。
2.9.4 如何使用CMSIS-Core
CMSIS一般由微控制器厂商添加到设备驱动软件包中,我们在使用微控制器调试时其已包含在内。
一般来说需做到以下两点:
①将源文件添加到工程中
②设定头文件搜索路径,并将头文件添加到搜索路径中
文章来源地址https://www.toymoban.com/news/detail-849366.html
到了这里,关于【笔记】ARM M3-M4权威指南第二章《嵌入式软件开发介绍》的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!