ARM学习(29)NXP 双coreMCU IMX1160学习----NorFlash 启动引脚选择

ARM学习(28)NXP 双coreMCU IMX1160学习----NorFlash 启动引脚选择

1、多种启动方式介绍

IMX1166 支持多组flexSPI 引脚启动,FlexSPI1以及FlexSPI2,通过boot cfg可以切换FlexSPI得实例。
在这里插入图片描述
每个实例又支持多组引脚,总共又两个组别,每个组别又有两组引脚,分别为PortA+PortB,ROM Code默认是通过黑体引脚去加载Code得。
在这里插入图片描述
实例1得第二组得PORTA+PORTB。
在这里插入图片描述
在这里插入图片描述

通过eUFSE信息可以去配置选择是第几组,且是哪个PORTA或者哪个PORTB。
在这里插入图片描述
eFUSE配置是通过NXP-MCUBootUtility-3.4.0工具来进行操作得。
下载地址:git@github.com:JayHeng/NXP-MCUBootUtility.git

  1. 点击左下角connect,连接成功之后,会变成蓝色,按钮会变成reset device,同时就会连接成功,左下角有日志,显示Flash得相关size信息
  2. 界面中间有eFUSE Operation Utility,可以操作eFUSE信息,eFUSE只可写一次,之后就无法操作,如下图二,可以县级scan,可以读出所有得eFUSE数据,点击Burn,就可以写eFUSE信息
  3. 界面中间得Boot Device Memory,可以对Flash进行读写擦,可以烧录bin或者hex文件下去。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

2、IDE 下载以及Jflash下载代码

两者均是下载程序到Flash中。

2.1 IDE 下载代码(CMSIS DAP)

IDE采用CMSIS DAP下载代码到Flash中,也可以采用JIink方式,但是开发板上面自带得烧录器,可以直接烧录和串口显示。
在这里插入图片描述
在这里插入图片描述
其烧录得Flash Driver是MIMXRT1160_SFDP_QSPI.cfx,默认是实例1得第一组得PortA,如果换乘其他引脚无法烧录,当然其还支持MIMXRT1160_FlexSPI2_A_SFDP_QSPI.cfx,实例2得第一组得PORTA。下载算法跟Flash得位置息息相关,如果Flash得引脚更换,会导致程序无法下载。
在这里插入图片描述
注意:程序如果更新到RAM,可以直接通过下载器 走JTAG协议下进去,但是Flash不行,Flash需要有单独得接口进行操作,比如读写擦,所有下载到FLash得代码,首先需要下载到RAM中一个Flash驱动程序,然后与Flash驱动程序进行通信,然后再把代码下载到Flash中。

IDE得下载算法如这篇文章所示:RT1170 flexSPI1 secondary QSPI flash debug flashdriver。

2.2 JLink下载代码

同样JLink下载到Flash里面得程序,同样需要JLink得Flash驱动程序,不过Jlink得Flash驱动程序和IDE得不一样。
如果要通过JINK下载Flash,支持得引脚也有限,如下图所示,如果引脚不一样,则无法通过jlink下载程序。
在这里插入图片描述
JLink认为他们得下载程序更快,相对传统得FLM Flash驱动程序,就是CMSIS loader开源得Flash下载驱动。具体相关得Flash下载驱动算法,下一章节详细介绍ARM学习(30)JFlash下载Flash程序的理解。
在这里插入图片描述

3、下载到RAM运行

下载最简单的hello wrold程序到RAM中,下图为链接脚本,代码放到SRAM_DTC_cm7位置。
在这里插入图片描述
在这里插入图片描述
现象:一直打印数据。
在这里插入图片描述
操作:trace32直接加载对应的axf文件,就可以直接烧录到RAM上面运行。

SYStem.Down
IF SYStem.Mode()<5
(
  SYStem.CPU IMXRT1166-CM7
  SYStem.up

)
Data.LOAD.Elf "~~~~/evkmimxrt1160_hello_world_cm7.axf"  

在这里插入图片描述
Trace32窗口再新增一个core,然后点击开始,就可以新建一个窗口,可以追踪另外一个cortexm4的行为。
在这里插入图片描述

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

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

