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

ARM学习(29)NXP 双coreMCU MCXN94学习

笔者来介绍一下NXP 双core板子 ,新系列的mcxn94

1、MCX 新系列介绍

恩智浦 MCU 系列产品包括 Kinetis 、LPC 系列,以及 i.MX RT 系列,现在又推出新系列产品 MCX 产品,包括四个系列,目前已经发布产品的是 MCX N 系列。

  • MCX N 系列,高性能微控制器,面向边缘安全智能微控制器,主要应用在物联网以及工业应用产品。

    • 主频 150MHz 至 250MHz 512KB-2MB
    • 广泛的外设,包括神经处理单元 (NPU) 和 DSP
    • EdgeLock® 安全子系统
    • 智能外设
  • MCX A 系列,主要针对优化成本和上市时间为主要考虑因素的产品。

    • 主频 48 MHz - 180 MHz ,32KB-1MB
    • 内置定时器,引脚数低,单引脚电源
    • 适用于成本受限的应用
  • MCX W 系列,低功耗无线连接产品,支持多协议。

    • 32MHz - 96MHz
    • 多协议无线设备
    • 低功耗BLE、Thread和Zigbee射频器件,面向工业物联网与Matter应用
    • 片上集成减少了外部 BOM
  • MCX L 系列,针对超低功耗应用产品。

    • 50Mhz - 100 MHz,可选 50% 倍频
    • 极低的功耗和漏电
    • 适用于具有低功耗要求的应用
  • MCX C 系列,针对超低功耗应用产品。

    • List item 48MHz,32KB–256KB
    • 易于使用的外设
    • 面向入门级应用的高性价比的设计

笔者来看一下MCXN947的框图,如下图所示,需要的组件直接看下图

  • CPU0和CPU1 都是Cortexm33 内核,ARMv8-M架构,150MHZ,不过Core0的内核支持的外设组件更多,支持DSP、FPU、DSP、ETM和TrustZone, and coprocessor interface。
  • 2MB的内部FLash 512KB的SRAM
  • 支持系统组件、安全组件、Debug组件、通信组件、模拟组件和timers组件

在这里插入图片描述

2、MCXN94内存映射

MCXN994的内存如下图所述:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注意:上述空间安全和非安全的空间是重叠的。
在这里插入图片描述

  • 0x0 - 0x001FFFFF:internal Flash 地址,2MB Size,分为两个bank,可配置,每个bank 是1MB,看上图可以看到,目前每个Program Flash均是1MB,N947是2MB,N946是1MB,可以看数据手册。

  • 0x08000000 -0xFFFFFFF:FlexSPI 外设,可接Norflash,存放代码,最大128MB,与0x80000000 外设地址重叠

  • 0x10000000 - 0x 101FFFFF:internal Flash 地址,2MB Size,分为两个bank,可配置,每个bank 是1MB,与上面0x0 重叠

  • 0x13000000 - 1303FFFF: ROM Code的地址

  • 0x14000000 - 0x14017FFF:RAMX,code bus总线上面,适合放code代码

  • 0x18000000 - 0x1FFFFFFF:FlexSPI 外设,可接Norflash,存放代码,最大128MB,与0x90000000 外设地址重叠

  • 0x20000000 0x20007FFF :RAMA - RAMH地址,RAM,可以用到存放core1的代码,以及一部分当中共享空间

    • RAMA相对特殊,被分为4个bank,每个bank8K,可以在低功耗场景下作为retaintion for data,每个bank都是独立编程的电源控制 ,不支持ECC
    • 其他bank都有独立的电源开关,可以根据需要进行开关,RAMG和RAMH作为ECC数据空间

下图为 RAM空间配置ECC的设置,

  • 可以看到RAMX 和RAMB 使用RAMH进行ECC数据空间,默认这两块校验是开着的,所以RAMH无法作为数据访问
  • RAMC、D、E、F使用RAMG作为ECC数据校验
  • RAMA 没有ECC数据校验

在这里插入图片描述
在这里插入图片描述

下图分别为core0和core1的内存空间分布:
Flash:768KB的FLash
RAM0:304KB的RAM空间
RAM1:104KB的RAM空间,用来存放core1的代码
RAM3:共享空间代码
在这里插入图片描述
在这里插入图片描述

