
嵌入式科普
文章平均质量分 77
嵌入式科普
嵌入式科普
坚持原创,不搬运
展开
-
嵌入式科普(36)【程序员必看】GCC编译优化:你的代码为何“神秘消失”?
GCC优化会加速代码运行效率GCC最新版本对代码的规范化更严格合理的设置优化等级、单独优化、防止优化等功能分享你遇到的非期望优化例子。原创 2025-03-06 20:44:22 · 500 阅读 · 0 评论 -
嵌入式科普(35)当AI遇上Markdown:一场“全民工程师”的排版革命
Markdown的普及,正是技术民主化的又一缩影。就像新能源汽车的OTA(远程升级)功能核心设计理念是:“专注内容,而非格式”AI时代,更是一场“全民工程师”的时代,让我们先来学好Markdown。原创 2025-03-04 19:30:57 · 907 阅读 · 0 评论 -
嵌入式科普(34)通过对比看透DMA的本质
DMA的本质是硬件级并行化,释放CPU、减少中断,数据批处理。理解DMA的本质便于理解/学习更复杂的DMA功能。后续会有通过DMA输出PWM、DMA连续传输ADC等例子分享。原创 2025-03-04 19:29:20 · 376 阅读 · 0 评论 -
嵌入式科普(33)深度解析C语言中的const和volatile关键字
定义"只读变量",被修饰的变量不可被程序修改:提醒编译器该变量可能被意外修改,禁止编译器优化注意强制类型转换嵌入式科普(32)指向寄存器的指针变量2---可变指针 volatile int* volatile p;货真价实。原创 2025-02-24 22:10:49 · 569 阅读 · 0 评论 -
嵌入式科普(32)指向寄存器的指针变量2---可变指针
首先volatile修饰是为了告诉编译器访问寄存器指针需注意易变属性通过offset方式访问寄存器更要注意易变属性p指向的数据是易变的变量p是易变的都是易变的编译器版本优化有差异货真价实下一节总结volatile和const。原创 2025-02-24 22:09:46 · 303 阅读 · 0 评论 -
嵌入式科普(31)一文了解嵌入式涉及的各类型编码
还有Wi-Fi、Zigbee、BLE(蓝牙低功耗)、433/315MHz、4G 和 5G 等无线通信的编码方式和调制方式在半导体或编程世界中只有0和1,0代表关/低,1代表开/高。但各类型编码复杂的很。原创 2025-02-22 13:16:26 · 699 阅读 · 0 评论 -
嵌入式科普(30)一文看懂嵌入式MCU/MPU多核架构与通信
同构Cortex-A多核由Linux负责内核通信,IPC进程通信,高性能同构Cortex-M/R多核有多种通信机制,如FreeRTOS SMP、MU、IPC、信号量、Mailbox、共享内存、CPU中断等异构多核通常用AMP等机制。原创 2025-01-16 22:44:48 · 942 阅读 · 0 评论 -
嵌入式科普(29)c代码究竟是如何一步步运行的之C语言运行的本质
C语言运行的本质是栈式函数调用和编译型语言C函数调用栈的分析是重要技能理解C语言的编译链接原理。原创 2025-01-15 20:42:22 · 904 阅读 · 0 评论 -
嵌入式科普(24)一张图真正看懂USB通信协议
USB(Universal Serial Bus)“通用”到日常生活,又复杂到工程师也不一定说的清楚本文以科普的角度,用一张图并且带一定深度的把USB通信协议说尽。从宏观上或者逻辑上能理解USB理解USB相关概念USB 规范:定义了 USB 技术的标准。USB 接口:设备与主机通信的逻辑通道。USB 端点:设备上的数据缓冲区。USB 管道:主机和设备之间的逻辑通道。USB 数据传输类型:控制传输、中断传输、批量传输、同步传输。USB 设备类:定义了设备的功能和通信协议。原创 2025-01-14 21:20:55 · 2323 阅读 · 0 评论 -
嵌入式科普(26)为什么heap通常8字节对齐
结论:在嵌入式c语言中,heap通常8字节对齐本文主要分析这个问题的分析过程不论是在STM32的32位微控制器上还是在64位的Ubuntu系统中,heap 8字节对齐都因其带来的性能优化、硬件兼容性和代码可移植性而成为一种广泛接受的标准。这种做法帮助开发者构建既高效又可靠的应用程序,符合现代计算环境的需求。原创 2025-01-06 20:29:41 · 583 阅读 · 0 评论 -
嵌入式科普(26)“相面”各大厂MCU和MPU
返回看目录。原创 2024-12-28 11:45:01 · 1227 阅读 · 0 评论 -
嵌入式科普(25)Home Assistant米家集成意味着IOT的核心是智能设备
小米Home Assistant 米家集成开源一周star近15k,迭代4个版本,12个贡献者本文科普一下Home Assistant(简称HA)、米家集成,以及带来的好处米家集成云端控制全球支持本地化控制的小米中枢网关(含内置中枢网关)的固件尚未发布保管好自己 Home Assistant 配置文件,小米用户信息泄露风险许可证是小米协议原来米家设备接入HA是极客行为,但有数量、类型、延迟等各种限制现在米家集成是小米开发接口,提供了无限的可能性,最典型的就是支持HA的设备都可以用小爱来控制。原创 2024-12-26 23:43:18 · 1375 阅读 · 0 评论 -
嵌入式科普(24)从SPI和CAN通信重新理解“全双工”
前段时间因为没有真正理解“全双工”的概念,导致spi的驱动写了好几天大家知道spi是全双工;can是全双工/半双工争议非常多究竟什么是“全双工/半双工”?有没有标准?真正理解这个概念的好处:正确的编写驱动函数;深刻理解才能思路清晰全双工指物理介质能够在没有干扰的情况下支持同步传输和接收。CAN的本质是半双工,因为差分信号只能单向通信;所谓CAN在协议层是全双工,实际是FIFO、仲裁机制等实现SPI有收发两根。原创 2024-12-24 21:30:42 · 999 阅读 · 0 评论 -
嵌入式科普(23)指向寄存器的指针变量
定义指向寄存器的指针变量要额外注意编译器警告类型不匹配的不能简单忽略强制类型转换不能随意用位掩码,如 (*reg & (1原创 2024-12-23 19:06:27 · 297 阅读 · 0 评论 -
嵌入式科普(22)c代码究竟是如何一步步运行的之链接
C代码的链接过程是一个将源代码转换为可执行文件的复杂过程主要工作由编译工具gcc完成,只谈3个重要概念静态库、动态库、链接文件.ld重点谈谈链接脚本在linux(mpu:coretex A7)交叉编译、mcu(coretex M4)IDE编译不太需要关注链接脚本在介于mpu和mcu之间的芯片(coretex M7/M85/R4/R52),经常需要重点关注链接脚本。因为既要性能、又要实时性、还要低成本,所以往往有多块存储空间链接脚本最核心的就是section、object等概念,代码和详细化分。原创 2024-12-18 18:31:40 · 1035 阅读 · 0 评论 -
嵌入式科普(21)c代码究竟是如何一步步运行的之编译
编译->链接->执行我们从最简单步骤扩展到每个细节,分别介绍其中的最关键的步骤这里面包含的知识点太多,范围也不同。我们通过类比,介绍其中的关键点,以便我们日后再深入各个细节,从而解决实际问题mpu编译和链接由gcc完成(Makefile、sh、/lib)mcu编译和链接由IDE完成处于mcu与mpu中间的如RZT2/N2、STM32H7、iMXRT116需要重点关注链接过程。原创 2024-12-18 18:30:33 · 658 阅读 · 0 评论 -
嵌入式科普(20)2024瑞萨技术交流日
强烈建议点击b站小程序,听背景音乐,感受九子夺嫡结算MVP,四爷王上加白。嵌入式科普(20)2024瑞萨技术交流日。原创 2024-06-04 22:34:22 · 350 阅读 · 0 评论 -
嵌入式科普(19)typedef与#define的区别和典型应用
介绍typedef与#define的区别介绍其他预处理指令指令typedef与#define的典型应用编译器提供了一些预定义的宏,如LINE(当前行号)、FILE(当前文件名)、DATE(编译日期)和TIME(编译时间)等。原创 2024-05-29 23:09:41 · 1083 阅读 · 0 评论 -
嵌入式科普(18)Ubuntu在移动硬盘的安装和启动
在移动硬盘安装Ubuntu从电脑BIOS启动移动硬盘Ubuntu从VMware启动移动硬盘Ubuntu。原创 2024-05-16 20:37:52 · 1331 阅读 · 0 评论 -
嵌入式科普(17)c语言void和void*的含义和应用
void and void*含义和用法void and void*的实际应用。原创 2024-05-16 20:36:18 · 2025 阅读 · 0 评论 -
嵌入式科普(15)小米su7成本分析和拆解之智驶、座舱分析
综合网上小米su7信息,分享数据域控分析NXP S32K324 汽车通用微控制器一览。原创 2024-04-18 22:32:45 · 2183 阅读 · 0 评论 -
嵌入式科普(14)指针---这些年嵌入式工程师也不容易理解的词语
在实际的编译器中,令牌化(tokenization)是一个更复杂的过程,涉及词法分析(lexical analysis)和更严格的语法规则。然而,如果我们想要模拟令牌的概念,并手动解析和处理一些简单的“令牌流”,我们可以编写一个简单的C语言程序来模拟这个过程。在C/C++中,文件描述符是常见的例子,它们是由open系统调用返回的整数,用于在后续的文件操作中标识特定的文件。在编程中,它可能指函数的签名,即函数的名称和参数类型列表,用于唯一标识一个函数。在面向对象的编程中,实例是类的一个具体对象。原创 2024-04-01 07:51:16 · 1364 阅读 · 0 评论 -
嵌入式科普(13)汽车OTA---这些年被大众熟知的嵌入式词语
USB接口几乎存在于每个人的日常生活中,从电脑、手机到各种外设设备,USB接口的普及和标准化使得设备之间的连接变得简单可靠,成为人们生活中不可或缺的一部分。:WIFI技术的普及使得无线网络连接变得普遍,人们可以随时随地享受高速稳定的网络连接,成为现代生活中不可或缺的一部分。:蓝牙技术的广泛应用使得人们习惯了无线连接设备的便利,如耳机、音箱等产品都普遍支持蓝牙连接,提高了用户体验和便利性。WIFI技术提供了无线连接到互联网的便利,为我们的设备和生活带来了高速稳定的网络连接。嵌入式科普 · 目录。原创 2024-04-01 07:48:53 · 1074 阅读 · 0 评论 -
嵌入式科普(12)西门子PROFINET ERTECH 200P-3路演
老罗砸西门子冰箱时候的傲慢 -> 路演的谦逊国外工程师包吃住差旅 -> 要做“生态”芯片资料极难检索,官网逻辑混乱通讯芯片,而不是“主控”ERTECH 200P-3比200P-2优势明显,但不是里程碑式的引用 知乎 ARM架构处理器解析【最全的一篇!】:PLC S7-1500之后才支持PN IRTPROFINET分为控制器(主站)和驱动器(从站)硬件:200P-3内置phy*2、3路电源时序,但需要外挂SDRAM、Flash。原创 2024-03-19 19:45:55 · 1708 阅读 · 1 评论 -
嵌入式科普(11)315加油机“偷油”偷税与信息安全和功能安全
renesas安全密钥管理工具https://www.renesas.cn/cn/zh/document/mat/security-key-management-tool-v105-users-manual。数字签名,加密和解密,对称加密和非对称加密,然后详细介绍了 MD5,SHA-1,HMAC,DES/AES,RSA 和 ECC 等等加密算法。引用知乎:浅谈功能安全与信息安全的区别https://zhuanlan.zhihu.com/p/346389240。---引用:人民日报,ARM,知乎。原创 2024-03-19 19:40:37 · 473 阅读 · 1 评论 -
嵌入式科普(10)十种编程语言判断闰年
请用c,c++,c#,java,Python,lua,go,JavaScript,php,arm cortex M3可执行的汇编等共10中编程语言各写一段代码,可以计算打印输出2024 2025 2035 2050是否是闰年。很明显,我们希望每种语言都判断这4个年份是否为闰年,但每种语言只判断了一种,这个逻辑错误。那么,结果到底是否可以正确输出呢?以上是用十种不同编程语言编写的代码片段,用于判断给定年份是否是闰年,并打印输出结果。大家一起来找茬(chatGPT的10段代码是否可以正确输出)原创 2024-03-18 21:20:09 · 500 阅读 · 0 评论 -
嵌入式科普(10)IAR debug reset delay
1、还热乎的经验/采坑,跟大家分享,以后少踩坑2、解决问题的思路分析过程3、扩展到I-jet、j-link之外调试器的结论和总结IAR debug的j-link、i-jet、dap都reset delay功能,并且j-link只针对非coretex M内核通过IAR帮助文档能得到reset delay一般尽快启动i-jet、dap默认delay 200ms,j-link默认0。我们跟进什么修改延时数值?该例程默认i-jet,我们修改为j-link是否能分析出200ms延时呢?原创 2024-01-05 22:21:58 · 792 阅读 · 0 评论 -
嵌入式科普(9)vscode无法跳转和恢复默认配置
1、2024年的第一天突然vscode无法跳转,莫名其妙2、尝试了各种设置和插件都无效,卸载重装vscode也无效,删除C:\Users\jerry.vscode也无效3、搜索“vscode无法跳转”,查不到有效的解决办法3、根本原因Intelli Sense Engine 和 vscode如何一键恢复默认配置。原创 2024-01-05 22:09:58 · 3476 阅读 · 1 评论 -
嵌入式科普(8)ESP-IDF newlib相关介绍和对比分析
1、在我的嵌入式科普(6)你听说过FreeRTOS heap6吗?b站有评论ESP-IDF2、我们就来简介ESP-IDF,重点看看与newlib相关的概念和源码3、对比分析首版ESP-IDFv0.9 Sep 30, 2016 ===> 里程碑ESP-IDFv5.0 2022年12月30日。2019 年 7 月,乐鑫科技在上海证券交易所科创板挂牌上市ESP-IDF(Espressif IoT Development Framework 乐鑫物联网开发框架物联网开发框架)芯片v4.3v4.4。原创 2023-12-30 22:02:03 · 1117 阅读 · 0 评论 -
嵌入式科普(7)你知道JTAG&SWD接口最少接几根线?
1、那位同学直接抢答说2根线,数据+时钟。没错,提问中的“最少”二字、经验和直觉也告诉我们。2、另外,JTAG&SWD接口、J-Link、ST-Link、ULINK、DP、JTAG-DP、SWJ-DP、I-Jet、20-pin 2.54mm端子、9-pin 2.0mm端子、20-pin 1.27mm端子等等,他们都是什么关系呢?3、的确,最常用的调试接口,我甚至不需要去关注他了。4、谈谈我碰到的问题,顺藤摸瓜的过程,最后的发问?原创 2023-12-25 19:06:20 · 2196 阅读 · 0 评论 -
嵌入式科普(6)你听说过FreeRTOS heap6吗?
上一节介绍eclipse+Arm GNU Toolchain+newlib是MCU/MPU开发中比较通用的,FreeRTOS+heap4也是比较常见的RTOS和动态内存管理。这些都结合到一起就足以应付较复杂功能的开发,例如:以太网相关编程。所以,在应用代码中、以太网协议栈、第三方库中不可避免的使用newlib c sprintf、malloc等功能,可能就会涉及多线程安全问题。原创 2023-12-19 18:55:32 · 1196 阅读 · 0 评论 -
嵌入式科普(5)ARM GNU Toolchain相关概念和逻辑
对比高集成度的IDE(MDK、IAR等),Linux开发需要自己写Makefile等多种脚本。eclipse、Visual Studio等需要了解预处理、编译、汇编、链接的过程,但无需自己完整编写。并且各大芯片厂家都有基于eclipse的IDE(cube ide、e2studio、ccs、MCUX、Simplicity),支持vs code的插件,国产rtt也有基于eclipse的RT-Thread Studio。原创 2023-12-18 19:29:57 · 2760 阅读 · 4 评论 -
嵌入式科普(4)图腾柱和互补推挽到底是不是一种?
发现光耦RV1S9209A为图腾柱(Totem Pole)输出,继而发现非常多的关于图腾柱和推挽电路的区别的各种观点。作为软件工程师应该都听过MCU IO的推挽输出模式。我们列举资料,实际测试,总结我们的观点。1️⃣图腾柱是NPN+NPN结构,互补推挽是NPN+PNP结构;2️⃣图腾柱有非线性特征,只能用于PWM输出,而互补推挽有线性特征,除了用于PWM输出外,还可用于模拟信号输出;3️⃣图腾柱多见于PWM芯片驱动,用于直接驱动功率MOS管;互补推挽多见于搭建的电路以及MCU(单片机)、运放等芯片;原创 2023-12-17 19:20:20 · 3644 阅读 · 0 评论 -
嵌入式科普(3)NTC、PTC和热电偶测温的实现方法
介绍电子、自动化、嵌入式行业中使用最普遍的3种测温方法,即NTC、PTC和热电偶。简介原理,着重介绍实现方式和区别。原创 2023-12-03 22:57:15 · 3219 阅读 · 0 评论 -
嵌入式科普(2)据说理解“Gerber”和“袼褙”两个词的不到1%?
推荐一个在线查看Gerber文件的网站通过“袼褙”解释“Gerber”和电路板到底是什么Gerber:印刷电路板的文件格式,统一标准和保护知识产权的作用在线查看Gerber:https://gerber-viewer.ucamco.com/袼褙:做“千层底”鞋底的原材料,用浆糊将破布一层层粘起来。原创 2023-11-21 22:16:33 · 209 阅读 · 0 评论 -
嵌入式科普(1)PROFINET ?≈ 西门子
[PI中国](http://pi-china.org.cn/)- [西门子PROFINET](https://www.siemens.com/cn/zh/products/automation/industrial-communication/profinet/pb-2-pn.html)- [西门子支持中心](https://www.ad.siemens.com.cn/club/bbs/bbs_story.aspx?b_id=144)原创 2023-11-13 22:29:56 · 225 阅读 · 0 评论