首页 > 其他分享 >AutoC平台搭建指南(基于NXP i.MX RT1170 MCUXPresso开发环境建设 @Like)

AutoC平台搭建指南(基于NXP i.MX RT1170 MCUXPresso开发环境建设 @Like)

时间:2023-09-08 12:38:47浏览次数:46  
标签:AutoC NXP 工程 文件 配置 MCUXpresso IDE MCUXPresso SDK

AutoC平台搭建指南(基于NXP i.MX RT1170 MCUXPresso开发环境建设 @Like)

(2022-11-17)


目录

1. 功能需求

2. 硬件平台

3. 软件工具环境

4. 建设基础

5. 安装开发工具和环境

5.1. MCUXpresso IDE

5.2. i.MX RT1170 SDK

5.3. GUI-Guider-1.4.1-GA

6. 创建应用工程

6.1. 导入SDK例程

6.1.1. 项目SDK配置

6.1.2. Project Settings 项目设置

6.1.3. Board板级配置

6.1.4. Component 软件组件

6.1.5. Device 芯片支持

6.1.6. Drivers 驱动库

6.1.7. Source 项目源文件

6.1.8. Startup 启动文件

6.1.9. Utilities 调试文件

6.1.10. Xip XIP文件

6.1.11. Debug 编译文件

6.2. 创建项目

6.2.1. 第一步 选择开发板和SDK

6.2.2. 第二步 选择SDK组件

6.2.3. 第三步 高级设置

6.2.4. 第四步 项目设置

6.2.5. 第五步 编译项目

6.3. 配置工具

6.3.1. 引脚PIN配置

6.3.2. 时钟CLOCK配置

6.3.3. 外设Peripheral配置

6.3.4. 安全TEE配置

6.3.5. 设备DCD配置

6.4. 编程开发

6.5. 工程调试

6.6. 下载烧写

6.7. 工程进阶

7. 完善工程

7.1. 给应用工程填加驱动

7.2. 给应用加入输入控制

7.3. 编程架构

7.4. 开发注意事项

7.5. 运行效率及空间研究

7.6. 人机交互设计

8. 应用编程

8.1. 生成空的应用框架

8.2. 填加资源

8.3. 流程设计

9. 工程进阶

9.1. SDK库源文件编译成.a或.lib库

9.1.1. 创建库工程

9.1.2. 把完整的SDK库拷贝到工程

9.1.3. 生成.lib文件

9.1.4. 生成IDE的.a文件

9.1.5. 加入.lib静态库文件

9.1.6. IDE中加入.a静态库文件

9.2. bootload启动程序

9.2.1. 从内部启动加载QSPI FLASH应用程序

9.3. ISP在线升级

9.3.1. 应用镜像文件生成与校验(加密)

9.4. 外部FLASH烧写算法

9.5. 从SDRAM调试程序

9.6. 从外部QSPI FLASH调试程序

9.7. 内部FLASH存储数据

9.8. 独立语音文件烧录

9.9. 资源分离与联合调试

9.10. 应用程序剥离资源并单独烧录

10. 外设功能开发

10.1. SAI之WAV语音合成与播放

10.2. DCMI之PAL模拟摄像头

10.2.1. 模拟摄像头设计(TVP5150)

10.2.2. 模拟摄像头设计(ADV7280A)

10.2.3. 模拟摄像头DMA数据采集

10.2.4. 模拟摄像头YUV(yCbCr)转RGB

10.3. I2C触摸屏设计

10.4. USB MSC(U盘)

10.5. SDMC(SD卡)

10.6. UART DEBUG

10.7. SPI接口

10.8. FDCAN

10.9. ADC(及温度检测)

10.10. RTC时钟

10.11. PWM与定时器设计

10.12. 键盘设计

10.13. 文件系统FATS

11. 问题集锦

11.1. 中文显示编译

11.2. ARM编译器

11.3. 生成代码时的BUG


1. 功能需求

基本硬件模块有核心电路(MCU、QSPI FLASH、SDRAM),外设有IO、PWM、扬声器、蜂鸣器、物理按键、SD card、USB、ETH、CAN、RS485、RS232、(TFT液晶显示屏RGB接口和LVDS接口、电容触摸屏、模拟摄像头)等,基本软件功能需求有Baremetal、LC、AI、IO、PWM、USB升级、串行通信、以太网、日志存储(蜂鸣发声、按键事件、中文语音、GUI界面、触摸控制、视频监控)等。

2. 硬件平台

u MIMXRT1170-EVK

u ALIENTEK-RT1052-DB

u EmbedFire-i.MX RT1052 Pro-DB

u MCU-Link

u DAP-Link

u J-Link


3. 软件工具环境