cache部分:

  • 由memory map地址上面 可以看到地址的cache 部分,Flash部分才有Cache,RAM部分均不被cache
  • 分为两种cache,一种是LPCAC,低功耗的cahce,针对所有的flash地址(包括内部flash + flex spi flash),大小为16KB,SYSCON LPCAC Control (LPCAC_CTRL) register可以配置本cache,如下图第一张图
  • 一种是CACHE64,只针对FlexSPI的地址范围,大小为16KB, CACHE64_POLSE寄存器可以配置cache属性,如下图第二种图

在这里插入图片描述
在这里插入图片描述
CPU型号对应的外设资源如下图所示:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、mcxn94 启动方式

启动方式就两种:内部Flash Boot,ISP Boot。通过ISPMODE(P06) 引脚决定。

  • 从flash 启动会寻找有效Image,如果使能恢复Image Flash,会从恢复ImageFlash里面找,如果还找不到,就进入ISP 模式
  • 从ISP Boot,可以UART/IIC/SPI/USB支持下载代码
    在这里插入图片描述
    ISP 下载时,配置引脚可以决定下载方式,也可以禁止ISP模式,
    在这里插入图片描述
    在这里插入图片描述

3.1 boot device

boot device:从内部flash boot,外部Flash FlexSPI NorFlash boot(偏移是0x1000),SPI Flash Nor Recovery Boot,第二个bootloader Boot。

在这里插入图片描述
基于BOOT SRC可以决定是从内部flash还是外部Flash boot。

3.2 Internal Flash Boot

内部Flash的boot流程如下图所示:
在这里插入图片描述

  • 支持双ImageBoot,根据Image Header在0x24为处理版本来决定

3.3 external Flash Boot

外部Flash从FlexSPi Flashboot,需要在0x400 有FCB信息,512Byte。
在这里插入图片描述
在这里插入图片描述
boot流程如下:
在这里插入图片描述

4、mcxn94 代码下载

5、参考

1、恩智浦新系列产品 MCX系列产品
2、MCXNx4xRM-MCXN947 用户参考手册

相关文章:

ARM学习(29)NXP 双coreMCU MCXN94学习

笔者来介绍一下NXP 双core板子 ,新系列的mcxn94 1、MCX 新系列介绍 恩智浦 MCU 系列产品包括 Kinetis 、LPC 系列,以及 i.MX RT 系列,现在又推出新系列产品 MCX 产品,包括四个系列,目前已经发布产品的是 MCX N 系列。…...

视频剪辑免费素材哪里能找到?

在创作视频时,素材的选择至关重要。为了让您的项目更具吸引力和专业性,我整理了8个剪辑必备素材网站,它们提供了丰富多样的资源,从高清视频到优质音乐,应有尽有。让我们一起探索这些资源丰富、质量上乘的平台&#xff…...

多线程为什么是你必需要掌握的知识

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、多线程是什么?二、多线程学习的必要性1.提升代码性能2.更优秀的软件设计和架构3.更好的工作机会 总结 前言 相信每一位开发者,都应…...

转转上门履约服务拆分库表迁移实践

文章目录 1 背景2 数据迁移方案2.1 方案一:双写新旧库2.2 方案二:灰度开关切换新旧库 3 迁移细节3.1 业务代码改造3.2 数据同步3.3 数据一致性校验 4 总结5 参考资料 1 背景 随着业务不断发展,一个服务中部分功能模块适合沉淀下来作为通用的…...

upload-labs 1-19关 攻略 附带项目下载地址 小白也能看会

本文章提供的工具、教程、学习路线等均为原创或互联网收集,旨在提高网络安全技术水平为目的,只做技术研究,谨遵守国家相关法律法规,请勿用于违法用途,如有侵权请联系小编处理。 环境准备: 1.靶场搭建 下…...

如何设置SQL Server的端口:详细步骤指南

如何设置SQL Server的端口:详细步骤指南 在SQL Server中,配置端口是确保数据库服务能够正确通信的重要步骤。无论是为了提高安全性还是满足特定的网络配置需求,正确设置SQL Server的端口都是必要的。本文将详细介绍如何设置SQL Server的端口…...

昇思25天学习打卡营第16天|Diffusion扩散模型,DCGAN生成漫画头像

