i.MX - RT1052调教总结
写在前面:
本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。
用 stlink下载器设置成 CMSIS-DAP模式烧录,出现烧录失败,提示 RDDI-DAP ERROR,可能是由于仿真器烧录速度较快,杜邦线之间的信号会产生串扰,请尝试换短一些的杜邦线,或者把紧密连在一起的杜邦线拉开,也可以尝试降低烧录速度,一般即可正常解决。
参考链接:https://github.com/wuxx/nanoDAP-HS
使用虚拟 U盘模式下载时,将生成的 bin文件拖到开发板模拟出来的 U盘里面,需要先把 Boot Mode设置拨码成 0001,下载完成后,把拨码键变成 0110,使 code从 NOR Flash启动,具体可看下一个描述点。
Note: To download binary into hyper flash and boot from hyperflash directly, following steps are needed: 1. Select the target flexspi_nor_debug or flexspi_nor_release. 2. Compile the project, and get the binaray file "hello_world.bin" 3. Set the SW7: 1 off 2 off 3 off 4 on, then power on the board and connect USB cable to J28 4. Drop the binaray into disk "EVK-MIMXRT" 5. Wait for the disk disappear and appear again which will take around ~10s, then power off the board 6. Set the SW7: 1 off 2 on 3 on 4 off, then power on the board 7. After power on the baord, program has already started to run, reset SW4 is recommended.
若直接用 Keil IDE的 LOAD下载键下载程序,需要把 Boot Mode的拨码键设置为 0110,否者下载完无法从 NOR Flash上启动运行(实际上已经把 code存到 NOR Flash上了,只是 Boot Mode不对,没有引导启动运行)。
Note: To debug in hyper flash in MDK, following steps are needed: 1. Select the target flexspi_nor_debug or flexspi_nor_release. 2. Compile the project. 3. Press F8 or click the download button, to program the application into hyper flash. 4. Set the SW7: 1 off 2 on 3 on 4 off, then power on the board 5. Push SW4 to reset. 6. Start to debug.
NXP提供的所有的例程都可以 debug,所以在调试的时候要选择 debug而不是 down。
release版本的例程是不能用作 debug的,即使能进入 debug模式,但也无法进行信息调试。
xxx_flexspi_nor_sdram_debug/release 类型的目标工程,是指程序下载到 NOR Flash上,堆栈占用的 ram放在 sdram上面,其余类同。
在多工程下,不同的工程目标,选择的分散加载文件,和调试初始化文件,也就是 .scf 文件和 .ini 不同,但同一工程这两个文件请务必选择同名的。
在 Keil IDE中,建多工程目标时,选择带有 ram/sdram的 debug模式配置时,在 Option for Target xxx -> Utilities -> Configure Flash Menu Command中的 Update Target befor Debugging勾选请去掉,否则会出现 Error :flash Download failed -"Cortex-M7"警告。如下图:
sdram mode的工程,在预处理宏中不能出现 XIP_EXTERNAL_FLASH、XIP_BOOT_HEADER_ENABLE以及 XIP_BOOT_HEADER_DCD_ENABLE的宏,这是用来对 NOR Flash进行配置的。
如果用 i.MX RT1050 EVKB评估板跑例程,亦或者做 demo工程,不要下载在官网 board信息上的 SDK demo工程,去官网的在线 SDK生成网页去生成新的 SDK包,目前用的 SDK_2.8.0版本正常。以前的旧版本好像是对应旧板子 EVK的,不过已经弃用,生成的 SDK包选择也要避开它,会有 Deprecated这个注释的。(注意,这里的 B)
在 Option for Target xxx -> Target -> Code Generation的 ARM Compiler选项需要选 version 6(对应的是 SDK_2.8.0,网上大部分的教程用的是 version 5,因为那是旧版本,而且弃用了),同样的 Option for Target xxx -> C/C++ -> Misc Controls也跟网上给出的不一样,这里输入的是 -fno-common -fdata-sections -ffreestanding -fno-builtin -mthumb;其实重建工程,所有配置按官网的例程配置设定就好了。
上面说了 RT1052支持用虚拟 U盘进行对 bin文件下载,在 Keil IDE中 Option for Target xxx -> User的 After Build/Rebuild的 Run #1里填写 fromelf.exe --bin -o “$L@L.bin” “#L”(注意格式为英文格式)并勾选,这样才能在编译后输出 bin文件。如下图:
Option for Target xxx -> Target -> Code Generation -> Floating Point Hardware选项中必须选择 Double Precision选项,否则编译出错;其开关是通过宏(PRINTF_FLOAT_ENABLE=0, SCANF_FLOAT_ENABLE=0, PRINTF_ADVANCED_ENABLE=0, SCANF_ADVANCED_ENABLE=0, )来开关的。
中断号从 MIMXRT1052.h文件里面找,中断服务函数入口向量从启动文件里找,一般都在文件前面不远处。
左边为 MIMXRT1052.h文件,右边为启动文件重建工程时,各种工程的的配置可以参考官方的例程,一般是看 hello world工程跟 led output工程。
如果是自己去移植 FreeRTOS实时操作系统(这里是 v9.0.0版本),需要注意一下的是,使用的 port.c接口文件是使用 ARM_CM4F文件夹里的,虽然说 RT1052是 ARM-CM7内核,但是在 FreeRTOS的 ARM_CM7文件夹里有以下说明:
意思是说对于 r0p1版本的 bug,有一个专门的移植文件(有一个微小的修正),当然,这个文件可以用于所有 M7内核,含已经解决此 bug的高版本内核。
对于高版本 M7内核,推荐使用 M4F里面的移植文件
i.MX - RT1052调教总结相关推荐
- NXP i.MX RT1052介绍
1-NXP i.MX RT1052 连载之 MCU 简介[1]_KiFF的博客-CSDN博客 2-NXP i.MX RT1052 连载之 Boot 简介[2]_KiFF的博客-CSDN博客(重要) 3 ...
- NXP i.MX RT1052 连载之 MCU 简介【1】
一.i.MX 是何物? i.MX RT 系列芯片,是由 NXP 半导体公司推出的跨界处理理器芯片,该系列下又包括 i.MX RT1010. i.MX RT1015. i.MX RT1020. i.MX ...
- 【野火®】i.MX RT1052评测——移植RT-Thread
跨界处理器 i.MX RT1052是i.MX RT系列芯片,是由 NXP 半导体公司推出的跨界处理器芯片,该系列下又包括i.MX RT1020.i.MX RT1050及 i.MX RT1060等子系列 ...
- I.MX RT1052核心板
使用SO-DIMM200接口,所有的信号线基本都引出.核心板集成以太网PHY,HyperFlash,备用QSPI Flash. PCB(4层)截图如下:
- 使用JLink下载 RT1052 (i.MX RT系列芯片)
使用JLink下载 RT1052 (i.MX RT系列芯片) 前言 好久之前使用的jlink下载stm32的程序,后来就改用野火家的DAP了,因为JLink长的太大了带着是在不方便,所以一直使用着 ...
- H7-TOOL脱机烧录器支持1拖4,支持新唐,GD32,MM32,AT32,APM32,CX32,STM32,STM8,i.MX RT,W7500,外置Flash等2020-10-27
大家在使用中,有什么建议,欢迎反馈. 脱机烧录视频效果展示: http://v.qq.com/x/page/p30628h2ou7.html 多款STM8+STM32产品混合烧录展示: http:// ...
- RT-1052学习笔记 - GPIO架构分析
RT-1052学习笔记 - GPIO架构分析 一.RT1052之GPIO与IOMUX 二.GPIO架构分析 分析GPIO的外设框架 库函数操作 1.初始化MUX 2.初始化PAD 3.初始化GPIO外 ...
- 野火 RT1052 移植网卡功能(LAN8720A)
野火 RT1052 移植网卡功能(LAN8720A) 开发环境 RT-Thread: v4.0.2(master) SOC: i.MX RT1050 Board: 野火 RT1052 目的 在 RT- ...
- rt1052 usb速率_如何才能赋予RT1052超级视频编解码能力?
本文导读 Cortex-M7处理器的核心本质为微控制器,却拥有高达600MHz的主频,高密度的512KB TCM SRAM和16MB的高速SDRAM,超快的实时响应,超强处理性能赋予了RT1052视频 ...
最新文章
- 【Python】7种方案,彻底实现可视化图片大小/分辨率控制自由
- 【SpringBoot】查看运行环境中所有的spring bean
- 对传统视觉惯性的颠覆
- Nagios_在不同平台下的安装
- 国际千人基因组计划数据库怎么用起来?
- 用mysql完成的实际案例_mysql完成SQL统计的案例
- 色彩专题——蓝色(blue)_8号招牌档
- 基于边缘AI计算的人员入侵检测CNN算法在实际场景中的应用
- Java程序员的MacBookPro(14寸M1)配置备忘录
- 《SEM长尾搜索营销策略解密》一一2.5 长尾,互联网时代生存的良药
- 手机b站封面提取网站_【软件分享】B站视频提取器
- c语言 猜字游戏,【c语言】 小游戏――猜字游戏
- gets,fgetc,fgets,getc,getchar,putc,fputc,putchar,puts,fputs函数详讲
- nrf52832 comp for sdk 15.2.0
- java 微信接收消息_Java后台与微信公众号交互----接收并处理微信客户端发送的请求...
- 开关电源环路的零极点可以在反馈端补偿吗_开关电源的建模和环路补偿设计(1):小信号建模的基本概念和方法(一)...
- mysql查询余额变化,SQL查询解决方案-逐日余额
- 实战玩客云刷armbian及共享打印机教程
- 统计中文文本中人物出现次数
- 开源节流系列之工程施工篇