u MCUXpresso IDE V11.6.1_8255

u MCUXpresso Config Tools V12.1

u GUI-Guider-1.4.1-GA V1.4.1

u LVGL V8.2.0

u SDK_2_12_1_MIMXRT1170-EVK V2.12.1

u SDK_2_12_1_EVKB-IMXRT1050 V2.12.1

u SDK_2_12_1_MIMXRT1051xxxxB V2.12.1

u SDK_2_12_1_MIMXRT1176xxxxx V2.12.1

u Tera Term V4.106


4. 建设基础

嵌入式系统开发基本知识

ARM处理器基础知识

C语言、C++语言基础

ARM Cortex-M系列Core基本知识

NXP i.MX RT系列MCU基本知识

5. 安装开发工具和环境

当NXP i.MX RT系列MCU采用MCUXpresso IDE进行开发时,仅需要安装MCUXpresso IDE一个软件就能满足需要。当需要进行HMI界面设计开发时再安装GUI-Guider-1.4.1-GA进行。其余工具可用于其他IDE开发时使用,本文主要介绍MCUXpresso IDE,其他工具仅在需要时简要说明。

5.1. MCUXpresso IDE

前往MCUXpresso IDE页面下载,选择时注意相应的操作系统和IDE版本。建议下载最新版本。

因为MCUXpresso IDE软件内部可以下载SDK,并且集成了MCUXpresso Config Tools,所以当用MCUXpresso IDE开发时紧跟的后两节SDK和Config Tools下载安装可以不用进行。如果需要单独的SDK包和配置工具或者采用其他IDE进行开发时,再按以下两节说明进行下载。

下载后的安装文件“MCUXpresso IDE_11.6.1_8255.exe”直接运行即可安装。安装过程选择指定的安装目录,下一步直到完成。按步骤安装MCUXpresso IDE后,需要设置工作目录workspace,默认代码工程将都在此目录下创建。

首次安装完MCUXpresso IDE后还不能创建i.MX RTxxxx的工程,需要先安装SDK。

打开MCUXpresso IDE,第一次进入欢迎界面,或者通过菜单:帮助-欢迎进入欢迎界面,点Home,点Download and Install ,在IDE中打开SDK安装界面,选择相应的MCU型号或开发板规格,点Install安装,完成后关闭SDK安装界面、关闭欢迎界面,点菜单:窗口-外观-显示工具栏,在工具栏最右边点Develop图标,再点菜单:窗口-显示视图-Installed SDKs,在Installed SDKs栏视图查看已经安装的SDK信息。有了SDK,就可以创建工程了。注意MCUXpresso IDE内部预先安装早期的部分MCU型号的SDK,无需再安装。

打开MCUXpresso IDE,菜单栏中的“配置工具”即为集成的MCUXpresso Config Tools,注意此工具仅当有工程打开时才能使用。

5.2. i.MX RT1170 SDK

SDK Builder网页,自定义和下载MCU芯片或硬件板对应的SDK。

选择时注意MCU型号、操作系统、开发工具、所需部件和库版本等,建议所有部件全选,下载最新版本。

下载后的安装文件“MCUXpresso_Config_Tools_v12.1_x64.exe直接运行即可安装。安装过程选择指定的安装目录,下一步直到完成。

注意独立安装的最新版本MCUXpresso Config Tools不能创建MCUXpresso IDE工程,请使用MCUXpresso IDE内部集成的MCUXpresso Config Tools。

SDK文件说明:

根目录:

boards

板级文件 开发板例程和工程模板

CMSIS

内核文件 ARM通用内核文件和库模板

components

软件组件 常用外部接口电路驱动

devices

MCU芯片文件 芯片外设驱动和IDE工程关联文件

docs

文档 说明文件 SDK和中间件的用户手册

middleware

中间件 协议和处理等三方软件中间件

rtos

嵌入式操作系统 含freertos和azurertos

tools

工具 cmake工具链


boards目录:evkmimxrt1170评估板例程和工程模板,这里面的例程有工程文件的可以直接打开编译,MCUXpresso IDE工程用导入向导,新建拷贝工程再打开编译。

AutoC平台搭建指南(基于NXP i.MX RT1170 MCUXPresso开发环境建设 @Like)_i.MX RT

CMSIS目录:ARM通用内核文件和库模板。这里某些文件头必被包含进工程中使用。

AutoC平台搭建指南(基于NXP i.MX RT1170 MCUXPresso开发环境建设 @Like)_i.MX RT_02

components目录:常用外部接口电路驱动。需要的接口电路驱动可加入工程中使用。

AutoC平台搭建指南(基于NXP i.MX RT1170 MCUXPresso开发环境建设 @Like)_启动文件_03

