这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界» 论坛首页» 嵌入式开发» MCU» 我编译 uClinux-dist-20040408结果如下,...???

共4条 1/1 1 跳转至

我编译 uClinux-dist-20040408结果如下,...???

菜鸟
2004-09-15 20:55:29 打赏

我编译的是 uClinux-dist-20040408 中的Linux-2。4。X /4510B

编译后在 Images/ 目录下生成了4个文件:

image.bin 大小 2.0M

romfs.img 637.0K

linux.data 31.0K

linux.text 1.4M

谁能解释一下:

1 它们各自的功能?

2 是否包含调试信息?

3 哪一个是RAM调试用的?

4 哪一个是烧到Flash里面去的?

5 如果不是用来调试或烧片的,还应怎样做?

谢谢!!




关键词: 编译 uClinux-dist-20040408

菜鸟
2004-09-21 01:05:00 打赏
2楼

谢谢dalmat

image.bin 好像大了点

另外 image.rom 和 image.ram 和他们分别时什么关系?


菜鸟
2004-10-10 03:38:00 打赏
3楼
通常,一个编译好的内核主要是由以下几个部分组成的: 1)初始化程序段(init) 由内核中所有初始化程序的代码组成。这部分代码是用__init 来定义,在内核初始化 结束后,它们所占的存储空间就会被释放以节省RAM 资源。一般有32k 左右。 2)数据段(data) 由内核中所有含初始化值的全局变量,数据结构组成。因为这些数据都是在内核运行的 过程中被读写的变量,所以这个段必须放在RAM 中,。一般有50~100k 左右。 3)未初始化数据段(bss) 由内核中所有未被初始化的全局变量,数据结构组成。这个段也必须放在RAM 中, 但这个段中的变量只有地址和大小,没有初始值,在最后生成的二进制下载映像文件中并不 占用空间。这个段所对应的RAM 区域通常在内核启动前用“0”值来初始化。一般在RAM 中将会占用100k~150k 左右。 4)代码段(text) 由内核中所有非初始化程序的代码组成。这个段是内核代码的主体部分,为了节省 RAM 空间,可以把它放到ROM 中执行,这个段的大小通常为300k 左右。 5)文件系统(romfs) romfs 是uClinux 缺省使用的一种文件系统类型,它比较简单实用,支持romfs 文件 系统的代码占用的RAM 也比Ext2 的小很多,非常适合嵌入式应用的需求。romfs 可以放 在RAM 中,也可以放在ROM 中,它的大小要视添加应用程序的多少而定,比较典型的 一个包含init 和sh 程序的romfs 大小为80k 左右。 配置内核的一个重要工作就是决定上述的各个内核组成模块在RAM 或者ROM 中的 地址。通常,init、data、bss 和text 的地址是由编译链接时的定位文件vmlinux.lds 决定的, 在这个文件中定义了各个段的起始地址,而romfs 的文件系统的地址是在blkmem.c 文件 中给出的。通常要将uClinux 移植到特定的硬件平台上,都会需要根据各自的情况对上述 文件做一定的修改。

菜鸟
2004-10-13 02:45:00 打赏
4楼

請問你的toolchain是用哪一版的?


共4条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册]