作者:GWD 时间:2019.7.13
一、课程内容
摘要:本节课用汇编传参和符号表传参两种方式各写了一个代码实现用C实现代码重定位与bss段清0;讲解了符号表的原理及引用方式。
1、问:符号表是什么?
2、符号表怎么使用
二、学习要点:
1、问:C函数怎么使用lds文件中的变量abc?
答:
1)、在C函数中声明改变量为extern类型, 比如:extern int abc;
2、使用时, 要取址, 比如:int *p = &abc; // p的值即为lds文件中abc的值。
2)、问:使用链接脚本中的变量时为什么加&符号?
答:这是编译器的一种机制,引入了符号表,lds中的变量是不保存在程序中的,符号表再怎么大也不会影响程序,在引用时候去符号表中找。节省了程序的内存。
三、代码
(一)、使用汇编函数传递参数的方法;
1、更改start.S
2、写copy2sdram函数
3、写clean_bss函数
4、实验现象