相关文章

Linux系统的用户组管理和权限以及创建用户

1.Linux是多用户的操作系统&#xff0c;正如在Windows系统中可以进行用户账号的切换&#xff0c;Linux同样允许多用户操作。在Linux服务器环境中&#xff0c;通常由多名运维人员共同管理&#xff0c;而这些运维人员各自拥有不同的权限和级别。因此&#xff0c;我们可以根据每个…

LeetCode 3011.判断一个数组是否可以变为有序

注&#xff1a;这个题目有序的意思是“升序” 解法一&#xff1a;bubblesort O(nlogn) 核心思想&#xff1a;冒泡每次会将一个数归位到最后的位置上&#xff0c;所以我们如果碰到无法向右交换的数字&#xff0c;即可return false class Solution { public:// 返回一个十进制…

《昇思25天学习打卡营第2天|02快速入门》

课程目标 这节课准备再学习下训练模型的基本流程&#xff0c;因此还是选择快速入门课程。 整体流程 整体介绍下流程&#xff1a; 数据处理构建网络模型训练模型保存模型加载模型 思路是比较清晰的&#xff0c;看来文档写的是比较连贯合理的。 数据处理 看数据也是手写体数…

提高项目透明度:有效的跟踪软件

国内外主流的10款项目进度跟踪软件对比&#xff1a;PingCode、Worktile、Teambition、Tower、Asana、Trello、Jira、ClickUp、Notion、Liquid Planner。 在项目管理中&#xff0c;确保进度跟踪的准确性与效率是每位项目经理面临的主要挑战之一。选用合适的项目进度跟踪软件不仅…

800 元打造家庭版 SOC 安全运营中心

今天,我们开始一系列新的文章,将从独特而全面的角度探索网络安全世界,结合安全双方:红队和蓝队。 这种方法通常称为“紫队”,集成了进攻和防御技术,以提供对威胁和安全解决方案的全面了解。 在本系列的第一篇文章中,我们将指导您完成以 100 欧元约800元左右的预算创建…

Sentinel-1 Level 1数据处理的详细算法定义(三)

《Sentinel-1 Level 1数据处理的详细算法定义》文档定义和描述了Sentinel-1实现的Level 1处理算法和方程,以便生成Level 1产品。这些算法适用于Sentinel-1的Stripmap、Interferometric Wide-swath (IW)、Extra-wide-swath (EW)和Wave模式。 今天介绍的内容如下: Sentinel-1 L…

zookeeper的shell操作

一&#xff1a;启动拽库的shell命令行 zkCli.sh -server localhost:2181 退出&#xff1a;quit 二&#xff1a;查询所有的命令 help 三&#xff1a;查询对应的节点 --查询zk上的根节点 ls / ls /zookeeper 四&#xff1a;查询对应节点的节点信息&#xff08;节点的元数据&a…

idea启动ssm项目详细教程

前言 今天碰到一个ssm的上古项目&#xff0c;项目没有使用内置的tomcat作为服务器容器&#xff0c;这个时候就需要自己单独设置tomcat容器。这让我想起了我刚入行时被外置tomcat配置支配的恐惧。现在我打算记录一下配置的过程&#xff0c;希望对后面的小伙伴有所帮助吧。 要求…

React学习笔记02-----

一、React简介 想实现页面的局部刷新&#xff0c;而不是整个网页的刷新。AJAXDOM可以实现局部刷新 1.特点 &#xff08;1&#xff09;虚拟DOM 开发者通过React来操作原生DOM&#xff0c;从而构建页面。 React通过虚拟DOM来实现&#xff0c;可以解决DOM的兼容性问题&#x…

UNIAPP_ReferenceError: TextEncoder is not defined 解决

错误信息 1、安装text-decoding npm install text-decoding2、main.js import { TextEncoder, TextDecoder } from text-decoding global.TextEncoder TextEncoder global.TextDecoder TextDecoder

MySQL 进阶(三)【SQL 优化】

