LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 961|回复: 3

linux系统移植(S3C2410)

[复制链接]
发表于 2007-5-24 15:25:56 | 显示全部楼层 |阅读模式
在bootloader汇编部分代码中:
; 引用头文件

get bdinit.h

; 引用标准变量

IMPORT |Image$$RO$$Base| ; Base address of RO section
IMPORT |Image$$RO$$Limit| ; End address of RO section
IMPORT |Image$$RW$$Base| ; Base address of RW section
IMPORT |Image$$RW$$Limit| ; End address of RW section
IMPORT |Image$$ZI$$Base| ; Base address of ZI section
IMPORT |Image$$ZI$$Limit| ; End addresss of ZI section
IMPORT bdmain ; The entry function of C program


bdinit.h是个什么文件?import是什么意思呢?
发表于 2007-5-24 16:13:04 | 显示全部楼层
IMPORT,功能跟C里的extern声明很类似。表示后边的符号在其他原文件里。
不知道你用的是什么哪里的bootloader,不过dbinit.h一定是包含了系统初始化信息。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-25 09:06:23 | 显示全部楼层
谢谢你的回答,我还有一些不明白的地方
IMPORT后面的变量是ADS产生的各代码段宏,虽然有注释,知道是什么意思。但是从语法来看,是什么意思呢?
|Image$$RO$$Base|,RO在scatter中是:RO 0x30000000,那2个$是什么意思,还有什么Image,Base都不懂。
dbinit.h是ADS生成的还是要自己编呢?
回复 支持 反对

使用道具 举报

发表于 2007-5-25 14:14:29 | 显示全部楼层
IMPORT那几句的目的是在你链接程序的时候,确定程序各段在存储器当中的位置,也就意味着执行的时候,可以在哪找到你的数据和代码。
Image指的是你的存储器,RO/RW/ZI的意思是read only/read and write/zero什么什么的我忘了
base指的是你的基址,limit是界限,也就是长度,zero什么的那个好象是确保这段存储器里边的数据是0。$$就是分隔符。
bootloader因为是在操作系统之前运行,这些问题都要自己操心。根据你的具体硬件配置进行设置。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表