本帖最后由 小恩GG 于 2021-8-20 16:46 编辑
【经验分享】RT600 serial boot mode测试 一, 文档描述 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区域上电,然后把dap的image拷贝到对应的区域并且运行dsp。Serial boot模式不可以把image分开下载到不同的RAM,因为下载之后,会直接判断image是否有效并且跳转运行。 下面为SDK helloworld dsp的例程运行情况,可以看到也是能够直接使用serial boot mode下载并且成功运行。 图7 图8 图9 |