【发布时间】:2014-05-04 21:45:18
【问题描述】:
实际上我是昨天才开始接触嵌入式编程的,我注意到一些我认为很奇怪的东西。我有一个非常简单的程序,只返回 0。
int main() {
return 0;
}
当我在 IAR Embedded Workbench 中运行它时,我有一个内存视图显示程序内存。我注意到内存中有一些内存,但它是一大块空白空间,然后又有内存(我很讨厌解释:P所以这是内存的图像)
请帮助我比现在更了解这一点。我真的不知道要搜索什么,因为我对此很陌生。
【问题讨论】:
-
什么处理器架构?这只发生在低内存的固定位置吗?它可能是几件事中的任何一个,例如调试器配置了硬件内存映射的详细信息,以认为在这些位置实际上没有任何响应,调试器最近没有尝试从芯片读取的区域,具有重复的内容,或者可能还没有立即想到的其他内容。
-
我正在使用 ARM,并在我正在使用的程序中的模拟器中运行它。
-
第一位可能是中断向量,那么代码段位于0x80。没有分配休息。有一个向量 '80 00 00 00' 看起来很像重新启动,还有几个向量指向 '70 01 00 00' 处的一小段代码,我怀疑这是一个禁用中断的“严重错误”无限循环。检查您的 makefile 和/或部分位置。