devices目录:芯片外设驱动和IDE工程关联文件。这个文件夹是SDK的库的核心文件。

AutoC平台搭建指南(基于NXP i.MX RT1170 MCUXPresso开发环境建设 @Like)_启动文件_04

u arm\gcc\iar\mcuxpresso是此芯片各IDE工程对应的启动文件、分散文件等;

u cmsis_drivers 是ARM提供的驱动模板;

u drivers 是此芯片的所有外设驱动;

u project_template 是此芯片工程模板,与配置工具的引脚、时钟、外设文件对应;

u template 内有一个RTE_Device.h文件,是ARM开发的RTE配置模板;

u utilities 是调试用相关源文件;

u xip 是芯片级的xip文件与评估板目录下的xip内的文件一起使用支持xip启动;

u fsl_device_registers.h是芯片型号定义文件

u MIMXRT1176_cm7.c 是芯片寄存器定义文件

u system_MIMXRT1176_cm7.c 是芯片启动初始化文件,由startup_mimxrt1176_cm7.c(或startup_MIMXRT1176_cm7.S)文件调用,主要初始化时钟、浮点运算单元和开启Cache。

注1:XIP即原地执行,就是直接在外部存储器上执行代码(i.MX RT1170内部没有程序存储器FLASH),一般是在外部nor SPI FLASH存储且执行程序代码,xip启动时,FLASH前部必须先放置启动指令字,和指定执行地址,再从指定地址放置代码,为了方便,一般在工程中加入xip文件,加在APP执行文件之前合并一起组成下载到FLASH根地址的镜像。

注2:startup_mimxrt1176_cm7.c(或startup_MIMXRT1176_cm7.S)启动文件,程序入口,从汇编到C需要建立执行环境。这里的启动文件完成堆栈(堆是malloc动态分配内存区,栈是函数调用时局部变量的临时保存区)设置、中断向量表设置;栈指针初始化;调用system_MIMXRT1176_cm7.c文件完成芯片时钟初始化、浮点单元初始化;调用__main函数完成C环境建立即从FLASH存储空间把RW段有初始值全局变量拷贝到RAM执行空间和置零ZI段全局变量;指向中断向量表,如果跳转执行或从FLASH拷贝到(SD)RAM执行还需要拷贝中断向量表重新指定;最后跳转到用户入口main函数。这个过程的顺序在不同的IDE下会略有不同,但是机制和内容相同。

5.3. GUI-Guider-1.4.1-GA

在NXP官网对应的MCU型号下的开发工具栏中选择需要的工具进行下载,GUI-Guider-1.4.1-GA下载后直接安装。此软件工具,用于创建LVGL的工程,并可以进行可视化的界面设计。

6. 创建应用工程

6.1. 导入SDK例程

打开MCUXpresso IDE后,有三个入口可以进入导入例程界面:

u 进入欢迎界面,或点菜单:帮助-欢迎进入欢迎界面,点Home,点Import SDK Examples,点Go straight to the Wizard...

u 点菜单:文件-新建-Import SDK Examples

u 关闭欢迎界面,点菜单:窗口-外观-显示工具栏,在工具栏最右边点Develop图标,点菜单:窗口-显示视图-Quickstart panel,在Quickstart panel栏视图,再点Import SDK Example(s)...

经过以上操作进入SDK Import Wizard界面,先选择MCU型号和开发板型号,界面中会显示选中的SDK版本信息,点下一步,可在Project name prefix栏修改项目名称,在Examples中选择想要导入的例程,比如勾选demo_app下的hello world,其他选项默认,点下一步,注意在同一个工作空间中不能存在同名的工程项目。进入高级设置界面,保持默认选项,存储器配置需要根据实际的硬件进行配置,此处也可以保持默认选项,等创建完工程后,在工程内部进行配置,如果是选用了官方的开发板调试工程此项可不用修改。导入项目可以多选,一次导入多个例程。然后点击完成,创建工程。

例程导入后,点菜单:窗口-外观-显示工具栏,在工具栏最右边点Develop图标,或者点菜单:窗口-显示视图-项目资源管理器,在项目资源管理器栏查看刚才创建已经打开的工程。在项目资源管理器栏对应项目名称上右击可以打开项目工程的设置和操作,最下方的“属性栏”可以对工程的所有需性进行管理。右击选择SDK Management可以打开项目工程的SDK库进行配置管理。

新导入的i.MX RT1170例程(编译后)在MCUXpresso IDE下的工程界面如下图所示:

AutoC平台搭建指南(基于NXP i.MX RT1170 MCUXPresso开发环境建设 @Like)_i.MX RT_05

