【经验分享】RT600 serial boot mode测试
- 一, 文档描述
- 二, Serial boot mode测试
- 2.1 evkmimxrt685_gpio_led_output 工程测试
- 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:
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:
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