【经验分享】RT600 serial boot mode测试

【经验分享】RT600 serial boot mode测试

  • [一, 文档描述](#一, 文档描述)
  • [二, Serial boot mode测试](#二, Serial boot mode测试)
    • [2.1 evkmimxrt685_gpio_led_output 工程测试](#2.1 evkmimxrt685_gpio_led_output 工程测试)
    • [2.2 evkmimxrt685_dsp_hello_world_usart_cm33工程测试](#2.2 evkmimxrt685_dsp_hello_world_usart_cm33工程测试)

一, 文档描述

RT600的启动模式共支持4种:

1) Master boot mode

该模式可以实现flexSPI boot, SD boot, eMMC boot, SPI NOR Boot,当app烧录到对应的外部存储器之后,可以使用改模式直接去启动运行。

2) Recovery boot mode

这种模式通常是用于初级启动镜像文件被破坏不能直接启动,然后可以使用SPI NOR/EEPROM内存作为备份区域去启动。

3) Serial boot mode

该启动模式和ISP模式类似,只不过serial boot模式是通过串行接口如SPI, UART, USB HID, I2C等接口把app下载到片上RAM种并直接启动,RT600具有4.5MB的片上RAM,所以也可以借助此模式,通过外部设备直接下载app到RT600片内RAM直接运行,这样可以省掉外部的memory。

4) ISP boot mode

ISP模式支持串口如UART, USB ,SPI等下载代码到外部存储器件。

本篇文章主要针对模式3 serial boot mode的测试讲解。对于存放内部的RAM的空间,需要从0X1C000开始,因为0开始的地方是ROM存放位置。

图1

Serial boot 模式的进入:

ISP2: high, ISP1: high, ISP0: high

对于MIMXRT685, SW5:1-OFF,2-OFF,3-OFF

图2

二, Serial boot mode测试

因为该模式需要将image下载到RT600的内部RAM,所以需要把app存放到内部RAM,本文测试主要使用SDK两个代码:evkmimxrt685_gpio_led_output 和带有dsp的工程evkmimxrt685_dsp_hello_world_usart_cm33。

2.1 evkmimxrt685_gpio_led_output 工程测试

首先定义APP启动地址为RAM的 0X80000,然后生成RAM的代码,并且生成evkmimxrt685_gpio_led_output_0x8000.bin文件供blhost下载使用。

图3

图4

USB线连接MIMXRT685-EVK J7,USB HID 连接,如果需要UART口下载,连接J5。

USB:

c 复制代码
blhost.exe -t 50000 -u 0x1fc9,0x0020 -j -- get-property 1 0
blhost.exe -t 50000 -u 0x1fc9,0x0020 -j -- write-memory 0x80000 evkmimxrt685_gpio_led_output_0x8000.bin

测试结果:

图5

COM:

c 复制代码
blhost.exe -t 50000 -p COM28,115200 -j -- get-property 1 0
blhost.exe -t 50000 -p COM28,115200 -j -- write-memory 0x80000 evkmimxrt685_gpio_led_output_0x8000.bin

图6

当代码下载完成之后,可以发现MIMXRT685-EVK板上的LED灯闪烁,APP代码已经直接运行

2.2 evkmimxrt685_dsp_hello_world_usart_cm33工程测试

有些客户需要使用dsp的代码,咨询是否可以直接下载,官方的SDK代码,cm33工程中把dsp的image.bin直接加载进来,然后等cm33跑起来之后,并且给dsp 的TCM区域上电,然后把dsp的image拷贝到对应的区域并且运行dsp。Serial boot模式不可以把image分开下载到不同的RAM,因为下载之后,会直接判断image是否有效并且跳转运行。

下面为SDK helloworld dsp的例程运行情况,可以看到也是能够直接使用serial boot mode下载并且成功运行。

图7

图8

图9

相关推荐
Go Work24 分钟前
我把 @RefreshScope 挂错了类,新值一直灌不进去
经验分享·笔记
bitbrowser1 小时前
谷歌临时邮箱会过期吗?Gmail别名是否可以重复使用?
经验分享·指纹浏览器
泵管家2 小时前
恒压供水控制器原理、选型与应用完全指南
经验分享·自动化
总线通信小百科3 小时前
车载以太网EOL测试方案:速率识别、链路验证与自动化集成
经验分享·adas
David猪大卫5 小时前
【C++修炼】string类:string类的模拟实现
c语言·开发语言·数据结构·c++·经验分享·笔记·学习
数据库小学妹5 小时前
MySQL内存占用过高怎么排查?分层定位与OOM根因
数据库·经验分享·mysql·内存·oom
总线通信小百科6 小时前
车载以太网转换器品牌对比:速率、接口、API与故障测试能力
经验分享·adas
泵管家7 小时前
循环泵控制器工作原理、选型与应用指南
经验分享·自动化
David猪大卫7 小时前
【C++修炼】STL容器—模板进阶:非类型模板参数、模板特化、模板分离编译
c语言·开发语言·c++·经验分享·笔记·学习·面试
bitbrowser7 小时前
Spotify网页版提示受保护内容未启用,解决思路分享?
经验分享·指纹浏览器