i.MX RT1xxxx 芯片工程目录中只有Debug以上文件夹才被包含到项目中进行编译,这之下的文件夹仅存在目录中不参与编译。文件夹目录和项目目录evkmimxrt1170_iled_blinky_cm7如下所示:

AutoC平台搭建指南(基于NXP i.MX RT1170 MCUXPresso开发环境建设 @Like)_i.MX RT_06

AutoC平台搭建指南(基于NXP i.MX RT1170 MCUXPresso开发环境建设 @Like)_AutoC_07

项目包含源文件和头文件目录如下所示:

AutoC平台搭建指南(基于NXP i.MX RT1170 MCUXPresso开发环境建设 @Like)_启动文件_08

AutoC平台搭建指南(基于NXP i.MX RT1170 MCUXPresso开发环境建设 @Like)_初始化_09

evkmimxrt1170_iled_blinky_cm7

项目名

导入例程名或自建项目名,根目录


.settings

环境设置

language.settings.xml


Project Settings

项目设置

SDK\Lib\MCU\Memory\Options


Binaries

二进制目标文件

evkmimxrt1170_iled_blinky_cm7.axf


Includes

包含头文件

包含系统库和项目本身头文件目录


CMSIS

ARM CMSIS

ARM Cortex微控制器软件接口标准头文件


board

硬件板级配置

板子引脚、时钟、外设、MPU、DCD等配置


component

软件组件

NXP常用外部接口电路驱动组件


device

芯片支持

本MCU芯片寄存器定义和芯片初始化文件


drivers

驱动库

fsl_开头的芯片底层硬件外设驱动库文件


evkmimxrt1170

生成的镜像

工程项目编译后命令生成的烧录镜像文件


source

项目源文件

本用户工程项目新创建的源文件和头文件


startup

启动文件

IDE工具相关的芯片启动文件,建立C环境


utilities

调试文件

fsl_开头的调试相关源文件


xip

XIP文件

原地执行文件含芯片和板子的配置文件


Debug

编译文件

编译时生成的中间文件和项目编译配置文件


doc

文档

readme.txt项目说明或其他文档类


.cproject

项目名描述

MCUXpresso IDE项目名描述文件


.project

工程文件

MCUXpresso IDE项目工程文件


evkmimxrt1170_iled_blinky_cm7.mex

项目配置文件

本项目生成的配置文件,可用配置工具打开


iled_blinky.mex

原配置文件

原例程中的配置文件



6.1.1. 项目SDK配置

可以对本项目的SDK库重新配置,在项目资源管理器栏对应项目名称上右击选择SDK Management可以打开项目工程的SDK库进行配置管理。

AutoC平台搭建指南(基于NXP i.MX RT1170 MCUXPresso开发环境建设 @Like)_AutoC_10

6.1.2. Project Settings 项目设置

可以查看设置SDK、库类型、MCU型号封装、存储器分配、预处理选项。这里是部分设置的快捷入口,全部的项目设置进入项目属性详细设置。可以在项目名称上右击,点最下方属性进入,也可点菜单:项目-属性进入。也可在下面的Options右击点Edit options直接进入项目设置。打开属性界面在C/C++ Build标签下的Settings进行设置。

AutoC平台搭建指南(基于NXP i.MX RT1170 MCUXPresso开发环境建设 @Like)_启动文件_11

AutoC平台搭建指南(基于NXP i.MX RT1170 MCUXPresso开发环境建设 @Like)_初始化_12

6.1.3. Board板级配置

这个目录下包含板级支持的文件,这些文件可以由Config Tools配置工具生成。包 含有5个源文件和头文件:

l Board: MPU配置;

l Clock_config: 时钟配置;

l Dcd: 设备配置,含EXTRAM初始化;

l Peripherals: 外设配置,外设初始化;

l Pin_mux: 引脚配置。


AutoC平台搭建指南(基于NXP i.MX RT1170 MCUXPresso开发环境建设 @Like)_i.MX RT_13


6.1.4. Component 软件组件

这个目录下包含官方的一些软件组件,组件可以通过SDK组件管理工具进行选择。组件主要包含外围电路驱动例程,官方驱动文件以fsl_开头。

AutoC平台搭建指南(基于NXP i.MX RT1170 MCUXPresso开发环境建设 @Like)_AutoC_14

6.1.5. Device 芯片支持

这个目录下包含本MCU芯片寄存器定义和芯片初始化文件。如MIMXRT1176_cm7.h、system_MIMXRT1176_cm7.c等。

AutoC平台搭建指南(基于NXP i.MX RT1170 MCUXPresso开发环境建设 @Like)_初始化_15


6.1.6. Drivers 驱动库

这个目录下包含MCU芯片外设驱动库文件,以fsl_开头。芯片外设驱动可以通过SDK组件管理工具进行选择。

