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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/733181.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

svm和决策树基本知识以及模型评价以及模型保存

svm和决策树基本知识以及模型评价以及模型保存 文章目录 一、SVM1.1,常用属性函数 二、决策树2.1,常用属性函数2.2,决策树可视化2.3,决策树解释 3,模型评价3.1,方面一(评价指标)3.2&…

MatLab手把手搭建FOC控制环路(全部使用matlab自带模块)

MatLab手把手搭建FOC控制环路(全部使用matlab自带模块) Matlab添加模块只需要在空白处双击鼠标左键,输入模块的名字。 添加PMSM模块: Permanent Magnet Synchronous Machine 参数选择: 添加逆变器Two-Level Conver…

Apple - Cryptographic Services Guide

本文翻译自:Cryptographic Services Guide(更新时间:2018-06-04 https://developer.apple.com/library/archive/documentation/Security/Conceptual/cryptoservices/Introduction/Introduction.html#//apple_ref/doc/uid/TP40011172 文章目录…

python字符串如何删除后几位

1、首先在jupyter notebook中新建一个空白的python文件: 2、然后定义一个字符串,用字符串截取的方式打印出排除最后三个字符的结果,这里的“s[:-3]”的意思就是从字符串取第0个字符至倒数第三个字符的前一个字符,这样就截取了最后…

别再滥用std::async了,strace命令暴露了一个乱开线程问题

用strace查看进程的系统调用后,发现一个std::async滥用问题 问题现象 进程的系统调用clone次数持续增加 使用工具strace发现进程clone系统调用过多且一直在增加 strace -c -p PID问题分析 clone在做什么:创建进程(线程) 查看…

基于Redis和openresty实现高并发缓存架构

目录 概述缓存架构设计实践代码路由业务封装redis 效果 概述 本文是对项目中 QPS 高并发相关问题的一种解决方案,利用 Nginx 与 Redis 的高并发、超低延迟响应,结合 Canal 进行实现。 openrestry官网 当程序需要提供较高的并发访问时,往往需…

算出未来——2024年,计算机相关专业仍是热门

随着高考结束,数百万考生和家长们开始着手专业选择与志愿填报。 选择大学专业不仅关乎未来四年的学习生涯,更可能决定一个人一生的职业方向和人生轨迹。 在众多专业中,计算机相关专业因其广泛的就业前景和不断变化的行业需求,一…

tauri中从前端ts调用rust函数,并异步收到响应结果

在前端是可以异步调用rust代码的,而且还是挺简单的逻辑,一共就三步:定义rust函数,注入到invoke_handler中,在前端调用。有英文能力的可以看官方文档:Calling Rust from the frontend | Tauri Apps 没有英文…

C++拷贝构造函数、运算符重载函数、赋值运算符重载函数、前置++和后置++重载等的介绍

文章目录 前言一、拷贝构造函数1. 概念2. 特征3. 编译器生成默认拷贝构造函数4. 拷贝构造函数典型使用场景 二、运算符重载函数三、赋值运算符重载函数1. 赋值运算符重载格式2. 赋值运算符只能重载成类的成员函数不能重载成全局函数3.编译器生成一个默认赋值运算符重载 四、前置…

WebSocket走私实践(附赠LiveGBS监控系统未授权管理员密码重置)

WebSocket走私实践(附赠LiveGBS监控系统未授权管理员密码重置) 对此,我特别感谢TryHackMe和HackTheBox academy,永远相信和追随英国TryHackMe所教导的网络安全知识,并保持学习 WebSocket走私相关的知识在这里 前段时间学习过htt…

Spring的自动注入(也称为自动装配)

自动注入(也称为自动装配)是Spring框架中的一个核心概念,它与手动装配相对立,提供了一种更简洁、更灵活的方式来管理Bean之间的依赖关系。 在Spring应用程序中,如果类A依赖于类B,通常需要在类A中定义一个类…

[Redis]缓存常见问题解决(缓存穿透、击穿、雪崩一文解决!通俗易懂、代码实战!手把手教你解决缓存问题三兄弟!)

Redis常见问题解决 要求 只用一种缓存技术,从实验点中挑一些试验进行试验原理。 1.缓存原理 目标:理解缓存的基本原理和工作机制。 实验步骤: 阅读各缓存技术机制的文档和官方资料。实现一个简单的应用程序,模拟数据的读写和…

ffmpeg+nginx+video实现rtsp流转hls流,web页面播放

项目场景: 最近调试海康摄像头需要将rtsp流在html页面播放,因为不想去折腾推拉流,所以我选择ffmpeg转hls流,nginx转发,html直接访问就好了 1.首先要下载nginx和ffmpeg 附上下载地址: nginx nginx news ffmpeg htt…

Java开发-面试题-0006-DELETE、VACUUM和TRUNCATE的区别

Java开发-面试题-0006-DELETE、VACUUM和TRUNCATE的区别 更多内容欢迎关注我(持续更新中,欢迎Star✨) Github:CodeZeng1998/Java-Developer-Work-Note 技术公众号:CodeZeng1998(纯纯技术文) …

TF-IDF、BM25传统算法总结

1. TF-IDF算法 F-IDF(词频-逆文档频率)是一种用于衡量文本中词语重要性的方法,特别适用于信息检索和文本挖掘任务。下面会拆分为两部分深入讲解TF-IDF的计算过程,以便更好地理解。 TF-IDF的计算过程可以分为两个主要部分&#xf…

Butter Knife 8

// 部分代码省略… Override public View getView(int position, View view, ViewGroup parent) { ViewHolder holder; if (view ! null) { holder (ViewHolder) view.getTag(); } else { view inflater.inflate(R.layout.testlayout, parent, false); holder new ViewHolde…

Ansible 自动化运维实践

随着 IT 基础设施的复杂性不断增加,手动运维已无法满足现代企业对高效、可靠的 IT 运维需求。Ansible 作为一款开源的自动化运维工具,通过简洁易用的 YAML 语法和无代理(agentless)架构,极大简化了系统配置管理、应用部…

物理层(二)

2.2 传输介质 2.2.1 双绞线、同轴电缆、光纤和无线传输介质 传输介质也称传输媒体,是数据传输系统中发送器和接收器之间的物理通路。传输介质可分为:①导向传输介质,指铜线或光纤等,电磁波被导向为沿着固体介质传播:②)非导向传输介质&…

6月27日云技术研讨会 | 中央集中架构新车型功能和网络测试解决方案

会议摘要 “软件定义汽车”新时代下,整车电气电气架构向中央-区域集中式发展已成为行业共识,车型架构的变革带来更复杂的整车功能定义、更多的新技术的应用(如SOA服务化、TSN等)和更短的车型研发周期,对整车和新产品研…

【yolov8语义分割】跑通:下载yolov8+预测图片+预测视频

1、下载yolov8到autodl上 git clone https://github.com/ultralytics/ultralytics 下载到Yolov8文件夹下面 另外:现在yolov8支持像包一样导入,pip install就可以 2、yolov8 语义分割文档 看官方文档:主页 -Ultralytics YOLO 文档 还能切…