Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 操作系统 > Linux > image.rom,image.ram,romfs.img(3)
【标  题】:image.rom,image.ram,romfs.img(3)
【关键字】:image.rom,image.ram,romfs.img
【来  源】:http://blog.chinaunix.net/article.php?articleId=12536&blogId=4329

image.rom,image.ram,romfs.img(3)

Your Ad Here

优龙论坛  (http://www.ucdragon.com/bbs/index.asp)
--  FS44B0X系列  (http://www.ucdragon.com/bbs/list.asp?boardid=44)
----  请问如何生成image.rom 和 image.ram  (http://www.ucdragon.com/bbs/dispbbs.asp?boardid=44&id=907)


 优龙论坛  (http://www.ucdragon.com/bbs/index.asp)
--  FS44B0X系列  (http://www.ucdragon.com/bbs/list.asp?boardid=44)
----  请问如何生成image.rom 和 image.ram  (http://www.ucdragon.com/bbs/dispbbs.asp?boardid=44&id=907)

--  作者:redsun
--  发布时间:2003-12-31 22:11:35

--  请问如何生成image.rom 和 image.ram
我去uclinux的网站下载了uClinux,可以生成 image.bin 和 romfs.img,但是要生成image.rom 和 image.ram还需要什么呢?

--  作者:xcpzd
--  发布时间:2004-1-2 9:25:31

--  
我也是看别人的,我也有同样的问题,whaler是没有执行下面的第一步
1、进入linux-2.4.x/arch/armnommu/boot/compressed目录执行
ln -s vmlinux.lds.in linux.lds.in(链接一个编译bzImage需要的文件实际上我的rom版跑出来还有问题,但为了编译还是要这一步)

2、进入linux-2.4.x/arch/armnommu目录,修改config.in里面存储器参数,原为8M DRAM,改为16M。
修改vmlinux-armv.lds.in,在
*(.got) /* Global offset table */ 下加上
romfs_data = .;
romfs.o
romfs_data_end = .;

3、进入linux-2.4.x/drivers/block目录,修改blkmem.c,定义一个
#ifdef CONFIG_BOARD_SNDS100
extern char romfs_data[];
#endif
再在
struct arena_t {
     .........
} arena[] = {  后加上

#ifdef CONFIG_BOARD_SNDS100
       {0, romfs_data, -1},
#endif

4、修改uClinux-dist目录下(即总的编译目录)的Makefile,在
TFTPDIR    = /tftpboot 下加一行
LINUXTARGET = bzImage

5、修改vendors/Samsung/4510B/Makefile,原来的
-IMAGE    = $(IMAGEDIR)/image.bin
-ELFIMAGE = $(IMAGEDIR)/image.elf
两行改为
ROMIMAGE = $(IMAGEDIR)/image.rom
RAMIMAGE = $(IMAGEDIR)/image.ram
并取消其中最后连接的命令
                    $(CROSS_COMPILE)objcopy -O binary --remove-section=.romvec    --remove-section=.text --remove-section=.ramvec    --remove-section=.init    --remove-section=.bss --remove-section=.eram    $(ROOTDIR)/$(LINUXDIR)/linux $(IMAGEDIR)/linux.data
$(CROSS_COMPILE)objcopy -O binary --remove-section=.ramvec    --remove-section=.bss --remove-section=.data    --remove-section=.eram    --set-section-flags=.romvec=CONTENTS,ALLOC,LOAD,READONLY,CODE    $(ROOTDIR)/$(LINUXDIR)/linux $(IMAGEDIR)/linux.text
cat $(IMAGEDIR)/linux.text $(IMAGEDIR)/linux.data $(ROMFSIMG) > $(IMAGE)

改为
                    $(CROSS_COMPILE)ld -r -o $(ROOTDIR)/$(LINUXDIR)/romfs.o    -b binary $(ROMFSIMG)
$(CROSS_COMPILE)objcopy -O binary -R .note -R .comment    -S $(ROOTDIR)/$(LINUXDIR)/linux $(RAMIMAGE)

                    cp $(ROOTDIR)/$(LINUXDIR)/arch/armnommu/boot/zImage    $(ROMIMAGE)

上面步骤基本OK了,运行编译过程
make menuconfig   选中芯片4510,库先用uc-libc
make dep              生成依赖关系
make lib_only         编译库
make user_only      编译选中的用户程序
make romfs            生成romfs文件目录    
make image           第一次编译会有错误提示,但先生成了romfs.img,和romfs.o
make                    编译内核并与romfs.o连接成可运行的image.ram、image.rom

注意在 make user_only时如果因boa出错可先不选它,或选用户程序时不选old_password

生成的image.ram文件可以下载到4510板上运行,注意它的波特率是19200。

学校机子的主板都是同一型号:【上一篇】
image.ram、image.rom、romfs.img(2):【下一篇】
【相关文章】
没有相关文章
【随机文章】
  • 浅谈MS SQL锁机制
  • 关于打开某些网站IE等浏览器就自动关闭的一种解决办法
  • 基于.NET 2.0的GIS开源项目SharpMap分析手记(四):地图数据访问机制分析
  • Eclipse开发入门与项目实践
  • subversion
  • 当一个处理器碰到两个时钟发生器
  • asp.net控件开发基础(6)
  • 菜鸟求助 Struts+Hibernate
  • slackware 安装手记
  • 全面研读EJB 2.0(3)
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.