AT91SAM9260EK的BootStrap移植

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011195662/article/details/73480912

硬件平台:AT91SAM9260EK

NandFlash型号:s34ML02G100TFI00

 

1、准备BootStrap源码、配置交叉工具链:

BootStarp源码地址:ftp://www.at91.com/pub/at91bootstrap/

使用工具链:arm-2006q3

解压源码、配置交叉工具链

 

2、根据NandFlash型号与参数修改nand_ids.h文件:

a) 根据板子上的nandflash型号为s34ML02G100TFI00,查看其datasheet

b)  ./include/nand_ids.h 中找到static struct SNandInitInfo NandFlash_InitInfo[],在内容中增加:

{0x01da, 0x800, 0x20000, 0x800, 0x40, 0x0, "s34ML02G100TFI00\0"}

【以上内容分别代表:芯片ID、芯片块数、每块的有效字节、每页的有效字节、每页的空闲字节、总线宽度

在同目录nandflash.h下可看到相关定义如下:

 typedef struct SNandInitInfo

 41 {

 42     unsigned int uNandID        ; /* Nand Chip ID */

 43     unsigned int uNandNbBlocks  ;

 44     unsigned int uNandBlockSize ;

 45     unsigned int uNandSectorSize    ;

 46     unsigned int uNandSpareSize ;

 47     unsigned int uNandBusWidth  ;

 48     char         name[40]       ; /* Nand Name */

 49 } SNandInitInfo, *PSNandInitInfo;

 

3、根据平台型号进入对应目录,进行Makefile修改,编译:

a) 平台是at91sam9260,因此进入目录./board/at91sam9260ek/nandflash,定义Makefile的交叉编译路径:CROSS_COMPILE=arm-none-eabi-

b) 在同目录下执行 ./make

AT91SAM9260EK 开发板移植nfs出现的问题:内核无法打开eth0

01-27

准备在AT91SAM9260EK搭建nfs文件系统,设置开发平台。rn但在开发板内核启动中报错如下:rnRPC: Registered udp transport module.rnRPC: Registered tcp transport module.rnrtc-at91sam9 at91_rtt.0: hctosys: unable to read the hardware clockrn[color=#FF0000]IP-Config: Failed to open eth0rnIP-Config: Device `eth0' not found.[/color]rnLooking up port of RPC 100003/2 on 192.168.0.211rnrpcbind: server 192.168.0.211 not responding, timed outrnRoot-NFS: Unable to get nfsd port number from server, using defaultrnLooking up port of RPC 100005/1 on 192.168.0.211rnrpcbind: server 192.168.0.211 not responding, timed outrnRoot-NFS: Unable to get mountd port number from server, using defaultrnmount: server 192.168.0.211 not responding, timed outrnrn我判断是内核没有启动网络设备,但网络设备是正常的,又怀疑是内核配置原因,但不知是什么地方,请各位大虾帮忙!rnrn具体配置如下:rnLinux内核:linux2.6.24rn补丁:2.6.24-at91.patch.gzrn 2.6.24-at91-exp.patch.gzrn补丁来自atmel官方网站:http://www.at91.com/linux4sam/bin/view/Linux4SAM/LinuxKernelrnrn一、使用cramfs文件系统,系统正常启动,网络正常,可以ping通hostrn rn 内核配置: make at91sam9260ek_defconfigrnrn二、使用nfs文件系统,无法从nfs服务器启动,经网络抓包工具查探,开发板无任何数据从网络口发出rnrn 内核配置:在at91sam9260ek_defconfig的基础上再加上以下配置rn 1. 选中 Networking ---> rnNetworking options ---> rn[*] IP: kernel level autoconfiguration rn[*] IP: DHCP support rn[*] IP: BOOTP support rn[*] IP: RARP support rn2. Device Drivers ---> rnBlock devices ---> rn<*> Network block device support rn3. 选中 Device Drivers ---> rnEthernet (10 or 100Mbit) ---> rn<*> Atmel MACB support rn4. 选中 File systems ---> rnNetwork File Systems ---> rn<*> NFS file system support rn[*] Provide NFSv3 client support rn[*] Provide client support for the NFSv3 ACL protocol extension rn[*] Provide NFSv4 client support (EXPERIMENTAL) rn[*] Root file system on NFS rnrn

没有更多推荐了,返回首页