1、SQL 优化 1.1、插入数据优化 1.1.1、Insert 优化 1、批量插入 插入多条数据时&#xff0c;不建议使用单条的插入语句&#xff0c;而是下面的批量插入&#xff1a; INSERT INTO tb_name VALUES (),(),(),...; 批量插入建议一次批量 500~100 条&#xff0c;如果数据量比…

【CSS in Depth 2 精译】2.6 CSS 自定义属性(即 CSS 变量)+ 2.7 本章小结

文章目录 2.6 自定义属性&#xff08;即 CSS 变量&#xff09;2.6.1 动态变更自定义属性 2.7 本章小结 当前内容所在位置 第一章 层叠、优先级与继承第二章 相对单位 2.1 相对单位的威力2.2 em 与 rem2.3 告别像素思维2.4 视口的相对单位2.5 无单位的数值与行高2.6 自定义属性 …

讲讲 JVM 的内存结构(附上Demo讲解)

讲讲 JVM 的内存结构 什么是 JVM 内存结构&#xff1f;线程私有程序计数器​虚拟机栈本地方法栈 线程共享堆​方法区​注意永久代​元空间​运行时常量池​直接内存​ 代码详解 什么是 JVM 内存结构&#xff1f; JVM内存结构分为5大区域&#xff0c;程序计数器、虚拟机栈、本地…

头歌---数组之Fibonacci数列

一、数组初始化几种方式 1.数组定义时&#xff0c;数组元素全部赋初值 2.部分数组赋初值 >>>>>前三个元素已知初值 >>>>>后三个元素系统自动赋初值为0 注意: 当定义数组时&#xff0c;如果未对它的元素指定过初值&#xff0c;对于内部局部数组…

【openwrt】Openwrt系统新增普通用户指南

文章目录 1 如何新增普通用户2 如何以普通用户权限运行服务3 普通用户如何访问root账户的ubus服务4 其他权限控制5 参考 Openwrt系统在默认情况下只提供一个 root账户&#xff0c;所有的服务都是以 root权限运行的&#xff0c;包括 WebUI也是通过root账户访问的&#xff0c;…

【C++航海王:追寻罗杰的编程之路】哈希的应用——位图 | 布隆过滤器

目录 1 -> 位图 1.1 -> 位图的概念 1.2 -> 位图的应用 2 -> 布隆过滤器 2.1 -> 布隆过滤器的提出 2.2 -> 布隆过滤器的概念 2.3 -> 布隆过滤器的插入 2.4 -> 布隆过滤器的查找 2.5 -> 布隆过滤器的删除 2.6 -> 布隆过滤器的优点 2.7…

视频监控汇聚平台LntonCVS视频集中存储平台解决负载均衡的方案

随着技术的进步和企业对监控需求的增加&#xff0c;视频监控系统规模不断扩大&#xff0c;接入大量设备已成常态化挑战。为应对这一挑战&#xff0c;视频汇聚系统LntonCVS视频融合平台凭借其卓越的高并发处理能力&#xff0c;为企业视频监控管理系统提供可靠的负载均衡服务保障…

6.Neo4j数据库备份

对neo4j数据进行备份、还原、迁移操作时&#xff0c;要关闭neo4j。 将neo4j作为服务使用进行安装&#xff1a; neo4j install-service 先执行上面的命令&#xff0c;才能执行 neo4j stop 数据备份 执行备份命令&#xff1a; neo4j-admin dump --databasegraph.db --to/ne…

C++的入门基础(二)

目录 引用的概念和定义引用的特性引用的使用const引用指针和引用的关系引用的实际作用inlinenullptr 引用的概念和定义 在语法上引用是给一个变量取别名&#xff0c;和这个变量共用同一块空间&#xff0c;并不会给引用开一块空间。 取别名就是一块空间有多个名字 类型& …

Docker基本管理1

Docker 概述 Docker是一个开源的应用容器引擎&#xff0c;基于go语言开发并遵循了apache2.0协议开源。 Docker是在Linux容器里运行应用的开源工具&#xff0c;是一种轻量级的“虚拟机”。 Docker 的容器技术可以在一台主机上轻松为任何应用创建一个轻量级的、可移植的、自给自…