1
3
这种“传统”的方式不利于裸体的发展。 最好将堆栈放在RAM的开头。不存在无声变量覆盖的危险,堆栈溢出将生成异常-其例程可以采取适当的操作(例如将设备切换到“安全”模式、重新启动、紧急停止受控机器等)。 |
2
4
如果你想把堆栈放在ram的上面,你可以在链接器脚本中使用简单的算法,如下所示(它被简化了):
重要的是
启动文件之一:
所有未使用的RAM将从一侧用于堆,从另一侧用于堆栈。 简单完整的示例如下: https://github.com/cortexm/baremetal |
Noè Murr · 如何获得C函数的基本编译二进制代码? 2 年前 |
conopizda2 · 为什么我的静态数组没有被memset清除? 2 年前 |
J.M · ESP32与STM32之间的UART通信问题 2 年前 |
Hansel · 如何抑制C语言中的“值已计算但未使用”? 2 年前 |
user9652118 · 臂用工具链 6 年前 |
user9158336 · 如何使用SPI总线对压力传感器进行编程 6 年前 |
NetworkStudent · I2c通信stm32f3如何解决? 6 年前 |