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

  1. 选择开发板
  2. 选择 MIMXRT1062xxxxA,下载最新版本(v2.9.3)版本SDK:
  3. 自定义SDK
  4. 下载SDK
  5. 下载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.hsystem_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.hfsl_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)...

i.MX RT开发笔记-01 | 初识 i.MX RT1062 跨界MCU

i.MX RT开发笔记-05 | 新建 MDK 不同版本工程(SRAM调试版本Nor Flash下载版本)