AutoC平台搭建指南(基于NXP i.MX RT1170 MCUXPresso开发环境建设 @Like)_i.MX RT_16


6.1.7. Source 项目源文件

这个目录下包含本项目的源文件。项目相关的自编写源文件放在本目录下。

AutoC平台搭建指南(基于NXP i.MX RT1170 MCUXPresso开发环境建设 @Like)_启动文件_17


6.1.8. Startup 启动文件

这个目录下包含MCU芯片的启动文件。启动文件中会调用芯片支持文件system_MIMXRT1176_cm7.c。

startup_mimxrt1176_cm7.c启动文件,是程序开始入口,从汇编到C需要建立执行环境。这里的启动文件完成堆栈(堆是malloc动态分配内存区,栈是函数调用时局部变量的临时保存区)设置、中断向量表设置;栈指针初始化;调用system_MIMXRT1176_cm7.c文件完成芯片时钟初始化、浮点单元初始化;调用__main函数完成C环境建立即从FLASH存储空间把RW段有初始值全局变量拷贝到RAM执行空间和置零ZI段全局变量;指向中断向量表,如果跳转执行或从FLASH拷贝到(SD)RAM执行还需要拷贝中断向量表重新指定;再进行芯片初始化,最后跳转到用户入口main函数。这个过程的顺序在不同的IDE下会略有不同,但是机制和内容相同。

AutoC平台搭建指南(基于NXP i.MX RT1170 MCUXPresso开发环境建设 @Like)_i.MX RT_18


6.1.9. Utilities 调试文件

这个目录下包含调试文件。


6.1.10. Xip XIP文件

这个目录下包含板级和芯片级的XIP文件。


6.1.11. Debug 编译文件

这个目录是目标编译生成的文件。包含make文件axf、map和ld文件。

ld文件是生成镜像与存储空间的链接文件,对项目、目标和板都是非常重要的,存储空间的分配、指定存储地址和代码段定义等。

目标设置还可以通过项目属性中的C/C++ Build-Settings页面进行。


AutoC平台搭建指南(基于NXP i.MX RT1170 MCUXPresso开发环境建设 @Like)_初始化_19

6.2. 创建项目

6.2.1. 第一步 选择开发板和SDK

菜单-文件-新建 选择MCUXpresso New C/C++ Project进入SDK新建项目向导,还可通过欢迎HOME页面和Quickstart Panel进入新建向导。

AutoC平台搭建指南(基于NXP i.MX RT1170 MCUXPresso开发环境建设 @Like)_启动文件_20

在左边选择对应MCU,中间选择评估板SDK,下方显示评估板和SDK的相关信息,点下一步。

6.2.2. 第二步 选择SDK组件

这里可以输入项目名称、指定项目位置、选择芯片规格、选择板子、选择开发语言、选择调试口、选择内核,然后选择SDK库内组件。如果选择的组件有依赖或冲突会在顶部的状态栏进行提示,选择组件后,保证没有错误再点下一步。

AutoC平台搭建指南(基于NXP i.MX RT1170 MCUXPresso开发环境建设 @Like)_初始化_21

SDK库可选组件如下表所示:

Operation Systems

操作系统4选1,Azure、AzureFPU、FreeRTOS、Baremetal

默认为裸机

Drivers

MCU芯片外设驱动,所有底层硬件基础库

根据需要选择

CMSIS Drivers

ARM提供的底层驱动模板和DSP库

一般不需要

CMSIS Include

ARM提供MCU基本文件和初始化文件

必须全选

Utilizes

程序调试相关的支持文件

一般可选

Middleware

中间件,包含GUI、USB、WIFI、文件系统、网络协议栈等

根据需要选择

Board Components

板级组件,NXP官方提供的一些板级例程

XIP基本必选

Abstraction Layer

抽象层驱动,典型外围电路的抽象层驱动

一般不需要

Software Components

软件组件,常用外部接口电路驱动

一般不需要

Project Template

项目模板,评估板项目模板、文件系统模板等

一般需要选择

Others

其他文件,包含启动文件和文档类

启动文件必选


Operation Systems

操作系统4选1,Azure、AzureFPU、FreeRTOS、Baremetal

默认为裸机

Drivers

MCU芯片外设驱动,所有底层硬件基础库

根据需要选择

CMSIS Drivers

ARM提供的底层驱动模板和DSP库

一般不需要

CMSIS Include

ARM提供MCU基本文件和初始化文件

必须全选

Utilizes

程序调试相关的支持文件

一般可选

Middleware

中间件,包含GUI、USB、WIFI、文件系统、网络协议栈等

根据需要选择

Board Components

板级组件,NXP官方提供的一些板级例程

XIP基本必选

Abstraction Layer

