CubieBoard中文论坛

 找回密码
 立即注册
搜索
热搜: unable
查看: 10411|回复: 4

一个带网络驱动的u-boot包

[复制链接]
发表于 2013-7-17 20:02:11 | 显示全部楼层 |阅读模式
本帖最后由 andy 于 2013-7-17 20:05 编辑

最近零零散散的在学习u-boot
把前面已经修改的发上来,我作了修改,修改的部分就是我在这里发的帖子
包括:
1、 使用SD卡启动,其他方式我没有试过
2|、增加了LED控制,板载的蓝色和绿色
3、打开了中断,使用定时器中断控制LED
4、移植了网络驱动,可以实现tftp
5、没解决的是nand驱动,正在研究中,有资料和代码的同学不妨共享一下,一起学习












  

如果不想编译,只想试试SD启动,这有编译好的


注意事项:
1、编译步骤

使用的编译器是arm-none-eabi-
版本4.7
如果使用其他编译器,请修改根目录的Makefile
将CROSS_COMPILE ?=arm-none-eabi-
改为你的编译器,例如CROSS_COMPILE ?= arm-linux-none-  

再将arch/arm/config.mk的
将CROSS_COMPILE ?= arm-none-eabi-
改为你的编译器,跟上面一样


make  cubieboard_config
make -j4
等待......

2、写入SD卡
写入SD卡工具在tools里面 ,编译sd_write.c,使之符合你的系统
gcc sd_write.c -o sd_write
将编译好的sd_write 移动到你的u-boot目录,假设你在tools目录:
mv  -r  sd_write  ../

假设你的sd卡在读卡器插到电脑时是 sdb, 在u-boot目录执行:
写sd卡有风险请谨慎操作,千万别写成你的硬盘,sd数据可能丢失
sd_write /spl/sunxi_spl.bin  /dev/sdb
sd_write u-boot.bin  /dev/sdb

取下sd,插到cubieboard

3、连接串口
方法请在论坛内看我的帖子,或其他人的帖子
4、连接网线
首先电脑上要建立tftp服务器,请百度
5、上电
不出意外,你将看见蓝灯闪烁,绿灯我关掉了,太刺眼

测试
参数修改
ip我写了固定值,在文件include/configs/sunxi-comm.h内,请查阅
可以上电直接修改参数,但不能保存,因为没有NAND驱动


U-Boot SPL 2012.10 (Jun 17 2013 - 22:57:08)
DRAM: 1024MB
SUNXI SD/MMC: 0


U-Boot 2012.10 (Jun 17 2013 - 22:57:08) for Cubieboard Setting

CPU:   SUNXI Family
Board: Cubieboard
I2C:   ready
Running board_init_f() in file board.c,line  313
DRAM:  1 GiB
Running board_init_r() in file board.c,line  481
NAND:  board_nand_init()
end of nand_init
maf_id = 0x0
dev_id = 0x0
nand type = 0xffffffed
No NAND device found!!!
0 MiB
MMC:   SUNXI SD/MMC: 0
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   eth net device register.
wemac
Hit any key to stop autoboot:  0
andy_sun4i#



命令测试
andy_sun4i# version

U-Boot 2012.10 (Jun 17 2013 - 22:57:08) for Cubieboard Setting
arm-none-eabi-gcc (Sourcery CodeBench Lite 2012.09-63) 4.7.2
GNU ld (Sourcery CodeBench Lite 2012.09-63) 2.23.51.20120829



andy_sun4i# pri
baudrate=115200
boot_mmc=fatload mmc 0 0x43000000 script.bin && fatload mmc 0 0x48000000 ${kernel} && watchdog 0 && bootm 0x48000000
bootcmd=if run loadbootenv; then echo Loaded environment from ${bootenv};env import -t ${scriptaddr} ${filesize};fi;if test -n ${uenvcmd}; then echo Running uenvcmd ...;run uenvcmd;fi;if run loadbootscr; then echo Jumping to ${bootscr};source ${scriptaddr};fi;run setargs boot_mmc;
bootdelay=3
bootenv=uEnv.txt
bootscr=boot.scr
console=ttyS0,115200
ethact=wemac
ethaddr=11:22:33:44:55:66
ipaddr=192.168.1.20
kernel=uImage
loadbootenv=fatload mmc 0 $scriptaddr ${bootenv} || ext2load mmc 0 $scriptaddr ${bootenv} || ext2load mmc 0 $scriptaddr boot/${bootenv}
loadbootscr=fatload mmc 0 $scriptaddr ${bootscr} || ext2load mmc 0 $scriptaddr ${bootscr} || ext2load mmc 0 $scriptaddr boot/${bootscr}
loglevel=8
panicarg=panic=10
root=/dev/mmcblk0p2 rootwait
scriptaddr=0x44000000
serverip=192.168.1.10
setargs=setenv bootargs console=${console} root=${root} loglevel=${loglevel} ${panicarg} ${extraargs}
stderr=serial
stdin=serial
stdout=serial

Environment size: 1117/131068 bytes
andy_sun4i#


















本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

 楼主| 发表于 2013-7-17 20:05:41 | 显示全部楼层
本帖最后由 andy 于 2013-7-17 20:07 编辑

沙发,里面多的打印信息是我调试nand时候加的,还没调通
NAND:  board_nand_init()
end of nand_init
maf_id = 0x0
dev_id = 0x0
nand type = 0xffffffed
No NAND device found!!!
回复 支持 反对

使用道具 举报

发表于 2013-7-18 11:36:26 | 显示全部楼层
谢谢了
回复 支持 反对

使用道具 举报

发表于 2013-7-18 18:07:51 | 显示全部楼层
这里有个带sunxi-nand驱动的u-boot:https://github.com/yuq/u-boot-sunxi/,但直接编译出来的我这边没法启动。刚费了半天劲移植到我用的上面,但总觉的还是不太对头(见下)。LZ看看有没有用吧。
sun4i#nand info
Device 0: nand0, sector size 1024 KiB
  Page size      8192 b
  OOB size        218 b
  Erase size  1048576 b
回复 支持 反对

使用道具 举报

发表于 2015-6-2 09:57:51 | 显示全部楼层
写了很多关于uboot教程。楼主
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|粤ICP备13051116号|cubie.cc---深刻的嵌入式技术讨论社区

GMT+8, 2024-11-23 01:39 , Processed in 0.025964 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2012 Comsenz Inc. | Style by Coxxs

返回顶部