04 2014 档案
摘要:在我的arm动态加载实验中需要解决一个模块调用系统函数的问题,可以使用以下的一个方法。将系统函数固定在某一段地址空间,然后导出这一块的符号表到符号文件中,要记载的模块link的时候使用这个符号表文件,即可以实现模块调用系统函数的问题。 在stm32上做了以下实验,kernel导出一个系统函数v...
阅读全文
摘要:上一篇关于动态加载讲述的是M3下面的ropi的实现细节,这一篇则讲述RW段的实现细节以及系统加载RW段的思路,我在M3上根据这个思路可以实现elf的动态加载,当然进一步的可以优化很多东西,还可以研究将bin加载起来,这个需要一些辅助的东西实现。言归正文,使用/acps/rwpi编译代码,解决RW段即...
阅读全文
摘要:这篇文章是自己疑惑究竟地址无关性是如何实现,然后查看汇编和CPU指令手册,最后分析解除自己疑惑的,高手不要鄙视,哈哈。编译C代码时候需要制定--acps/ropi选项,如下例子: 1 void SystemInit(void) 2 { 3 } 4 void fun_for_sub(void) 5 { 6 int j; 7 for(j=65535;j >=0; j--) 8 ; 9 }10 int main(void)11 {12 fun_for_sub();13 while(1);14 }C-example编译:armcc -c...
阅读全文
浙公网安备 33010602011771号