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

2024-06-21 15:12

本文主要是介绍【经验分享】RT600 serial boot mode测试,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

【经验分享】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

这篇关于【经验分享】RT600 serial boot mode测试的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1081564

相关文章

在 Spring Boot 中实现异常处理最佳实践

《在SpringBoot中实现异常处理最佳实践》本文介绍如何在SpringBoot中实现异常处理,涵盖核心概念、实现方法、与先前查询的集成、性能分析、常见问题和最佳实践,感兴趣的朋友一起看看吧... 目录一、Spring Boot 异常处理的背景与核心概念1.1 为什么需要异常处理?1.2 Spring B

如何在 Spring Boot 中实现 FreeMarker 模板

《如何在SpringBoot中实现FreeMarker模板》FreeMarker是一种功能强大、轻量级的模板引擎,用于在Java应用中生成动态文本输出(如HTML、XML、邮件内容等),本文... 目录什么是 FreeMarker 模板?在 Spring Boot 中实现 FreeMarker 模板1. 环

Spring Boot中JSON数值溢出问题从报错到优雅解决办法

《SpringBoot中JSON数值溢出问题从报错到优雅解决办法》:本文主要介绍SpringBoot中JSON数值溢出问题从报错到优雅的解决办法,通过修改字段类型为Long、添加全局异常处理和... 目录一、问题背景:为什么我的接口突然报错了?二、为什么会发生这个错误?1. Java 数据类型的“容量”限制

SpringBoot请求参数接收控制指南分享

《SpringBoot请求参数接收控制指南分享》:本文主要介绍SpringBoot请求参数接收控制指南,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Spring Boot 请求参数接收控制指南1. 概述2. 有注解时参数接收方式对比3. 无注解时接收参数默认位置

Spring Boot 整合 SSE的高级实践(Server-Sent Events)

《SpringBoot整合SSE的高级实践(Server-SentEvents)》SSE(Server-SentEvents)是一种基于HTTP协议的单向通信机制,允许服务器向浏览器持续发送实... 目录1、简述2、Spring Boot 中的SSE实现2.1 添加依赖2.2 实现后端接口2.3 配置超时时

Spring Boot读取配置文件的五种方式小结

《SpringBoot读取配置文件的五种方式小结》SpringBoot提供了灵活多样的方式来读取配置文件,这篇文章为大家介绍了5种常见的读取方式,文中的示例代码简洁易懂,大家可以根据自己的需要进... 目录1. 配置文件位置与加载顺序2. 读取配置文件的方式汇总方式一:使用 @Value 注解读取配置方式二

Spring Boot 集成 Quartz并使用Cron 表达式实现定时任务

《SpringBoot集成Quartz并使用Cron表达式实现定时任务》本篇文章介绍了如何在SpringBoot中集成Quartz进行定时任务调度,并通过Cron表达式控制任务... 目录前言1. 添加 Quartz 依赖2. 创建 Quartz 任务3. 配置 Quartz 任务调度4. 启动 Sprin

Spring Boot循环依赖原理、解决方案与最佳实践(全解析)

《SpringBoot循环依赖原理、解决方案与最佳实践(全解析)》循环依赖指两个或多个Bean相互直接或间接引用,形成闭环依赖关系,:本文主要介绍SpringBoot循环依赖原理、解决方案与最... 目录一、循环依赖的本质与危害1.1 什么是循环依赖?1.2 核心危害二、Spring的三级缓存机制2.1 三

在Spring Boot中浅尝内存泄漏的实战记录

《在SpringBoot中浅尝内存泄漏的实战记录》本文给大家分享在SpringBoot中浅尝内存泄漏的实战记录,结合实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录使用静态集合持有对象引用,阻止GC回收关键点:可执行代码:验证:1,运行程序(启动时添加JVM参数限制堆大小):2,访问 htt

如何配置Spring Boot中的Jackson序列化

《如何配置SpringBoot中的Jackson序列化》在开发基于SpringBoot的应用程序时,Jackson是默认的JSON序列化和反序列化工具,本文将详细介绍如何在SpringBoot中配置... 目录配置Spring Boot中的Jackson序列化1. 为什么需要自定义Jackson配置?2.