抽象层驱动,典型外围电路的抽象层驱动

一般不需要

Software Components

软件组件,常用外部接口电路驱动

一般不需要

Project Template

项目模板,评估板项目模板、文件系统模板等

一般需要选择

Others

其他文件,包含启动文件和文档类

启动文件必选

6.2.3. 第三步 高级设置

这里选择C库类型、选择浮点单元、选择编程器、配置存储空间。存储空间、地址大小和存储驱动需要根据硬件设计和空间规划进行配置,详见下表所示:

AutoC平台搭建指南(基于NXP i.MX RT1170 MCUXPresso开发环境建设 @Like)_AutoC_22

设置结束后点完成即生成新的项目工程。

6.2.4. 第四步 项目设置

生成项目工程后,新建的项目工程资源如下所示:

AutoC平台搭建指南(基于NXP i.MX RT1170 MCUXPresso开发环境建设 @Like)_启动文件_23

新建完成的项目可以通过SDK组件管理器重新进行库选择配置。通过SDK生成的项目是依照官方开发板硬件创建的,如果用官方评估板开发调试的项目工程一般不再需要属性设置。当增加自定义源文件或者是非官方的硬件设备新建的项目工程开发调试时,一般需要通过属性设置页面对项目工程特性选项进行设置,属性页见下图所示:

AutoC平台搭建指南(基于NXP i.MX RT1170 MCUXPresso开发环境建设 @Like)_AutoC_24

关键属性项设置内容如下表所示:

资源

项目工程的位置信息,编码格式设置等

无需调整

链接的资源

路径环境变更,链接资源详细信息

无需调整

资源过滤器

文件夹内的文件过滤后不再被包含进项目中

无需调整

Builders

关于构建工具的一些选项

无需调整

C/C++ Build

构建目标配置、目标路径设置及构建属性设置

一般无需调整

Build Variables

构建变更设置

无需调整

Environment

环境变更设置

无需调整

Logging

构建日志文件路径设置

无需调整

MCU Settings

MCU芯片型号和存储空间设置

根据硬件调整

Settings

编译、连接、调试等参数的详细设置

根据项目需要调整

Tool Chain editor

编译工具链的设置

不可调整

C/C++ General

编译器通用设置

无需调整

Code Analysis

代码分析设置

无需调整

Launching

启动方式设置

无需调整

Documentation

文档设置

无需调整

File Types

文件类型设置

无需调整

Formatter

文件格式设置

无需调整

Indexer

索引器设置

无需调整

Language Mappings

语言映射设置

不可调整

Paths and symbols

路径和符号设置

宏定义、头文件、库文件、源文件路径设置,设置与C/C++ Build下Settings内容同步

一般需要调整

Preprocessor

预处理信息

无法调整

Profiling Categories

分析类别

不可调整

MCUXpresso配置工具

Config tools选项设置,只有当工具打开时有效

无需调整

Task Tags

任务标签

无需调整

Validation

验证

无需调整

XML Syntax

XML语法

无需调整

项目性质

项目性质

不可调整

项目引用

项目引用

一般不需要

运行/调试设备

调试工具配置

调试时需要

MCU Settings

MCU SVD设置

无需调整


6.2.5. 第五步 编译项目

最后用Build构建项目,构建完成没有错误和警告,则项目创建成功。此后就可以转入编程和调试了。


6.3. 配置工具

MCUXpresso Config Tools有独立版本,可以用于生成MCUXpresso IDE之外的开发工具的工程,如MDK、IAR、GCC等。MCUXpresso IDE工程不能通过MCUXpresso Config Tools生成,只有用导入例程或新建i.MX RT工程向导生成。MCUXpresso IDE内部集成了MCUXpresso Config Tools,MCUXpresso IDE工程打开后生成MCUXpresso Config Tools的配置文件,直接在MCUXpresso IDE内使用MCUXpresso Config Tools进行配置。

MCUXpresso IDE工程生成配置文件,可以通过点击资料管理器窗口右上角的快捷工具,或者右击工程打开菜单选择MCUXpresso 配置工具选中一项新建和打开。已经创建好的配置文件还可以通过在资料管理器窗口对应工程目录的最下方.mex直接双击打开。引脚、时钟、外设项目中都有“功能组”可配置,功能组名即调用相应功能组的函数名,功能组可选是否包含进代码中调用,引脚在进行硬件配置时,建议采用分组的形式进行,便于代码阅读维护。

AutoC平台搭建指南(基于NXP i.MX RT1170 MCUXPresso开发环境建设 @Like)_AutoC_25

AutoC平台搭建指南(基于NXP i.MX RT1170 MCUXPresso开发环境建设 @Like)_启动文件_26

