9260核心板二次开发

9260二次开发

 

 

如果你的板子还有uboot, 那就往下看吧,如果板子的uboot被擦除了,请到群上寻找其他资料,一下内容都是建立在具有uboot的基础上的。

如果你是想在这个板子上跑几个软件而已的,不涉及新的设备与驱动的话,请看我早些天在去上上传的“arm9.pdf”,其中讲的有,如何去掉root密码,进入板子原装系统。

如果你想将这块板子的的内核,文件系统等等完全自己定制的话,请看一下过程,在下面这些操作之后。你将可以将自己编译的内核文件烧写到板子的nandFlash中,并且自己启动,完全和原来一样,阅读此文章之前,希望你已经你已经具备Linux系统基础知识并且认真仔细阅读群上的共享文件“9260调试笔记”;

这里http://pan.baidu.com/s/1bnvUFT1我已经配置好的内核的源码,添加了UVC摄像头支持,无线网卡支持。Nandflash分区经过了调整,kernel分区调整到了3M,也就是说,只要你编译出来的内核小于3M,就可直接烧写在Flash上,无需U盘或SD卡作为中间加载项。当然,再阅读完了这些之后,nandflash的分区,你自己就可以随意定制了,这只是我这么设置的,不是唯一的。

这里是编译好的内核镜像http://pan.baidu.com/s/1uANRS

    这里是制作好的cramfs文件系统http://pan.baidu.com/s/1o6OE6xk,可按照下文指出的方法的将这些文件烧写在flash上,完全可用。

 

1.下载源码完了之后,首先解压:

2.进入源码目录

3.编辑Makefile文件,修改成你的编译器,默认你已经具备这项能力,不再说了。

4.打开linux-2.6.38/arch/arm/mach-at91/board-sam9260ek.c这个文件,你会看到

“static struct mtd_partition __initdata ek_nand_partition”

此结构中包含以下内容:

/*
 * NAND flash
 */
static struct mtd_partition __initdata ek_nand_partition[] = {
{
.name = "bootstrap",
.offset = 0,
.size = 0x20000,
},
{
.name = "u-boot",
.offset = 0x00020000,
.size = 0x00040000,
},
{
.name = "u-bootenv",
.offset = 0x00060000,
.size = 0x00020000,
},
{
.name = "kernel",
.offset = 0x00080000,
.size = 0x00300000,
},
{
.name = "rootfs",
.offset = 0x00380000,
.size = 0x00a00000,
},
{
.name = "home",
.offset = 0x00d80000,
.size = 0x01400000,
},
{
.name = "data0",
.offset = 0x02180000,
.size = 0x04200000,
},
{
.name = "data1",
.offset = 0x06380000,
.size =0x01c80000,
},
};


 

可以看到此结构支出了nandflash的分区信息,

重要的是,这里的分区信息必须要和uboot环境变量种的mtdpart种的参数一样,比如,我这里讲kernel增加到了3M,对应的也要改uboot中的变量,改成3Mkernel);

更改此项之后,配置内核,最好将nandflash 校验改成 “softCRC

以防挂载文件系统时出错。

然后make uImage

将生成的 uImage拷贝的U盘中

板子上电,

空格进入uboot

假如kernel分区改成了3M,那就输入以下命令

<span style="font-size:18px;">Setenv mtdparts mtdparts=at91_nand:128k(bootstrap),256k(u-boot),128k(u-bootenv),3072k(kernel),10m(rootfs),20m(home),66m(data0),-(data1)</span>


然后输入

<span style="font-size:18px;">setenv bootargs console=ttyS0 root=1f04 rootfstype=cramfs mtdparts=at91_nand:128k(bootstrap),256k(u-boot),128k(u-bootenv),3072k(kernel),10m(rootfs),20m(home),66m(data0),-(data1) enable232 vlcd=0xa1</span>

最终输入 sav

 

前两个命令中的大小参数是最重要的

比如我把kernel分区设成了3M 对应其中的3072kkernel

你用计算器算下刚好等于3M

然后就是烧写内核和文件系统了:

<span style="font-size:18px;">插入U盘 命令:usb start
fatload usb 0:1 20000000  uImage
nand erase kernel
nand write 20000000 kernel
fatload usb 0:1 20000000  root.cramfs
nand erase rootfs
nand write.e 20000000 rootfs</span>


 

写完了之后,reset,就会自动进入系统啦

 

 

 

 

 

 明显看到,内核分区到了3M,编译了usb网卡驱动,插入成功,其他的您就自由发挥吧,我也用这个跑了下mjpg-streamer,还行。下一步就是给这个弄个ubifs文件系统。用起来能方便些。

实在是瞌睡,写的好像比较混乱,反正差不多就是这样,编译过内核的人,一看就会一目了然的,不用多说了。

 

634328658最后编辑于20141119

http://blog.csdn.net/coderwuqiang

安装TFTP服务器端和客户端 root@yuanxh-desktop:/# sudo apt-get install tftp tftpd openbsd-inetd C,修改配置文件使用TFTP根目录 root@yuanxh-desktop:/home/yuanxh/at91_works# vi /etc/inetd.conf 在/etc/inetd.conf新行中填入以下内容 tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /tftpboot D,启动服务 root@yuanxh-desktop:/home/yuanxh/at91_works# /etc/init.d/openbsd-inetd restart E,测试服务 root@yuanxh-desktop:/home/yuanxh# touch /tftpboot/aaa root@yuanxh-desktop:/home/yuanxh# vi /tftpboot/aaa root@yuanxh-desktop:/home/yuanxh# tftp 192.168.1.100 tftp> get aaa tftp> quit root@yuanxh-desktop:/home/yuanxh# cat aaa 2,用命令配置NFS服务 A,安装NFS服务器端 root@yuanxh-desktop:/home/yuanxh# apt-get install nfs-kernel-server nfs-common portmap B,配置访问目录及权限 root@yuanxh-desktop:/home/yuanxh/at91_works# mkdir /nfsboot root@yuanxh-desktop:/home/yuanxh/at91_works# chmod 777 /nfsboot root@yuanxh-desktop:/home/yuanxh/at91_works# touch /nfsboot/yuanxh root@yuanxh-desktop:/# vi /etc/exports 在/etc/exports新行中填入以下内容 /nfsboot 192.168.1.0/24(rw,sync) C,启动服务 root@yuanxh-desktop:/# exportfs -ra root@yuanxh-desktop:/# /etc/init.d/portmap restart root@yuanxh-desktop:/# /etc/init.d/nfs-common restart root@yuanxh-desktop:/# /etc/init.d/nfs-kernel-server restart D,测试服务 root@yuanxh-desktop:/# mount 192.168.1.100:/nfsboot /mnt root@yuanxh-desktop:/home/yuanxh# ll /mnt root@yuanxh-desktop:/home/yuanxh# rm -rf /mnt/yuanxh root@yuanxh-desktop:/home/yuanxh# showmount root@yuanxh-desktop:/home/yuanxh# df root@yuanxh-desktop:/home/yuanxh# umount /mnt root@yuanxh-desktop:/home/yuanxh# ll /nfsboot
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值