随笔分类 -  B1.嵌入式开发基础

摘要:大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家分享的是在MDK开发环境下将关键函数重定向到RAM中执行的几种方法。 这个关键函数重定向到 RAM 中执行系列文章,痞子衡已经写过 《IAR篇》、《MCUXpresso IDE篇》,今天一鼓作气把 Keil MDK 篇也写了,做个全家桶。 把 阅读全文
posted @ 2021-09-12 22:47 痞子衡 阅读(2031) 评论(0) 推荐(0) 编辑
摘要:大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家分享的是在IAR开发环境下将关键函数重定向到RAM中执行的三种方法。 嵌入式项目里应用程序代码正常是放在 Flash 中执行的,但有时候也需要将代码中的一些函数重定向到 RAM 中去执行,这些函数包括 Flash 擦写操作函数(假定 Flash 阅读全文
posted @ 2021-08-15 20:13 痞子衡 阅读(2307) 评论(0) 推荐(2) 编辑
摘要:大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家分享的是Cortex-M中断向量表原理及其重定向方法。 接着前文 《嵌入式Cortex-M裸机环境下临界区保护的三种实现》 继续聊,嵌入式代码设计里有时候一些特殊操作(比如 XIP 下 Flash 擦写、低功耗模式切换)不能被随意打断,或者一些 阅读全文
posted @ 2021-08-04 22:39 痞子衡 阅读(3193) 评论(2) 推荐(2) 编辑
摘要:大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家分享的是Cortex-M裸机环境下临界区保护的三种实现。 搞嵌入式玩过 RTOS 的朋友想必都对 OS_ENTER_CRITICAL()、OS_EXIT_CRITICAL() 这个功能代码对特别眼熟,在 RTOS 里常常会有多任务(进程)处理, 阅读全文
posted @ 2021-07-25 21:58 痞子衡 阅读(1551) 评论(0) 推荐(0) 编辑
摘要:大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家分享的是嵌入式MCU中标准的三重中断控制设计。 我们知道在 MCU 裸机中程序代码之所以能完成多任务并行实时处理功能,其实主要是靠中断来调度的,没有中断,CPU 就只能按顺序"呆板"地执行代码。很多人都说是中断能力赋予了 MCU 真正的灵魂,能 阅读全文
posted @ 2021-07-24 15:41 痞子衡 阅读(1329) 评论(0) 推荐(1) 编辑
摘要:大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家分享的是串行NOR Flash的页编程模式对于量产效率的影响。 任何嵌入式产品最终都绕不开量产效率话题,尤其是对于主控是非内置 Flash 型 MCU(比如恩智浦的 i.MXRT 系列、意法半导体的 H7 系列等),单片量产时间直接决定了工厂生 阅读全文
posted @ 2021-07-18 22:59 痞子衡 阅读(1334) 评论(0) 推荐(0) 编辑
摘要:大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家分享的是嵌入式里串口(UART)自动波特率识别程序设计与实现。 本篇是 《串口(UART)自动波特率识别程序设计与实现(中断)》 的续集,上一篇我们利用 GPIO 模块自带的下降沿中断功能实现了 RXD 电平跳变捕捉与计时,今天我们再试试古老的 阅读全文
posted @ 2021-06-14 17:57 痞子衡 阅读(788) 评论(0) 推荐(0) 编辑
摘要:大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家分享的是嵌入式里串口(UART)自动波特率识别程序设计与实现。 串口(UART)是嵌入式里最基础最常用也最简单的一种通讯(数据传输)方式,可以说是工程师入门通讯领域的启蒙老师,同时串口打印也是嵌入式项目里非常经典的调试与交互方式。 最精简的串口 阅读全文
posted @ 2021-06-12 11:21 痞子衡 阅读(2192) 评论(0) 推荐(1) 编辑
摘要:大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家分享的是嵌入式里通用微秒(microseconds)计时函数框架设计与实现。 在嵌入式软件开发里,计时可以说是非常基础的功能模块了,其应用也非常广泛,比如可以辅助计算信号脉冲宽度时间,也可以直接用于常规延时等。相信很多人初次领略 MCU 的神奇 阅读全文
posted @ 2021-06-09 17:05 痞子衡 阅读(1420) 评论(0) 推荐(1) 编辑
摘要:大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是内存读写正确性压力测试程序memtester。 在嵌入式系统中,内存(RAM)的重要性不言而喻,系统性能及稳定性都与内存息息相关。关于内存性能有很多个不同指标,其中最基础的指标便是访问可靠性(即读写的正确性),只有稳定可靠的内存访问才能 阅读全文
posted @ 2021-03-25 13:26 痞子衡 阅读(6397) 评论(0) 推荐(0) 编辑
摘要:大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是国内车规级MCU厂商及其产品。 在汽车电子领域,MCU的应用非常广泛,大到车身控制与动力总成,小到雨刷车窗等控制单元,都离不开MCU的身影。但汽车领域产品必须要是高可靠、高安全的,因此车规级MCU与消费电子类MCU本质上是不同的,国际汽 阅读全文
posted @ 2021-03-11 23:22 痞子衡 阅读(2730) 评论(0) 推荐(0) 编辑
摘要:大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是国内Cortex-M内核MCU厂商高性能产品。 在8/16位中低端MCU领域,国内厂商的本土化产品设计以及超低价特点,使得其与国外大厂竞争时是有优势的,因此国内厂商份额相当之高。但在32位中高性能MCU领域,国外大厂仍有一定的技术领先优 阅读全文
posted @ 2021-03-07 23:01 痞子衡 阅读(5271) 评论(2) 推荐(0) 编辑
摘要:大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家分享的是串行NOR Flash的DQS信号功能。 串行NOR Flash在嵌入式里的应用相当广泛,既可用作数据存储也可以用作代码(XiP)存储,串行NOR Flash种类很多,最早期有Standard SPI(一线),后来发展到QuadSPI( 阅读全文
posted @ 2021-02-23 20:32 痞子衡 阅读(5235) 评论(0) 推荐(1) 编辑
摘要:痞子衡最近一直在参与恩智浦SBL项目(就是一个适用LPC和i.MXRT的完整OTA方案),这个项目近期会和大家见面,项目需要同时支持GCC, IAR, MDK三大开发环境,项目所属i.MXRT1170工程在GCC和IAR下编译链接一切正常,但是在MDK下出现了链接对齐报错问题,痞子衡花时间研究解决了这个问题,这个问题算是和MDK工具本身紧紧相关,痞子衡觉得挺有意思(其实主要是想吐槽MDK),特分享给大家 阅读全文
posted @ 2020-12-01 18:24 痞子衡 阅读(1553) 评论(0) 推荐(0) 编辑
摘要:痞子衡之前写过两篇关于IAR中自带CRC校验功能的文章,算是把这个功能细节介绍得比较清楚了,但是俗话说得好,理论懂得再多,不能用于实践那等于没学。今天痞子衡就利用这个功能来解决一个实际需求 阅读全文
posted @ 2020-11-27 22:40 痞子衡 阅读(771) 评论(0) 推荐(0) 编辑
摘要:痞子衡之前写了一篇 《在IAR开发环境下为工程开启CRC完整性校验功能的方法》,有同事在使用CRC校验功能时遇到了关于.out/.bin文件先后生成顺序的问题。我们在线调试IAR工程时,调试器下载的其实是可执行文件(.out),CRC校验功能在.out文件里没有任何歧义,但是更多时候我们会使用镜像文件(.bin)来下载量产,有时候CRC校验功能在.bin文件里却没有正常开启,这是怎么回事? 阅读全文
posted @ 2020-11-26 18:59 痞子衡 阅读(1406) 评论(0) 推荐(0) 编辑
摘要:IAR是个非常老牌的嵌入式开发集成环境,它的功能非常强大,有很多宝藏功能值得我们去发掘。痞子衡自毕业之后就一直在使用IAR,算是一路看着它从古典画风的v6.50.x升级到现在潮流的v8.50.x,对于经典的CRC校验功能的支持,IAR当然不会放过,今天痞子衡就来介绍IAR下如何使用其自带的CRC校验功能 阅读全文
posted @ 2020-11-26 15:26 痞子衡 阅读(2305) 评论(0) 推荐(0) 编辑
摘要:为什么需要JLink Script文件?有些情况下,需要定制J-Link执行的某些操作,比如J-Link连接顺序或者执行复位的方式等,或者一些定制的硬件板需要一些特殊处理,这些动作没法直接集成到J-Link软件的通用处理里,因此需要被放在单独的JLink Script文件里,根据连接的具体目标对象来指定加载执行。 阅读全文
posted @ 2020-11-19 23:40 痞子衡 阅读(3815) 评论(0) 推荐(1) 编辑
摘要:过去的三天里我花了一些时间做了一个基于 PyQt5 的 GUI 工具,可以帮助检查你的代码风格是否符合恩智浦 SDK 驱动开发规范,如今这个工具的第一个预览版(v0.4)出来了 阅读全文
posted @ 2020-03-17 21:12 痞子衡 阅读(1075) 评论(0) 推荐(0) 编辑
摘要:上周痞子衡受领导指示,给 SE 同事做了一个关于 SDK 代码风格的分享。随着组内新人的增多,这样的培训还是很有必要的。一是可以让新同事通过代码风格来快速了解 SDK 驱动代码结构,另一方面也有利于新同事养成良好的编码习惯。 阅读全文
posted @ 2020-03-15 09:10 痞子衡 阅读(1500) 评论(0) 推荐(0) 编辑