linker - 如何用复位向量填充 STM32 上未使用的内存?

标签 linker embedded cortex-m3 stm32 iar

我正在使用带 IAR 的 STM32F100 超值系列处理器。我想用跳转到 Reset_Handler(或 HardFault_Handler)来填充未使用的代码内存。如何使用 IAR 执行此操作?

最佳答案

如果需要,大多数十六进制文件生成器都会填充内存,如果没有,您可能可以在 IDE 中执行此操作 the SRecord tools当然可以为您做到这一点。

然而,简单地将未使用的闪存留空 (0xffff) 将生成无效指令异常并最小化图像大小。

请注意,跳转到重置处理程序与执行重置不同 - 硬件状态将是不确定的。更好的方法可能是启用看门狗并用 B .(分支到自身)0xE7FE 填充内存。然后看门狗将超时并创建一个真正的重置。

关于linker - 如何用复位向量填充 STM32 上未使用的内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19822409/

相关文章:

c - 使用 STM32F103 微 Controller (Cortex-M3) 重新编程 DMA 起始地址

c++ - 有没有办法从构建脚本输出中解析依赖树?

android - 在AOSP源代码中添加系统应用程序(通过App源代码/工作AS项目)

arm - 在 ARM Cortex-M3 中使用 newlib 的 malloc

udp - NTP 请求包

c - 计算超过 1 个字节的 CRC16 MCRF4XX 时出现问题

c++ - 有什么方法可以告诉链接器 "respect"__attribute__((__used__))

c++ - 使用外部库构建 Xcode 项目时出现链接器错误

gcc 和 math.h 的 C 链接器错误

rust - 我如何写入 Rust 中的内存映射地址?