Diffusion扩散模型 关于扩散模型(Diffusion Models)有很多种理解,本文的介绍是基于denoising diffusion probabilistic model (DDPM),DDPM已经在(无)条件图像/音频/视频生成领域取得…...

【吊打面试官系列-Dubbo面试题】Dubbo SPI 和 Java SPI 区别?

大家好,我是锋哥。今天分享关于 【Dubbo SPI 和 Java SPI 区别?】面试题,希望对大家有帮助; Dubbo SPI 和 Java SPI 区别? JDK SPI JDK 标准的 SPI 会一次性加载所有的扩展实现,如果有的扩展吃实话很耗时&…...

7.31 Day13 网络散记(http,https...)

http固定对应80端口 https固定对应443端口...

LumaLabs 用例和应用分析

介绍 LumaLabs AI 是一家尖端技术公司,通过创新使用人工智能 (AI) 和神经渲染技术,彻底改变了 3D 内容创作领域。本报告深入探讨了 LumaLabs AI 的各种用例和应用,重点介绍了其在不同行业中的能力、优势和潜在影响。 LumaLabs AI 概述 LumaL…...

leetcode88.合并两个有序数组(简单题!)

思路&#xff1a;合并两个数组&#xff0c;再进行排序&#xff08;利用快速排序&#xff09; class Solution(object):def quicksort(self, num, i, j):if i>j: # 跳出循环的条件要出来return left iright jtemp num[i]while left < right:while left < right and…...

鸿蒙(HarmonyOS)DatePicker+TimePicker时间选择控件

一、操作环境 操作系统: Windows 11 专业版、IDE:DevEco Studio 3.1.1 Release、SDK:HarmonyOS 3.1.0&#xff08;API 9&#xff09; 二、效果图 可实现两种选择方式&#xff0c;可带时分选择&#xff0c;也可不带&#xff0c;使用更加方便。 三、代码 SelectedDateDialog…...

2024年和2025年CFA FRM CAIA ESG自己整理的资料

本人金融女一枚&#xff0c;CFA FRM CAIA ESG已过&#xff0c;研究生学历&#xff0c;职位投资经理。从事金融快5年了&#xff0c;月薪30000&#xff0c;周未双休五险一金。工作很充实也很累&#xff0c;每天失眠&#xff0c;思考了很久&#xff0c;还是决定离职了&#xff0c;…...

AMD第二季度财报:数据中心产品销售激增,接近总收入一半

#### 财报亮点 7月30日&#xff0c;AMD公布了截至6月29日的第二季度财务业绩&#xff0c;利润超过了华尔街的预期。根据TechNews的报道&#xff0c;最值得注意的是&#xff0c;AMD现在近一半的销售额来自于数据中心产品&#xff0c;而非传统的PC芯片、游戏主机或是工业与汽车嵌…...

ThreadLocal详解及ThreadLocal源码分析

提示&#xff1a;ThreadLocal详解、ThreadLocal与synchronized的区别、ThreadLocal的优势、ThreadLocal的内部结构、ThreadLocalMap源码分析、ThreadLocal导致内存泄漏的原因、要避免内存泄漏可以用哪些方式、ThreadLocal怎么解决Hash冲突问题、避免共享的设计模式、ThreadLoca…...

FastGPT、Dify、Coze产品功能对比分析

在当前的人工智能领域&#xff0c;模型接入、应用发布、应用构建、知识库和工作流编排等功能是衡量一个AI平台综合能力的重要指标。本文将对FastGPT、Dify和Coze这三款产品的功能进行详细对比分析&#xff0c;以帮助用户更好地了解它。 订阅模式及市场概况 在订阅模式及市场概…...

【Linux】缓冲区的理解

目录 一、实验现象二、初步认知缓冲区2.1 缓冲区的刷新策略2.2 缓冲区在哪里 三、缓冲区模拟实现四、再次全面理解缓冲区4.1 用户强制刷新缓冲区(fflush/fsync) 一、实验现象 我们先来看一个现象&#xff1a; 在显示器中打印内容时&#xff0c;fprintf先打印出来&#xff0c;w…...

基于单片机的电梯控制系统的设计

