当前位置: 首页 > news >正文

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

相关文章:

  • textarea标签改写为富文本框编辑器KindEditor
  • 基于java+springboot+vue实现的智慧生活商城系统(文末源码+Lw)244
  • JVM 性能分析案列——使用 JProfiler 工具分析 dump.hprof 堆内存快照文件排查内存溢出问题
  • Android网络收集和ping封装库
  • AI大眼萌探索 AI 新世界:Ollama 使用指南【1】
  • windows下mysql修改 my.ini的datadir后 `Access denied`
  • Pentest Muse:一款专为网络安全人员设计的AI助手
  • C语言经典例题-19
  • 民生银行信用卡中心金融科技24届春招面经
  • 日期工具类:获取 当前周 | 上一周 | 下一周 的第一天(周一)和最后一天(周天)
  • sherpa-onnx说话人识别+语音识别自动开启(VAD)+语音识别Python API
  • Win11下安装VS2022失败的解决办法
  • Java编程小练习题目
  • 外包IT运维解决方案
  • CATO原理中的数学与魔术(十四)——流程设计思路与升华
  • Angular 4.x 动态创建组件
  • Fabric架构演变之路
  • Mocha测试初探
  • pdf文件如何在线转换为jpg图片
  • 极限编程 (Extreme Programming) - 发布计划 (Release Planning)
  • 猫头鹰的深夜翻译:JDK9 NotNullOrElse方法
  • 前端性能优化--懒加载和预加载
  • 为视图添加丝滑的水波纹
  • 鱼骨图 - 如何绘制?
  • SAP CRM里Lead通过工作流自动创建Opportunity的原理讲解 ...
  • 策略 : 一文教你成为人工智能(AI)领域专家
  • 机器人开始自主学习,是人类福祉,还是定时炸弹? ...
  • ​如何在iOS手机上查看应用日志
  • #Js篇:单线程模式同步任务异步任务任务队列事件循环setTimeout() setInterval()
  • #我与Java虚拟机的故事#连载07:我放弃了对JVM的进一步学习
  • (WSI分类)WSI分类文献小综述 2024
  • (附源码)计算机毕业设计SSM疫情居家隔离服务系统
  • (附源码)流浪动物保护平台的设计与实现 毕业设计 161154
  • (十二)python网络爬虫(理论+实战)——实战:使用BeautfulSoup解析baidu热搜新闻数据
  • (五十)第 7 章 图(有向图的十字链表存储)
  • (一)Java算法:二分查找
  • (转)C语言家族扩展收藏 (转)C语言家族扩展
  • (转)可以带来幸福的一本书
  • 、写入Shellcode到注册表上线
  • .[backups@airmail.cc].faust勒索病毒的最新威胁:如何恢复您的数据?
  • .Net 6.0 处理跨域的方式
  • .net core 6 集成和使用 mongodb
  • .NET Core SkiaSharp 替代 System.Drawing.Common 的一些用法
  • .net core 实现redis分片_基于 Redis 的分布式任务调度框架 earth-frost
  • .NET 程序如何获取图片的宽高(框架自带多种方法的不同性能)
  • @Autowired 和 @Resource 区别的补充说明与示例
  • @RequestMapping-占位符映射
  • [ Python ]使用Charles对Python程序发出的Get与Post请求抓包-解决Python程序报错问题
  • [Angular] 笔记 16:模板驱动表单 - 选择框与选项
  • [BZOJ] 3262: 陌上花开
  • [BZOJ4554][TJOI2016HEOI2016]游戏(匈牙利)
  • [c++] C++多态(虚函数和虚继承)
  • [C++]unordered系列关联式容器
  • [C++]运行时,如何确保一个对象是只读的
  • [ChromeApp]指南!让你的谷歌浏览器好用十倍!