免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 779 | 回复: 0
打印 上一主题 下一主题

移植笔记 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-22 08:51 |只看该作者 |倒序浏览

移植笔记

移植u-boot、内核是按照别人的教程做的,没什么个人成果,就把重要的修改文件记录下来:

u-boot

开发板文件夹:/board/samsung/mini2440  (需要在根目录下Makefile中添加mini2440_config||师兄的:board/open24x0/

开发板头文件:/include/configs/mini2440.h     配置启动设置:NFS启动或者SD卡启动 /

u-boot 第一个要运行的程序:/cpu/arm920t/start.S

链接分配文件:/cpu/arm920t/u-boot.lds

board/samsung/my2440/flash.c

MD9000 网卡驱动:drivers/net/dm9000x.c

u-boot中查看mini2440机器码的位置在:inchlude/asm-arm/mach-types.h

来对 Nand 操作的命令集列表:common/cmd_nand.c 

 

 

设置u-boot启动文字

/lib_arm/board.c

 

修改logotools/Makefile中定义:

ifeq ($(LOGO_BMP),)

LOGO_BMP= logos/linux_blackfin.bmp

endif


u-boot环境变量

bootargs=noinitrd console=ttySAC0 root=179:2 init=/linuxrc //SD卡启动 bootargs=noinitrd console=ttySAC0 root=/dev/nfs rw nfsroot=192.168.1.200:/opt/FriendlyARM/mini2440/root_qtopia ip=192.168.1.70:192.168.1.1:255.255.255.0 init=/linuxrc //NFS启动

                       
bootcmd=nand read.jffs2 0x32000000 0x50000 0x500000; bootm 0x32000000      
bootdelay=3   
baudrate=115200     
ethaddr=08:00:3e:26:0a:5b    
ipaddr=192.168.1.70        
serverip=192.168.1.1     
netmask=255.255.255.0   
stdin=serial          
stdout=serial     
stderr=serial     
mtdids=nand0=nandflash0 
mtdparts=mtdparts=nandflash0:5m@0(kernel),8m(jffs2),-(yaffs) 
partition=nand0,0  
mtddevnum=0    
mtddevname=kernel

 

linux内核

u-boot中查看mini2440机器码的位置在:inchlude/asm-arm/mach-types.h

linux内核中查看mini2440的机器码的位置在:arch/arm/tools/mach_types

linux内核对mini2440开发板支持的文件配置在:arch/arm/mach-s3c2440/Kconfig (这里的显示信息只是在内核配置菜单中出现)

linux内核对mini2440开发板nand flash的分区信息在:arch/arm/mach-s3c2440/mach-mini2440.c

分区情况:arch/arm/plat-s3c24xx/common-smdk.c

linux内核对MAC设置在:drivers/net/dm9000.c

linux内核对LCD背光设置在:drivers/video/mini2440_backlight.c

linux内核对LCD的配置和参数设置在:arch/arm/mach-s3c2440/mach-mini2440.c

开机logo在:drivers/video/logo/linux_logo_clut224.ppm

ADC驱动在:drivers/char/mini2440_adc.c (AD输入和触摸屏接口共用A/D转换器)

触摸屏驱动程序在:drivers/input/touchscreen/s3c2410_ts.c

 

u-boot 提供在 u-boot 启动时传递到内核中取代内核提供的参数。 除了我们最容易知道的 bootargs(即内核 commandline)参数项外,要传递的参数还有 MACH_TYPE(即我们所说的机器码)、系统根设备信息(标志,页面大小)、内存信息(起始地址,大小)RAMDISK 信息(起始地址,大小)、压缩的 RAMDISK 根文件系统信息(起始地址,大小)。由此可见要传递的参数很多,这时候,u-boot 就提供一种叫做参数链表(tagged list)的方式把这些参数组织起来,链表结构体定义在:include/asm-arm/setup.h ,而实现链表的组织在 lib_arm/bootm.c 中。

 

 

添加驱动需要在drivers目录下的对应文件夹中创建并编写自己的.c.h文件,并在Makefile中添加对应的.o目标模块。在Kconfig中添加对应的配置项

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

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP