软件v1.x仅支持BEE加密: 为了便于大家快速验证软件BEE加密功能,特将用于BEE加密的image_enc工具上传至百度网盘,仅用作个人学习用途,违者后果自负. -- 链接: https://pan.baidu.com/s/1fa0_HhtBktv69FnX1a2UlQ -- 提取码: v4wq 使用方法:将下载到的压缩包image_enc.zip解压后将其所有文件拷贝到 \NXP-MCUBootUtility\tools\image_enc 文件夹下即可. 软件v2.x既支持BEE也支持O…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是串行NOR Flash的DQS信号功能. 串行NOR Flash在嵌入式里的应用相当广泛,既可用作数据存储也可以用作代码(XiP)存储,串行NOR Flash种类很多,最早期有Standard SPI(一线),后来发展到QuadSPI(四线),到现在OctalSPI或者HyperBus SPI(八线),I/O管脚越来越多,数据吞吐率也越来越高.但到八线Flash的时候,你会发现多了一个特殊的控制信号DQS,DQS是Data Stro…
NXP MCU Boot Utility English | 中文 1 软件概览 1.1 介绍 NXP-MCUBootUtility是一个专为NXP MCU安全加密启动而设计的工具,其特性与NXP MCU里BootROM功能相对应,目前主要支持i.MXRT系列MCU芯片,与NXP官方的标准安全加密配套工具集(OpenSSL, CST, sdphost, blhost, elftosb, BD, MfgTool2)相比,NXP-MCUBootUtility是一个真正的一站式工具,一个工具包含NXP…
-- 痞子衡维护的NXP-MCUBootUtility工具距离上一个版本(v2.3.1)发布过去2个月了,这一次痞子衡为大家带来了版本升级v2.4.0,这个版本主要有一个非常重要的更新需要跟大家特别说明一下. 一.v2.4更新记录 二.关于Flashloader的更换支持 Flashloader在嵌入式世界里有很多种不同含义和应用场景,其中最让人熟知的非配合仿真器使用的Flashloader(下载算法)莫属,有了合适的Flashloader,我们便可以在IDE里一键下载和调试应用程序,项目开发效…
-- 痞子衡维护的NXP-MCUBootUtility工具距离上一个版本(v2.4.0)发布过去2个半月了,这一次痞子衡为大家带来了全新版本v3.0.0,从这个版本开始,NXP-MCUBootUtility将不再局限于i.MXRT系列,也要开始支持经典的LPC,Kinetis系列. 一.v3.0更新记录 二.关于新系列MCU的支持 NXP-MCUBootUtility v3.0之前的版本主要支持i.MXRT系列,该系列都是不含内部Flash的,因此芯片本身比较复杂,对于嵌入式初学者来说,玩起来的…
-- 痞子衡的 NXP-MCUBootUtility 开源项目自2018年8月27日第一笔提交至今已有21个月,目前累计代码已近50000行.相信这个工具为大家开发 i.MXRT 项目提供了一些便利,听闻也有不少客户用这个工具做量产,这是痞子衡坚持维护这个项目的最大意义所在. 时光飞逝,距离上一个版本(v2.2)发布已有半年了,这一次痞子衡为大家带来了全新版本v2.3,新版本除了一些常规新i.MXRT型号支持以及bugfix之外,痞子衡特别花了大功夫彻底解决了NOR Flash支持问题,以后不管…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是J-Link工具下i.MXRT的串行NOR Flash下载算法设计. 在i.MXRT硬件那些事系列之<在串行NOR Flash XIP调试原理>一文中,痞子衡简单提了一下串行NOR Flash下载算法的概念,并没有介绍具体设计细节,关于NOR Flash下载算法每个IDE/工具都有自己的一套设计,虽然基本设计理念是一样的,但是细节方面还是有区别,今天痞子衡就来细聊J-Link下的NOR Flash下载算法: 一.J-Link各版本…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是Keil MDK工具下i.MXRT的串行NOR Flash下载算法设计. 在i.MXRT硬件那些事系列之<在串行NOR Flash XIP调试原理>一文中,痞子衡简单提了一下串行NOR Flash下载算法的概念,并没有介绍具体设计细节,关于NOR Flash下载算法每个IDE/工具都有自己的一套设计,虽然基本设计理念是一样的,但是细节方面还是有区别.上一篇痞子衡介绍了<J-Link下算法设计>,今天痞子衡就来细聊Kei…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是在IAR开发环境下为工程开启CRC完整性校验功能的方法. CRC校验在嵌入式领域里的应用非常广,比如在通信领域,CRC检验值可以作为数据包的一部分,用于检查一包数据传输过程中是否发生了比特错误,如果CRC校验失败,那么接收方可以通知发送方要求该包数据重新传输,这样能大大增加数据传输的可靠性.同时CRC在应用程序完整性验证方面也有广泛应用,相比和检验,CRC校验纠错能力更强:相比签名校验,CRC校验在速度方面又占优势,因此它是一个各方…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是开启CRC完整性校验的IAR工程生成.out和.bin文件先后顺序问题. 痞子衡之前写了一篇 <在IAR开发环境下为工程开启CRC完整性校验功能的方法>,有同事在使用CRC校验功能时遇到了关于.out/.bin文件先后生成顺序的问题.我们在线调试IAR工程时,调试器下载的其实是可执行文件(.out),CRC校验功能在.out文件里没有任何歧义,但是更多时候我们会使用镜像文件(.bin)来下载量产,有时候CRC校验功能在.bin文件…
-- 痞子衡维护的NXP-MCUBootUtility工具距离上一个大版本(v3.0.0)发布过去4个多月了,期间痞子衡其实断断续续做个几个小版本更新,这一次痞子衡为大家带来了稳定版本v3.3.0,顺便将之前的所有新增功能改动一并介绍.其实这次更新主要是跟恩智浦SE团队近期主推的一个神秘大项目SBL有关. 一.v3.1 - v3.3更新记录 -- v3.3.0 Features: 1. 支持对源image文件进行部分签名 2. 支持SBL设备的ISP下载 3. 通用编程器模式下增加支持带格式源i…
-- 痞子衡维护的 NXP-MCUBootUtility 工具距离上一个大版本(v3.3.0)发布过去 4 个多月了,这一次痞子衡为大家带来了版本升级 v3.4.0,这个版本主要有几个非常重要的更新需要跟大家特别说明一下. 一.v3.4更新记录 Features: 1. 支持下载应用程序进主动启动设备 - FlexSPI NAND接口Flash 2. 支持对启动设备进行全擦操作 Improvements: 1. 支持SDK 2.10及其之后生成的可启动文件作为源文件 2. 添加更多的串行NOR…
-- 痞子衡维护的 NXP-MCUBootUtility 工具距离上一个大版本(v3.4.0)发布过去半年了,这一次痞子衡为大家带来了版本升级 v3.5.0,这个版本主要有几个非常重要的更新需要跟大家特别说明一下. 一.v3.5更新记录 二.几个不可忽视的更新 2.1 支持串行NOR双程序启动下载 部分 i.MXRT 型号 BootROM 支持串行 NOR Flash 的双程序启动,这意味着在这些型号上用户可以不用额外设计二级 bootloader 也可以完成本地 OTA 升级. 之前痞子衡把所…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是PyQt GUI构建工具Qt Designer. 痞子衡开博客至今已有好几年,一直以嵌入式开发相关主题的文章为主线,偶尔穿插一些其他技术或工具的介绍,前段时间因为要做一个跟恩智浦MCU启动相关的上位机工具 NXP-MCUBootUtility,网上搜索对比了几个Python下的GUI框架,最终选择了wxPython这个成熟稳定的GUI库,从而接触到wxFormBuilder这个配套wxPython使用的GUI构建工具.苦于网上关于该…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是wxPython GUI构建工具wxFormBuilder. 一.手工代码布局GUI界面的烦恼 如果你曾经设计过上位机软件GUI界面,初始阶段一定是纯手工代码布局GUI界面上的各个控件,相信你肯定遇到过如下烦恼: 控件类型较难找:UI界面里有很多控件类型,纯手工写代码需要翻看文档一个个去查找这些控件的名字与用法. 尺寸位置难调整:如果界面上已经布了多个控件,想要整体去调整这些控件的尺寸与位置是一件头疼的事. 效果查看不实时:每新添加…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是语音处理工具Jays-PySPEECH诞生之环境搭建. 在写Jays-PySPEECH时需要先搭好开发环境,下表列出了开发过程中会用到的所有软件/工具包: 一.涉及工具列表 工具 功能 下载地址 Python 2.7.14 Python官方包(解释器) https://www.python.org/ PyAudio 0.2.11 跨平台开源Audio I/O库 PortAudio 的Python封装 http://people.cs…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是语音处理工具Jays-PySPEECH诞生之音频显示实现. 音频显示是Jays-PySPEECH的主要功能,Jays-PySPEECH借助的是Matplotlib以及NumPy来实现的音频显示功能,今天痞子衡为大家介绍音频显示在Jays-PySPEECH中是如何实现的. 一.SciPy工具集 SciPy是一套Python科学计算相关的工具集,其本身也是一个Python库,这个工具集主要包含以下6大Python库,Jays-PySPE…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是语音处理工具Jays-PySPEECH诞生之语音识别实现. 语音识别是Jays-PySPEECH的核心功能,Jays-PySPEECH借助的是SpeechRecognition系统以及CMU Sphinx引擎来实现的语音识别功能,今天痞子衡为大家介绍语音识别在Jays-PySPEECH中是如何实现的. 一.SpeechRecognition系统简介 SpeechRecognition是一套基于python实现语音识别的系统,该系统的…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是语音处理工具Jays-PySPEECH诞生之文语合成实现. 文语合成是Jays-PySPEECH的核心功能,Jays-PySPEECH借助的是pyttsx3以及eSpeak引擎来实现的文语合成功能,今天痞子衡为大家介绍文语合成在Jays-PySPEECH中是如何实现的. 一.pyttsx3简介 pyttsx3是一套基于实现SAPI5文语合成引擎的Python封装库,该库的设计者为Natesh M Bhat,该库其实是 pyTTS 和…
-- 恩智浦半导体从2017年10月开始正式推出业内首款跨界处理器-i.MX RT系列,如今距离该系列第一款i.MXRT1050发布已过去近2年,i.MX RT系列在行业里应用越来越广泛,i.MX RT系列家族成员也越来越壮大.为了进一步满足不同行业的需求,恩智浦近期推出了i.MX RT系列又一款新品,主打极致性价比,LQFP80小巧封装,主频高达500MHz,售价却不到1美金,它究竟是何方神圣?不用猜啦,它就是i.MXRT1010.为了配合i.MXRT1010的闪亮登场,痞子衡特地将一站式启动…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是语音处理工具pzh-py-speech诞生之音频录播实现. 音频录播是pzh-py-speech的主要功能,pzh-py-speech借助的是Python自带wave库以及第三方PyAudio库来实现的音频播放和录制功能,今天痞子衡为大家介绍音频录播在pzh-py-speech中是如何实现的. 一.wave简介 wave是python标准库,其可以实现wav音频文件的读写,并且能解析wav音频的参数.pzh-py-speech借助w…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家讲的是恩智浦 SDK 驱动的代码风格. 上周痞子衡受领导指示,给 SE 同事做了一个关于 SDK 代码风格的分享.随着组内新人的增多,这样的培训还是很有必要的.一是可以让新同事通过代码风格来快速了解 SDK 驱动代码结构,另一方面也有利于新同事养成良好的编码习惯. 痞子衡刚毕业时曾经也整理过一篇代码风格 <飞思卡尔软件开发C语言编码规范>,如今虽已是恩智浦纪元,但规范大多还是相似的,仅有微小更新.这次痞子衡将新版规范的要点提取了出来,并且…
大家好,我是痞子衡,是正经搞技术的痞子. 接上文 <恩智浦SDK驱动代码风格.模板.检查工具> 继续聊,是的,过去的三天里我花了一些时间做了一个基于 PyQt5 的 GUI 工具,可以帮助检查你的代码风格是否符合恩智浦 SDK 驱动开发规范,如今这个工具的第一个预览版(v0.4)出来了,欢迎大家试用(当然更欢迎加入这个开源项目一起来开发). 我知道你不是恩智浦 SDK 驱动的开发者,但恩智浦毕竟是一线 MCU 大厂,作为一个嵌入式从业者(尤其是你还没有找到一个明确的代码风格),如果写的代码能符…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是恩智浦i.MXRT1170上Cortex-M7内核的FlexRAM ECC功能. ECC是"Error Correcting Code"的简写,ECC能够实现错误检查和纠正,含有ECC功能的内存一般称为ECC内存,使用了ECC内存的系统在稳定性和可靠性上得到很大提升.相比前几代不带ECC的i.MXRT10xx型号,新一代i.MXRT1170在ECC上做了全面武装,从eFuse到FlexRAM,从OCRAM到外部存储空间全都…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是恩智浦i.MXRT1170上Cortex-M4内核的L-MEM ECC功能. 本篇是 <简析i.MXRT1170 Cortex-M7 FlexRAM ECC功能特点.开启步骤.性能影响> 的姊妹篇,我们知道i.MXRT1170是双核MCU,主核Cortex-M7的TCM ECC由FlexRAM模块负责,那么从核Cortex-M4的TCM有没有ECC呢?如果有的话,是由哪个模块负责的呢?本篇给你解答. 老规矩先来看一下Cortex-…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是恩智浦i.MXRT1170的eFuse空间访问可靠性保护策略. 关于i.MXRT系列的eFuse/OTP,痞子衡之前在介绍Boot时写过两篇,分别是针对RT1050的<eFuse及其烧写方法> 和针对RT600的<OTP及其烧写方法>,今天要介绍的i.MXRT1170 eFuse其实是这两者的融合,在空间组织上(尤其是Shadow Register)更像RT1050,但是在访问可靠性保护策略上又接近RT600.关于访问…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT600中的Debug Mailbox实现对JLink调试的影响. 事情缘起痞子衡的同事 - 喜欢打破砂锅问到底的Kerry小姐姐,她最近在研究i.MXRT600这款芯片,她发现在芯片ROM串行下载(ISP)模式下,连上芯片USB端口可以在设备管理器中正常看到枚举的HID设备(0x1fc9,0x0020),这个HID设备可配合上位机工具blhost.exe进行应用程序下载.但是当使用JLink正常连上芯片(选择的是MIMX…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT1062 TencentOS Tiny EVB_AIoT开发板在Flash调试与离线启动. 腾讯 TencentOS 团队于2021年12月8日联合恩智浦半导体.安谋科技发起了一个线上开发者活动 - TencentOS Tiny AIoT 应用创新大赛.为了这个大赛,腾讯 TencentOS 团队联合恩智浦半导体.厚德物联网设计了一款高性能 AIoT 评估板,用于 TencentOS tiny 基础内核和 AIoT 应用…
大家好,我是痞子衡,是正经搞技术的痞子.本系列痞子衡给大家介绍的是飞思卡尔i.MX RT系列微控制器相关知识. 飞思卡尔半导体(现恩智浦半导体)于2017年开始推出的i.MX RT系列开启了高性能MCU的新纪元,其第一款芯片i.MX RT1052,搭载Cortex-M7内核,主频高达600MHz,CoreMark跑分高达3020. 本系列文章会逐一介绍i.MX RT系列微控制器开发相关知识. 介绍篇(持续更新中...4/4) 飞思卡尔i.MX RT系列MCU特性介绍(1)- 概览 飞思卡尔i.M…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔i.MX RT系列MCU的Raw NAND启动. 前面铺垫了七篇启动系列文章,终于该讲具体Boot Device了,我们知道i.MXRT支持的外部Boot Device共有6种(Serial NOR&NAND.Parallel NOR&NAND.SD/eMMC.SPI NOR/EEPROM),其中最常用的是Serial NOR&NAND,目前各大社区里讨论最火的也是Serial NOR/NAND启动,有不少大神…