文章目录
- 6.1 本地新建工程文件夹
- 6.2 新建工程
- 6.2.1 选择CPU型号
- 6.2.2 在线添加库文件
- 6.2.3 添加文件
- 6.2.4 复制存储器分配文件
- 6.2.5 配置选项卡
- 6.2.5.1 Linker
- 6.2.5.2 Target
- 6.2.5.3 Output 选项卡
- 6.2.5.4 Listing 选项卡
- 6.2.6 下载器配置
版本说明:MDK5.24
6.1 本地新建工程文件夹
可随意命名,该目录下新建 2 个文件夹 Listings 和 Objects
6.2 新建工程
LEIL5新建工程,直接保存在 LED 文件夹下
6.2.1 选择CPU型号
i.MX RT1052 系列开发板选MIMXRT1052DVL5B
没有出现你想要的 CPU 型号,就是你没有添加 RT1052 芯片包
6.2.2 在线添加库文件
不需要在线添加库文件,这里我们点击关掉
6.2.3 添加文件
选择文件 Add 即可
startup_MIMXRT1052.s启动文件
- 系统上电后第一个运行的程序,由汇编编写,C 编程用的比较少,可暂时不管,
这个文件是从固件库里面拷贝而来的,由 NXP 官方提供。
MIMXRT1052.h
- 用户手动新建,用于存放寄存器映射的代码,暂时为空。
main.c
- 用户手动新建,用于存放 main 函数,写入如下空代码
/*
2 * 工程模板 ( 寄存器版本 )
3 */
4 #include "MIMXRT1052.h"
5
6
7 /**
8 * 主函数
9 */
10 int main(void)
11 {
12
13 while (1);
14
15 }
17 // 函数为空,目的是为了骗过编译器不报错
18 void SystemInit(void)
19 {
20 }
SystemInit(), 该 函 数 在 启 动 文 件startup_MIMXRT1052.s 的复位程序中被调用,主要作用是初始化系统时钟,是在固件库里面实现的。
6.2.4 复制存储器分配文件
在 RT1052 的工程中还需要添加一个存储器分配文件,文件名为MIMXRT1052xxxxx_flexspi_nor
文件的原目录:
RT1052 sdk 根目录\devices\MIMXRT1052\arm\MIMXRT1052xxxxx_flexspi_nor
6.2.5 配置选项卡
6.2.5.1 Linker
Linker 选项卡包含对链接器的配置:
- 链接器对 C/C++ 及 ASM 汇编器生成的 *.o 目标文件链接得到最终的可执行程序文件
在Linker 选项卡中我们主要设置链接使用的存储器分配文件。
- KEIL 会根据我们的
- 芯片型号设置一个默认的存储器分配文件
- 我们要使用的是MIMXRT1052xxxxx_flexspi_nor 文件
配置方法是在 Linker 选项框中取消勾选“Use Memory Layout from TargetDialog”选项,然后打开 Scaltter File 栏右侧的按钮把 MIMXRT1052xxxxx_flexspi_nor 添加进去
需要进行修改,点击选项框中的“Edit”按钮会弹出该文件的内容,然后直接编辑即可。
修改如下:
- 把 m_text_size 的值修改为 0x01FFDC00;
- 把 LR_m_rom_config 及 LR_m_rom_ivt 相关的代码使用分号“;”注释掉。
添加忽略警告提示。
- 在同样的选项框下“disable Warnings”添加对忽略 6314 类型警告的配置,否则在后面编译时经常会提示分配的部分存储器没有使用的警告
6.2.5.2 Target
Target 选项卡需要设置不使用浮点运算单元。
- 本芯片包含有浮点运算单元,使用它可以加速浮点类型数据的运算。
- 不过使用浮点运算单元时还需要在代码中添加一些配置,在本教程中,寄存器版的工程只作简单的演示,不做浮点单元的配置
- 以此处我们需要关闭它,不然程序执行会出错
6.2.5.3 Output 选项卡
如果想在编译的过程中生成 hex 文件,那么那 Create HEX File 选项勾上
6.2.5.4 Listing 选项卡
Listing 选项卡中把输出文件夹定位到我们工程目录下的 Listings 文件夹
6.2.6 下载器配置
STM32文章中有过相关描述
之后编译下载即可。