logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

【第36期】启动流程(一):从Reset Vector到SystemInit

摘要: ARM Cortex-M处理器上电复位后,硬件首先从0x00000000加载栈指针(MSP),再从0x00000004加载复位向量(PC)跳转至Reset_Handler。STM32通过内存映射将Flash/系统存储器镜像到0地址,具体由BOOT引脚决定。软件接管后,Reset_Handler调用SystemInit()初始化时钟,再跳转至编译器提供的__main完成.data段搬运和.b

#单片机#嵌入式硬件#stm32 +2
【第10期】C语言的嵌入式特化 (四) —— 宏 (Macro) 的使用与内核利器

C语言宏是强大的代码生成工具,但也暗藏陷阱。本文解析了宏的典型问题:文本替换导致的自增副作用、do-while(0)的工程规范、#和##操作符的元编程能力。重点剖析了Linux内核的container_of宏实现原理,展示如何通过成员地址反推结构体首地址,这是实现侵入式链表的关键技术。该宏利用0地址强转计算偏移量,配合typeof类型检查,既高效又安全,为通用数据结构复用提供了基础。文章揭示了宏的

#c语言#开发语言#linux +4
什么是TF-A?

TF-A(TrustedFirmware-A)是ARM平台的安全启动管理固件,负责系统上电后最先运行,初始化CPU、内存和TrustZone安全状态。作为启动链的关键环节,它在BootROM之后执行,建立安全环境并加载U-Boot或OP-TEE。在STM32MP系列中,TF-A作为Linux世界的入口,承担硬件初始化、安全配置和启动协调功能,其触发方式(BootROM或M33)因芯片型号而异。作为

#arm开发#驱动开发#stm32 +3
STM32MP2相比STM32MP1在架构层面的重大升级

STM32MP2相比MP1在架构上有显著升级:采用Cortex-A35(64位)+Cortex-M33+NPU的组合,其中M33取代M4并支持TrustZone安全机制。通信依然通过OpenAMP/RPMsg,但安全性更高。启动模式更灵活,M33可由安全固件独立启动。内存隔离更强,M33拥有独立SRAM区,支持安全/非安全分区。开发工具链延续CubeIDE支持,但新增TrustZone调试功能。整

#stm32#架构#嵌入式硬件 +4
到底了