网站首页 > 编程文章 正文
由于nand中没有MLO和u-boot.img,所以我们需要设置am335x处于SD卡启动模式,从SD卡启动。
从SD卡启动,对SD卡的设置比较简单,将SD卡设置为FAT16分区,并格式化,然后将MLO,u-boot.img拷贝到SD卡上。由于我们不需要进入到kernel,所以不拷贝uImage,也不制作ubi分区。
设置am335x的LCD_data4:0为b10111,从SD卡启动(MMC0),插入制作好的SD卡到卡槽中。将am335x电路板通电,等u-boot.img启动时按下键盘任意键,超级终端显示“U-Boot:”提示符,即进入到命令行操作模式。输入以下内容,设置网络参数:
setenv ipaddr 192.168.1.51 //设置am335x板的ip地址
setenv serverip 192.168.1.50 //设置tftp和nfs的ip地址
确保计算机的tftp服务已经正确启动,/home/XXXX/tftp目录下有MLO,u-boot.img和uImage。执行以下的命令:
mw.b 0x82000000 0xff 0x20000 //将DDR的0x82000000,长度0x20000空间填充为0xff
tftp 0x82000000 MLO //从tftp服务器下载MLO到DDR的0x82000000开始的空间
nandecc hw 2 //设置DDR的工作模式
nand erase 0x0 0x20000 //擦除nand地址0x0开始,长度0x20000空间
nand write.i 0x82000000 0x0 0x20000 //将DDR地址0x82000000空间的数据写入到nand的0x0开始的空间,写入长度0x20000
上述命令将MLO写入到nand的地址0x0开始的空间。
mw.b 0x82000000 0xff 0x40000
tftp 0x82000000 u-boot.img
nand erase 0x80000 0x40000
nand write.i 0x82000000 0x80000 0x40000
上述命令将u-boot.img写入到nand的地址0x80000开始空间。
我们将使用nfs来加载uImage,以及根文件系统,所以下面的命令可以先不执行。
mw.b 0x82000000 0xff 0x500000
tftp 0x82000000 uImage
nand erase 0x280000 0x500000
nand write 0x82000000 0x280000 0x500000
上述命令将uImage写入到nand的0x280000的空间。
mw.b 0x82000000 0xff 0x2000000
tftp 0x82000000 ubi.img
nand erase 0x780000 0xf880000
nand write 0x82000000 0x780000 0x2000000
上述命令将根文件系统写入到nand的0x780000空间,长度为0x2000000。这里要注意长度应该比ubi.img实际字节大一些。
ubi.img文件的制作方法在后续的手记中记录。
上述完成后,执行nand erase 0x260000 0x20000,清除u-boot的启动参数,然后设置bootargs和bootcmd。
setenv ipaddr 192.168.1.51
setenv serverip 192.168.1.50
setenv bootargs console=ttyO0,115200n8 noinitrd root=/dev/nfs rw nfsroot=192.168.1.50:/home/XXXX/nfs ip=192.168.1.51:192.168.1.50::255.255.255.0::eth0::off mem=256M init=/linuxrc
set bootcmd 'nfs 0x82000000 192.168.1.50:/home/XXXX/nfs/boot/uImage;bootm 0x82000000'
saveenv //保存环境变量
上述将设置am335x板的ip地址,tftp和nfs服务器的ip地址,以及从nfs服务器加载uImage和ubi跟文件系统。
最后保存好上述环境变量后,将am335x电路板断电,然后将LCD_data(4:0)设置为b10011,从nand启动。
重新启动电路板,当u-boot启动后,将会自动从192.168.1.50的nfs/boot目录下下载uImage并启动。kernel启动后,将自动将192.168.1.50的nfs目录作为根文件系统加载到am335x的“/”下。
加入微信
更多内涵你懂的!
搜索微信公众号:电子产品世界
或用微信扫描二维码:
Copyright (c)2000-2015 ELECTRONIC ENGINEERING & PRODUCT WORLD. All rights reserved.
猜你喜欢
- 2025-01-31 自制操作系统之二:自制并启动系统
- 2025-01-31 计算机启动知识系列 - 一个UEFI例子
- 2025-01-31 华硕ROG Phone一代手机ZS600KL获取完美root详细刷机教程
- 2025-01-31 十行代码实现十亿图片检索,我们把它开源了
- 2025-01-31 更新慢?Win10预览版9860自制ISO镜像下载
- 2025-01-31 移植Linux:如何制作rootfs?详细教程
- 2025-01-31 重装系统出现file not found解决步骤
- 2025-01-31 【信创】麒麟桌面操作系统修改GRUB界面字体大小
- 2025-01-31 借助这款软件,我把 N 个系统塞进了硬盘!
- 2025-01-31 谷歌发布Android 5.0 底包驱动下载地址及安装步骤
你 发表评论:
欢迎- 06-24一个老爸画了超级有爱的365幅画 | 父亲节献礼
- 06-24产品小白看魏则西事件——用产品思维审视百度推广
- 06-24某教程学习笔记(一):13、脚本木马原理
- 06-24十大常见web漏洞——命令执行漏洞
- 06-24初涉内网,提权那些事(内网渗透提权)
- 06-24黑客命令第16集:47种最常见的**网站方法2/2
- 06-24铭说 | 一句话木马的多种变形方式
- 06-24Java隐藏的10倍效率技巧!90%程序员不知道的魔法方法(附代码)
- 最近发表
- 标签列表
-
- spire.doc (70)
- instanceclient (62)
- solidworks (78)
- system.data.oracleclient (61)
- 按键小精灵源码提取 (66)
- pyqt5designer教程 (65)
- 联想刷bios工具 (66)
- c#源码 (64)
- graphics.h头文件 (62)
- mysqldump下载 (66)
- libmp3lame (60)
- maven3.3.9 (63)
- 二调符号库 (57)
- git.exe下载 (68)
- diskgenius_winpe (72)
- pythoncrc16 (57)
- solidworks宏文件下载 (59)
- qt帮助文档中文版 (73)
- satacontroller (66)
- hgcad (64)
- bootimg.exe (69)
- android-gif-drawable (62)
- axure9元件库免费下载 (57)
- libmysqlclient.so.18 (58)
- springbootdemo (64)
本文暂时没有评论,来添加一个吧(●'◡'●)