博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  ARM裸机

摘要:ELF(Executable and Linkable Format)格式,linux平台下十分常见的可执行、可连接文件。输出section的丢弃:例子,.foo { *(.foo) },如果没有任何一个输入文件包含.foo section,那么连接器将不会创建.foo输出section。但是如果在这些输出section描述内包含了非输入section描述命令(如符号赋值语句),那么连接器将总是创建该输出section。有一个特殊的输出section,名为/DISCARD/,被该section引用的任何输入section将不会出现在输出文件内,这就是DISCARD的意思吧。如果/DISCAR. 阅读全文

posted @ 2013-04-19 15:13 皇星客栈--Linux 阅读(727) 评论(0) 推荐(0)

摘要:一、adr和ldr的区别同学们在学习ARM指令时,多数都会对adr和ldr这两个命令产生疑惑,那他们究竟有什么区别呢?其实这两个都是伪指令:adr是小范围的地址读取伪指令,ldr是大范围的读取地址伪指令。可实际上adr是将基于PC相对偏移的地址值或基于寄存器相对地址值读取的为指令,而ldr用于加载32为立即数或一个地址到指定的寄存器中。到这儿就会看到其中的区别了。如果在程序中想加载某个函数或者某个在联接时候指定的地址时请使用adr,例如在lds中需要重新定位的地址。当加载32为的立即数或外部地址时请用ldr。我给大家先举个例子:AREA test,CODE,READONLY ENTRYld.. 阅读全文

posted @ 2013-04-14 22:10 皇星客栈--Linux 阅读(811) 评论(0) 推荐(0)