STM32G071C8的ADC问题,测量6路交流信号,端口使用PA2-PA7,信号来自电流互感器次级用20欧电阻转为电压信号,并联T4,通过1K,104滤波后到ADC引脚,个别芯片出现PA3结果是固定值,即使直接把引脚对地短短接,结果也是2000多个数,可能是什么原因
STM32G030F6P6TR 48MHz下Flash擦写必HardFault?官方库疑似有坑,求勘误或替代方案
stm32g071的rtc初始化后会直接进入中断怎么办?
STM32G030死机问题
A Guide to Mastering Slope
STM32G0B1
无源晶振开关电路设计
STM32G031F8P6开启读保护后,数据全变成0?
stm32g030f6p6的LL库,ADC多通道,DMA错位问题请教
STM32G030x6/x8被淋雨进水了但未通电,风险如何?怎么处理?
微信公众号
手机版
Kimi的答案:
这是一个非常细节但关键的链接脚本(
.ld文件)问题,涉及到 嵌入式系统中堆(heap)和栈(stack)的内存布局与初始化行为 。✅ 先解释
(NOLOAD)的含义:在 GNU LD 脚本中:
换句话说:
.stack(NOLOAD)或.heap(NOLOAD)只是在链接时分配地址空间 ,但不会生成实际的段数据 。❓那
(COPY)是什么?(COPY)是一个非标准的、社区常用的“伪指令” ,它不是 GNU LD 官方支持的属性 ,但在某些工具链或环境中被“借用”来表示:换句话说:
(COPY)的人,通常是想让链接器生成一个段,告诉启动代码:这块内存需要处理 。✅ 总结:什么时候用
(COPY)?表格复制
(COPY)(NOLOAD)(NOLOAD)会跳过它 → 改用(COPY)或不加任何属性(COPY)或不加属性✅ 举个例子:
✅ 默认做法(大多数 STM32 项目):
ld复制
❗但如果你有一个安全 bootloader ,它会在跳转到 app 前清零所有 RAM :
(NOLOAD),这段内存不会出现在段表中 ,bootloader 就不会清零它 。(COPY),让这段内存被“看到” 。✅ 结论一句话:
但请记住:
(COPY)不是官方语法 ,只是社区约定俗成 ;[md]请问 “kimi的答案”是在哪里搜索的吗?
我用的 Kimi.ai 搜索的 (https://www.kimi.com/)