嵌入式开发

2601_9516438812 天前
c语言·数据类型·关键字·嵌入式开发·格式化输出
C语言长文整理,关键字和数据类型作为嵌入式开发的基础,C语言是一切开发的基础。从语法上来说C语言并不复杂, 但编写优质可靠的嵌入式C程序并非易事,不仅需要熟知硬件特性和缺陷,还需要对编译原理和计算机技术知识有着一定的了解。在这么多年的嵌入式开发中,我也积累了一些这方面的经验和思考,这里总结下来,系统地阐述嵌入式C语言的重要知识点。
意法半导体STM3213 天前
vscode·stm32·单片机·嵌入式硬件·策略模式·stm32cubemx·嵌入式开发
【官方原创】如何为STM32CubeMX2配置Visual Studio Code配置方案摘要本文详述如何创建、配置并使用适配STM32CubeMX2(下文简称为MX2)开发的Visual Studio Code(下文简称为VS Code)配置方案,内容包含新建专属配置方案以优化开发流程、配置适配MX2工程的插件与参数,依托该配置高效完成编译与调试。参照本文教程,开发者可提升开发效率,在多个MX2工程间沿用统一的开发环境。
凡人叶枫13 天前
java·数据库·c++·嵌入式开发
Effective C++ 条款39:明智而审慎地使用 private 继承本篇为《Effective C++:改善程序与设计的 55 个具体做法》读书笔记系列第 39 篇。在 C++ 中,public 继承表示 is-a 关系,这是面向对象设计的基石。但 C++ 还提供了另一种继承方式:private 继承。与 public 继承不同,private 继承不表示 is-a,而是表示 is-implemented-in-terms-of(根据某物实现出)。Scott Meyers 在条款 39 中提醒我们:private 继承通常比复合的级别低,应当尽可能使用复合,只有在特定场景
凡人叶枫13 天前
java·数据库·c++·嵌入式开发·effective c++
Effective C++ 条款40:明智而审慎地使用多重继承本篇为《Effective C++:改善程序与设计的 55 个具体做法》读书笔记系列第 40 篇。多重继承(Multiple Inheritance, MI)是 C++ 中最具争议的特性之一。它提供了强大的表达能力,允许一个类从多个基类继承特性。然而,这种强大能力也带来了显著的复杂性:名称歧义、菱形继承问题、virtual 继承的性能开销等。Scott Meyers 在条款 40 中提醒我们:多重继承比单一继承复杂,可能导致新的歧义性,以及对 virtual 继承的需要,但确有正当用途。本文将深入探讨多重
俊基科技14 天前
嵌入式开发·数模转换·da-03
工业实战:DA-03音频模组在智慧矿山广播与应急通信系统中的应用在智慧矿山的建设中,井下广播系统和对讲系统是保障安全生产的生命线。由于矿井环境特殊——高温、高湿、多粉尘且伴随强烈的电磁干扰,传统的模拟音频传输往往面临信号衰减严重、噪音大、布线困难等问题。
凡人叶枫15 天前
linux·服务器·开发语言·c++·嵌入式开发
Effective C++ 条款33:避免遮掩继承而来的名字在 C++ 的继承体系中,你是否遇到过"明明基类有这个方法,为什么编译器说找不到"的困惑? 这很可能是名字遮掩(name hiding)在作祟。本条款将揭开这个隐秘陷阱的面纱。
凡人叶枫15 天前
linux·开发语言·c++·php·嵌入式开发·effective c++
Effective C++ 条款31:将文件间的编译依存关系降至最低在大型 C++ 项目中,你是否经历过"修改一个头文件,引发全工程重新编译"的痛苦? 本条款将教你如何打破这种编译依赖的枷锁,让你的构建速度飞起来!
凡人叶枫15 天前
java·linux·开发语言·c++·嵌入式开发
Effective C++ 条款32:确定你的 public 继承塑模出 is-a(是一种)关系public 继承是 C++ 面向对象编程中最核心的机制之一,但也是最常被误用的特性。 本条款将揭示 public 继承的深层含义,帮助你设计出正确的继承体系。
程序员爱德华15 天前
嵌入式开发
嵌入式开发1.就业单位: (1)主控芯片原厂:MTK平台、Mstar、海思、全志 (2)设备企业:蓝牙模组、设备模组、内存、文件系统
凡人叶枫15 天前
linux·开发语言·c++·嵌入式开发·effective c++
Effective C++ 条款30:透彻了解 inlining 的里里外外inline 函数背后的整体观念是,将"对此函数的每一个调用"都以函数本体替换之。这样做可能增加目标码的大小。在一台内存有限的机器上,过度热衷 inlining 会造成程序体积太大,即使拥有虚内存,inline 造成的代码膨胀也会导致额外的换页行为,降低指令高速缓存装置的击中率,以及伴随这些而来的效率损失。
凡人叶枫15 天前
linux·服务器·开发语言·c++·嵌入式开发
Effective C++ 条款28:避免使用 handles 指向对象内部避免返回 handles(包括引用、指针、迭代器)指向对象内部。遵守这个条款可增加封装性,帮助 const 成员函数的行为像个 const,并将发生"虚吊号码牌"(dangling handles)的可能性降至最低。
2601_9516456316 天前
c·clang·gcc·嵌入式开发·c23
老牌C语言迎来重大蜕变,GCC 16+Clang 19全面适配C23标准一、经典编程语言迎来重磅升级诞生数十年的 C 语言,一直是底层开发、嵌入式、单片机领域的核心工具,凭借高效、精简的特性被无数开发者沿用至今。但长久以来,老旧语法、繁琐的位运算写法,也成为不少程序员日常开发中的一大困扰。
IAR Systems16 天前
arm开发·嵌入式·嵌入式开发·iar
在IAR工具链中使用overlay命令进行SMP多核工程TCM配置随着嵌入式设备的智能化需求越来越高,对MCU的性能要求也越来越高。一方面可以通过提高MCU的主频来提升MCU的性能,但是这会使MCU的设计变得更复杂。另一方面可以通过多核的方式来提升MCU的性能,目前多核MCU已在市场上广泛应用。另外越来越多的高性能MCU会配有TCM(Tightly Coupled Memory,紧耦合内存),相比于传统的 SRAM,TCM凭借其与内核零延迟的访问特性,成为高频调用和关键控制路径程序的最佳载体。
俊基科技16 天前
语音识别·嵌入式开发·硬件开发·ai降噪·回声消除
嵌入式语音处理新选择:AU-60全功能DSP模组技术解析与应用指南在物联网与智能硬件爆发式增长的当下,语音交互已成为各类设备的标配功能。从智能家居的门禁对讲到车载语音系统,从远程会议设备到工业呼叫终端,稳定清晰的语音处理能力直接决定了用户体验。AU-60全功能DSP语音处理模组,凭借高度集成的设计理念和全面的音频处理能力,为中小规模智能硬件团队提供了颇具性价比的解决方案。本文将从技术特性、硬件设计、应用场景三个维度展开分析,供嵌入式开发者参考。
凡人叶枫16 天前
linux·开发语言·c++·嵌入式开发
Effective C++ 条款23:宁以 non-member、non-friend 替换 member 函数宁可拿 non-member non-friend 函数替换 member 函数。这样做可以增加封装性、包裹弹性(packaging flexibility)和机能扩充性。
qydz1116 天前
开发语言·pcb工艺·嵌入式开发·杰理科技
杰理开发板做TWS耳机类型方案分享(1)TWS耳机主副耳如何区分?为何会“角色互换”?在TWS耳机开发中,“主耳”和“副耳”的角色分配是基础中的基础,但也是很多工程师容易困惑的地方。今天,一次性理清这三个核心问题。
凡人叶枫16 天前
java·linux·数据库·c++·嵌入式开发
Effective C++ 条款08:别让异常逃离析构函数在 C++ 中,异常机制是处理错误的重要手段。但有一个地方绝对不应该让异常逃逸出来——那就是析构函数。今天我们来深入探讨这个看似严格实则必要的规则。
凡人叶枫17 天前
linux·前端·c++·算法·嵌入式开发
Effective C++ 条款24:若所有参数皆须要类型转换,请为此采用 non-member 函数如果你需要为某个函数的所有参数(包括被 this 指针所指的那个隐喻参数)进行类型转换,那么这个函数必须是个 non-member。
fanged17 天前
嵌入式开发
嵌入式固件构建系统写这篇只是有点好奇,为什么现在很多嵌入式rootfs都是基于Debian。很多内容来自AI,其实我自己去查并写和AI的内容其实并没有太大区别。
fanged17 天前
linux·嵌入式开发
设备树学习2--一个DTBO实验这次还是用树莓派5吧,毕竟下一步还准备继续做UEFI的实验。环境搭建刚刚写了一篇:树莓派5开发环境搭建基本操作-CSDN博客