i.MX RT开发笔记-02 | i.MX RT1062开发环境搭建(MDK芯片包NXP SDK详解)
Posted Mculover666
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了i.MX RT开发笔记-02 | i.MX RT1062开发环境搭建(MDK芯片包NXP SDK详解)相关的知识,希望对你有一定的参考价值。
文章目录
一、Keil MDK 开发工具
1. 下载安装Keil-MDK
下载地址(推荐安装MDK 5.30版本):
安装参考教程:
2. MDK芯片包
在 Keil 官网下载 i.MX 1062 最新版本芯片包:https://www.keil.com/dd2/pack/。
安装参考教程:【Keil MDK】(二)Keil MDK中芯片器件包的安装。
安装完成之后,当使用Keil 新建工程时,即可看到对应的芯片选项:
二、MCUXpresso SDK
MCUXpresso SDK 全称 MCUXpresso Software Development Kit,包含用于UART、CAN和PD-BDM的FreeMASTER通信驱动程序,以及示例和相关文档。
MCUXpresso SDK Builder提供了开源的驱动库、中间件、参考示例等,可以定制和下载针对某款处理器的 SDK。
1. 下载SDK
- 选择开发板
- 选择 MIMXRT1062xxxxA,下载最新版本(v2.9.3)版本SDK:
- 自定义SDK
- 下载SDK
- 下载SDK及文档
下载完成:
2. SDK内容
解压SDK,文件内容如下:
2.1. boards
NXP 官方评估版 evkmimxrt1060 示例程序,包括:
- project_template:官方评估板板级配置文件
- driver_examples:各个外设的驱动示例
- cmsis_driver_examples:CMSIS编写的外设驱动示例
- emwin_examples等:各个中间件的示例
- demo_apps:应用程序示例
- ……
2.2. CMSIS
CMSIS软件抽象层(Cortex MicroController Software Interface Standard)是 ARM 为 Cortex-M 内核建立的,包含很多类别。
- CMSIS-Core 使得开发者在使用所有基于 Cortex-M 内核的处理器时,都可以去调用 CMSIS-Core 提供的文件去操作内核寄存器。
- CMSIS-DSP 针对所有带DSP扩展的 Cortex-M 内核,提供了包含各种 DSP 处理的运算库函数。
- CMSIS-RTOS-API:针对所有RTOS内核提供了一层抽象层接口(不包含在此文件夹中)。
2.3. devices
NXP官方提供了一个外设驱动固件库(重点),可以方便的调用API去操作外设。
2.3.1. 寄存器定义文件
fsl_device_registers.h
中是一些预处理文件,用来根据用户定义的CPU类型选择是否包含1062的寄存器定义文件。
MIMXRT1062.h
是RT1602的寄存器定义文件,里面包含了RT1602所有外设的寄存器定义。
MIMXRT1062_features.h
是一些宏定义开关,用来控制 RT1602 的一些功能特性是否开启。
2.3.2. 系统时钟初始化文件
system_MIMXRT1062.h
和system_MIMXRT1062.c
文件提供了 RT1602 时钟配置函数 SystemInit(),并提供了一个全局变量定义 SystemCoreClock,用来表示当前CPU主频。
2.3.3. 启动文件
启动文件startup_MIMXRT1062.S
用来初始化RT1602堆栈环境,使C语言程序可以正常执行,但每个编译器的汇编伪指令不尽相同,所以NXP官方为每种编译器都提供了对应的启动文件。
arm
:Keil-MDK使用的armcc编译器iar
:IAR使用的iarcc编译器gcc
:arm-none-eabi-gcc编译器mcuxpresso
:NXP官方的IDE
除了启动文件,由于 RT1062 内部无Flash,需要下载算法和分散加载文件的配合才能使程序正常运行。
2.3.4. 外设驱动库(重点)
为了使用户方便的操作RT1062中的外设,NXP官方提供了外设驱动库,包括每个外设的操作文件,均以fsl_
开头,其中fsl_common.h
和fsl_common.c
是整个外设驱动库的官方文件,如下:
2.3.5. 其它文件夹
project_template
:提供了板级硬件配置的模板文件;utilities
:NXP官方提供的调试工具,串口输出、命令行、日志等工具;xip
:在 NOR Flash 存储器使用 XIP(executed in place)功能时需要的启动或加载程序;
2.4. docs
SDK相关的一些文档。
2.5. components
NXP官方提供的一些小组件:
2.6. middleware
SDK中适配的一些中间件,比如文件系统、网络协议栈、USB协议栈、GUI等:
2.7. rtos
SDK中适配的RTOS,主要为threadx和freertos:
2.8. tools
SDK中提供的一些开发工具。
综上所述,基于整个SDK提供的内容,项目程序的架构如下:
以上是关于i.MX RT开发笔记-02 | i.MX RT1062开发环境搭建(MDK芯片包NXP SDK详解)的主要内容,如果未能解决你的问题,请参考以下文章
i.MX RT开发笔记-03 | i.MX RT1062地址空间映射
i.MX RT开发笔记-06 | i.MX RT1062 使用 IOMUXC 和 GPIO 点亮LED
i.MX RT开发笔记-08 | i.MX RT1062嵌套中断向量控制器NVIC(按键中断检测)
痞子衡嵌入式:恩智浦i.MX RT1xxx系列MCU启动那些事(11.B)- FlexSPI NOR连接方式大全(RT1160/1170)...