摘 要: 本文提出了一种基于单片机的电梯控制系统设计 。 设计以单片机为核心&#xff0c;通过使用和设计新型先进的硬件和控制程序来模拟和控制整个电梯的运行&#xff0c;在使用过程中具有成本低廉、 维护方便、 运行稳定 、 易于操作 、 安全系数高等优点 。 主要设计思路是…...

IP-GUARD文档云备份服务器迁移数据操作说明

一、功能简介 使用文档云备份过程可能出现需要迁移旧数据到新目录的情况(如一开始存储目录设置 不合理,之后变更存储目录),下面介绍迁移备份数据到新目录的方法,迁移后可正常查看、 下载、删除原备份文件。 二、同一计算机上迁移存储目录 当仅需要将存储目录迁移到同一计…...

linux常用命令ls详细说明

目录 1.ls的基本功能就是显示当前目录的文件和目录 2.ls输出是按照字母顺序排列的 3.默认不显示隐藏内容&#xff0c;加上参数-a可以显示隐藏的文件和文件夹 4.-R参数可以地柜列出当前目录以及它包含的字目录中的文件 5.-l参数辉显示长列表&#xff0c;也可以显示文件更多信…...

HTML 语义化

目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案&#xff1a; 语义化标签&#xff1a; <header>&#xff1a;页头<nav>&#xff1a;导航<main>&#xff1a;主要内容<article>&#x…...

利用ngx_stream_return_module构建简易 TCP/UDP 响应网关

一、模块概述 ngx_stream_return_module 提供了一个极简的指令&#xff1a; return <value>;在收到客户端连接后&#xff0c;立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量&#xff08;如 $time_iso8601、$remote_addr 等&#xff09;&a…...

rknn优化教程(二)

文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK&#xff0c;开始写第二篇的内容了。这篇博客主要能写一下&#xff1a; 如何给一些三方库按照xmake方式进行封装&#xff0c;供调用如何按…...

《通信之道——从微积分到 5G》读书总结

第1章 绪 论 1.1 这是一本什么样的书 通信技术&#xff0c;说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号&#xff08;调制&#xff09; 把信息从信号中抽取出来&am…...

Python爬虫(一):爬虫伪装

一、网站防爬机制概述 在当今互联网环境中&#xff0c;具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类&#xff1a; 身份验证机制&#xff1a;直接将未经授权的爬虫阻挡在外反爬技术体系&#xff1a;通过各种技术手段增加爬虫获取数据的难度…...

零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)

本期内容并不是很难&#xff0c;相信大家会学的很愉快&#xff0c;当然对于有后端基础的朋友来说&#xff0c;本期内容更加容易了解&#xff0c;当然没有基础的也别担心&#xff0c;本期内容会详细解释有关内容 本期用到的软件&#xff1a;yakit&#xff08;因为经过之前好多期…...

USB Over IP专用硬件的5个特点

USB over IP技术通过将USB协议数据封装在标准TCP/IP网络数据包中&#xff0c;从根本上改变了USB连接。这允许客户端通过局域网或广域网远程访问和控制物理连接到服务器的USB设备&#xff08;如专用硬件设备&#xff09;&#xff0c;从而消除了直接物理连接的需要。USB over IP的…...

Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析

Java求职者面试指南&#xff1a;Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问&#xff08;基础概念问题&#xff09; 1. 请解释Spring框架的核心容器是什么&#xff1f;它在Spring中起到什么作用&#xff1f; Spring框架的核心容器是IoC容器&#…...

【学习笔记】erase 删除顺序迭代器后迭代器失效的解决方案

目录 使用 erase 返回值继续迭代使用索引进行遍历 我们知道类似 vector 的顺序迭代器被删除后&#xff0c;迭代器会失效&#xff0c;因为顺序迭代器在内存中是连续存储的&#xff0c;元素删除后&#xff0c;后续元素会前移。 但一些场景中&#xff0c;我们又需要在执行删除操作…...

Kubernetes 节点自动伸缩(Cluster Autoscaler)原理与实践

在 Kubernetes 集群中&#xff0c;如何在保障应用高可用的同时有效地管理资源&#xff0c;一直是运维人员和开发者关注的重点。随着微服务架构的普及&#xff0c;集群内各个服务的负载波动日趋明显&#xff0c;传统的手动扩缩容方式已无法满足实时性和弹性需求。 Cluster Auto…...