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

Posted Mculover666

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了i.MX RT开发笔记-05 | 新建 MDK 不同版本工程(SRAM调试版本Nor Flash下载版本)相关的知识,希望对你有一定的参考价值。

系列文章目录

环境说明:

  • MDK版本:5.30
  • SDK版本:2.9.3

一、目的

建立一个最简单的寄存器版本工程,测试在MDK环境下是否可以正常编译和下载。

二、新建MDK寄存器工程

新建工程文件夹

  • MDK-ARM:用于存放MDK工程文件
  • Src:用于存放用户源码文件
  • Inc:用于存放用户头文件

新建工程

添加启动文件

从SDK中devices\\MIMXRT1062\\arm复制启动文件过来:


在MDK中创建Startup分组,并添加启动文件:
=

创建寄存器定义头文件

在本工程中,芯片头文件(用于包含寄存器定义)我们自己写,在Inc文件夹下创建一个空文件MIMXRT1062.h

然后将此路径添加到工程中:

创建并添加main.c

main.c也是自己编写,在 Src 文件夹创建一个空文件即可,添加到MDK工程中:

main.c中暂时编写以下内容:

#include "MIMXRT1062.h"

int main(void)
{

    while (1);
}

void SystemInit(void)
{

}

三、新建MDK不同版本配置

MDK工程可以创建多个 target,所有的 target 共用同一份项目文件,但是配置不同。

1. 用于SRAM调试版本

创建target


将当前工程 Target 名称修改为 ram_debug,表示程序被烧写到RAM中,并且只能用于调试,不用于下载

target设置

使用 ARMCC6 编译器,不开启浮点运算单元:

编译器设置

因为我们初期写的工程都比较简单,为了防止被编译器优化,将优化等级设为0:

链接器设置(重要)

从SDK中复制用于 RAM 中调试程序的链接脚本:

设置链接器使用该文件:


设置完链接文件之后就可以进行编译,警告如图:


这里我们设置忽略该警告:


再次编译,无告警:

Debug调试设置

该工程配置将程序烧写到SRAM中用于调试运行,掉电数据丢失。

从 SDK 的boards\\evkmimxrt1060\\demo_apps\\hello_world\\mdk中复制调试器设置文件:

Debug选项设置如下:

下载器设置

进入CMSIS-DAP下载器设置:

勾选reset and run,无需添加下载算法:

pack中取消使能:

Utilities设置

取消调试前更新目标芯片选项:

开始调试

调试器所有选项设置完毕后,点击调试按钮,成功进入调试:

2. 用于Nor Flash烧写版本

设置并修改链接文件

链接文件也称为分散加载文件,从SDK中复制过来:

设置链接器使用该链接文件:

SDK中的链接文件适用于官方板,这里我们使用的是野火开发板,需要进行修改,点击上图中链接文件选项旁边的Edit

注释该段代码:

设置忽略 6314 类型的编译警告:

编译

此时点击编译,可以编译成功:

下载

imxrt系列内部不带有Flash,需要使用开发板配套的下载算法将程序下载到外挂Flash中,这里先将野火的下载算法复制到Keil软件目录ARM/Flash中:

选择CMSIS-DAP下载器:

点击Setting进入下载器设置:

如果检测不到芯片,需要注意先给板子上电,再给下载器上电

选择并添加野火提供的寄存器版本工程下载算法:

添加下载算法后,增大算法RAM空间:

设置使用目标驱动来下载:

此时,点击下载,下载成功:

以上是关于i.MX RT开发笔记-05 | 新建 MDK 不同版本工程(SRAM调试版本Nor Flash下载版本)的主要内容,如果未能解决你的问题,请参考以下文章

i.MX RT开发笔记-08 | i.MX RT1062嵌套中断向量控制器NVIC(按键中断检测)

i.MX RT开发笔记-02 | i.MX RT1062开发环境搭建(MDK芯片包NXP SDK详解)

i.MX RT开发笔记-04 | i.MX RT1062启动方式

i.MX RT开发笔记-03 | i.MX RT1062地址空间映射

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

痞子衡嵌入式:史上最强i.MX RT学习资源汇总(持续更新中...)