配置工具可以进行的配置共有5项,如下表所示:

配置项

配置内部

源文件

备注

PIN

引脚

Board\bin_mux.c


CLOCK

时钟

Board\clock_config.c


Peripheral

外设

Board\peripherals.c


TEE

安全

Board\resource_config.c

仅RT11XX系列有

DCD

设备

Board\dcd.c

配置数据非代码


配置完成后进行“更新源代码”,即将配置生成的源码更新到对应的文件,否则源文件内容不变。

AutoC平台搭建指南(基于NXP i.MX RT1170 MCUXPresso开发环境建设 @Like)_启动文件_27

6.3.1. 引脚PIN配置

PIN配置下有引脚、外设信号、电源组三类配置页面。

AutoC平台搭建指南(基于NXP i.MX RT1170 MCUXPresso开发环境建设 @Like)_i.MX RT_28

6.3.2. 时钟CLOCK配置

CLOCK配置可用时钟表或时钟树两种形式配置。

AutoC平台搭建指南(基于NXP i.MX RT1170 MCUXPresso开发环境建设 @Like)_启动文件_29

6.3.3. 外设Peripheral配置

Peripheral配置可选组件和外设分别进行配置。

AutoC平台搭建指南(基于NXP i.MX RT1170 MCUXPresso开发环境建设 @Like)_初始化_30

6.3.4. 安全TEE配置

TEE配置包含有用户内在区域配置和安全访问配置。

AutoC平台搭建指南(基于NXP i.MX RT1170 MCUXPresso开发环境建设 @Like)_i.MX RT_31

6.3.5. 设备DCD配置

DCD配置是设备初始硬件环境的配置数据。

AutoC平台搭建指南(基于NXP i.MX RT1170 MCUXPresso开发环境建设 @Like)_初始化_32


6.4. 编程开发


6.5. 工程调试


6.6. 下载烧写


6.7. 工程进阶



7. 完善工程

7.1. 给应用工程填加驱动


7.2. 给应用加入输入控制



7.3. 编程架构

7.4. 开发注意事项

7.5. 运行效率及空间研究

7.6. 人机交互设计


8. 应用编程

8.1. 生成空的应用框架

8.2. 填加资源


8.3. 流程设计


9. 工程进阶

9.1. SDK库源文件编译成.a或.lib库

9.1.1. 创建库工程


9.1.2. 把完整的SDK库拷贝到工程


9.1.3. 生成.lib文件


9.1.4. 生成IDE的.a文件


9.1.5. 加入.lib静态库文件


9.1.6. IDE中加入.a静态库文件



9.2. bootload启动程序

9.2.1. 从内部启动加载QSPI FLASH应用程序

9.3. ISP在线升级

9.3.1. 应用镜像文件生成与校验(加密)


9.4. 外部FLASH烧写算法

9.5. 从SDRAM调试程序

9.6. 从外部QSPI FLASH调试程序

9.7. 内部FLASH存储数据

9.8. 独立语音文件烧录

9.9. 资源分离与联合调试

9.10. 应用程序剥离资源并单独烧录



10. 外设功能开发

10.1. SAI之WAV语音合成与播放

10.2. DCMI之PAL模拟摄像头

10.2.1. 模拟摄像头设计(TVP5150)

10.2.2. 模拟摄像头设计(ADV7280A)

10.2.3. 模拟摄像头DMA数据采集

10.2.4. 模拟摄像头YUV(yCbCr)转RGB

10.3. I2C触摸屏设计

10.4. USB MSC(U盘)

10.5. SDMC(SD卡)

10.6. UART DEBUG

10.7. SPI接口

10.8. FDCAN

10.9. ADC(及温度检测)

10.10. RTC时钟

10.11. PWM与定时器设计

10.12. 键盘设计

10.13. 文件系统FATS


11. 问题集锦

11.1. 中文显示编译



11.2. ARM编译器

有部分摘自ARM编译器文档对齐部分

对齐的使用:

1.__align(num)

这个用于修改最高级别对象的字节边界。在汇编中使用LDRD或者STRD时

就要用到此命令__align(8)进行修饰限制。来保证数据对象是相应对齐。

这个修饰对象的命令最大是8个字节限制,可以让2字节的对象进行4字节

对齐,但是不能让4字节的对象2字节对齐。

是存储类修改,他只修饰最高级类型对象不能用于结构或者函数对象。


2.__packed  

是进行一字节对齐

不能对packed的对象进行对齐

所有对象的读写访问都进行非对齐访问

及包含float的结构联合及未用__packed的对象将不能字节对齐

对局部整形变量无影响

强制由unpacked对象向packed对象转化是未定义,整形指针可以合法定

义为packed。

则没有意义

