1
3
这些都没有保存下来。十六进制文件仅包含原始程序和数据。 https://en.wikipedia.org/wiki/Intel_HEX
微控制器不知道在哪里。数据和。基站是定位的——它甚至不知道它们的存在。之前执行的启动代码
|
2
3
点1到3中的元素不包括在原始二进制中,因为它们在应用中没有任何用途;相反,它们被开发主机上的链接器和调试器使用,对于程序执行来说是不必要的,因为您只需要字节值和写入它们的地址,这或多或少是十六进制文件包含的所有内容(也可能包含开始地址记录)。 具有动态链接或自托管调试功能的系统(例如VxWorks)使用对象文件。 关于第5点,微控制器不需要知道;链接器在解析目标代码中的绝对和相对地址时使用该信息。一旦完全解析(链接),地址将直接嵌入代码中。同样,在使用动态加载/链接的情况下,需要对象文件元数据,此类系统通常不会加载原始十六进制文件或二进制文件。 |
conopizda2 · 为什么我的静态数组没有被memset清除? 2 年前 |
jhe4x · C按位OR返回的值不正确 2 年前 |
Tim · 如何用c语言打印程序的执行流程# 6 年前 |
jatinBatra · 关于嵌入式固件开发[已关闭] 6 年前 |
Will · 嵌入链接器脚本-是否正确放置“堆栈”和“堆”区域? 6 年前 |
K. Crow · 不等于PIC32上启用中断时操作员不工作[关闭] 6 年前 |
spiff42 · 清除位时唯一的最大不同字节值集 6 年前 |