对齐或非对齐读写访问带来问题


11.3. 生成代码时的BUG


未完,待续。


标签:AutoC,NXP,工程,文件,配置,MCUXpresso,IDE,MCUXPresso,SDK
From: https://blog.51cto.com/u_16221697/7408140

相关文章

  • AutoC平台搭建指南(基于NXP i.MX RT1170 MCUXPresso开发环境建设 @Like)
    AutoC平台搭建指南(基于NXPi.MXRT1170MCUXPresso开发环境建设@Like)(2022-11-17) 目录1.功能需求2.硬件平台3.软件工具环境4.建设基础5.安装开发工具和环境5.1.MCUXpressoIDE5.2.i.MXRT1170SDK5.3.GUI-Guider-1.4.1-GA6.创建应用工程6.1.导入SDK例程6......
  • [SpringSecurity5.6.2源码分析二]:SecurityAutoConfiguration
    • SecurityAutoConfiguration是SpringSecurity最重要的一个自动配置类• 像以前版本的教程说要在启动类上配@EnableWebSecurity,现在也是由这个自动配置类负责引入• 分析一 已经介绍了DefaultAuthenticationEventPublisher,所以说重点就只有使用@Import导入的三个类,SpringBo......
  • vue~el-autocomplete实现组件化
    el-autocomplete核心参数可以实现异步的数据拉取,从异步返回的数据中,选择需要的结果,并回显到文本框中。fetch-suggestions回调列表,异步的方式获取数据列表,显示在列表框中@select当选中某一项时,会触发这个方法,将数据获取到,这时,我们可以将数据回显,或者赋值给父页面上的元素,如果......
  • Autocad2014下载安装-Autocad2014功能介绍
    Autocad2014注册机是一款专为Autocad2014设计软件提供注册的辅助软件。用户使用Autocad2014zcj可以将未经注册激活的Autocad2014软件成功注册并激活。这款软件操作简单,易于使用,拥有广泛的受众群体,如建筑师、工程师和建筑专业人员等,借助它,可以准确地和客户共享设计数据,体验本地DWG......
  • SpringBoot复习:(44)MyBatisAutoConfiguration
    可以看到MyBatisAutoConfiguration引入了MyBatisProperties这个属性:MyBatisAutoConfiguration中配置了一个SqlSessionFactoryBean,代码如下:可以配置mybatis-config.xml,需要配置文件里指定:mybatis.config-locatinotallow=classpath:/mybatis-config.xml同样可配置MyBatis的xml......
  • SpringBoot复习:(48)RedisAutoConfiguration自动配置类
    RedisAutoConfiguration类代码如下:可以看到在这个类中配置了2个bean:redisTemplate和stringRedisTemplate.而它通过@EnableConfigurationProperties(RedisProperties.class)注解,把配置文件中配置的Redis相关的信息引入进来了,RedisProperties代码如下:还可以看到RedisAutoConfigu......
  • SpringBoot复习:(33)WebMvcAutoconfiguration内部静态类WebMvcAutoConfigurationAdapter
    WebMvcAutoconfiguration内部静态类WebMvcAutoConfigurationAdapter实现了WebMvcConfigurer接口,重写了一些方法,也就是默认对SpringMvc进行了一些配置:该静态类上有个**@Import**注解:@Import(EnableWebMvcConfiguration.class)它的父类DelegatingWebMvcConfiguration,通过注入......
  • [Mac软件]AutoCAD 2024 for Mac(cad2024) v2024.3.61.182中文版支持M1/M2/intel
    下载地址:前往黑果魏叔官网AutoCAD是一款计算机辅助设计(CAD)软件,目前已经成为全球最受欢迎的CAD软件之一。它可以在二维和三维空间中创建精确的技术绘图,并且可以应用于各种行业,如建筑、土木工程、机械制造等领域。AutoCAD允许用户使用命令行或者图形用户界面来创建几何形状,并且可以根......
  • 表单自动填充属性 autocomplete
    摘抄自:HTML属性:autocomplete-HTML(超文本标记语言)|MDN(mozilla.org)表单自动填充不同类型<!--该字段期望该值是一个人的全名--><inputname="name"id="name"autocomplete="name"/><!--该字段期望该值是一个电子邮件值--><inputname="email"id=&q......
  • 网页CAD的mxdraw库实现Autocad中的圆
    前言​Web端显示CAD图纸的应用场景很广泛,单纯的浏览DWG逐渐满足不了用户的实际需求,浏览的同时再加上简单的绘制和批注更符合大家的应用场景,接下来我们讲一下如何利用Mxdraw库实现AutoCAD中的画圆命令。首先我们知道DWG图纸要在网页上显示需要安装转换程序,在测试开始之前,我们要熟......