百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

嵌入式linux新手入门手记-第一次启动am335x

haoteby 2024-12-14 11:54 7 浏览

由于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 ?2000-2015 ELECTRONIC ENGINEERING & PRODUCT WORLD. All rights reserved.

相关推荐

别争了,Access数据库才是真正的低代码开发平台

Access数据库是微软公司搞出来的“奇葩”产品。...

Access开发轻松一键将 Access 全库表格导出为 Excel

hi,大家好呀!在日常工作中,Access常常是我们忠实的数据管家,默默守护着项目信息、客户列表或是库存记录。它结构清晰,录入便捷,对于许多中小型应用场景来说,无疑是个得力助手。然而,当我们需要对这...

跟我学:从零开始用Access设计一套完整的系统(一)

序言:Access是一款强大而灵活的数据库软件,可以设计和开发各种类型和规模的数据库应用程序。本文旨在为您提供从零开始设计Access数据库系统的详细指导,并通过实际案例演示如何在Access中设计和...

问卷调查管理程序 Access数据库 功能介绍和VBA代码分享

o本系统包含主要功能有:问卷管理,题目管理,问卷填写,调查结果统计,数据汇总导出o数据库系统包含:表,查询,窗体,VBA代码...

非绑定记录窗体查看管理数据 Access数据库功能模块 VBA代码编程

模块Public成绩IDnumAsLong学生成绩管理PrivateSubCommand更新_Click()DoCmd.SetWarnings(False)...

ACCESS中的DLookUp函数是如何运算的?

一、DLookUp函数介绍1.DLookUp函数的用途:可以用于从指定集合(一个域)中获取符合条件的特定字段的值。2.DLookUp函数的格式为:DLookUp(expr,domain,...

Excel常用技能分享与探讨(5-宏与VBA简介 VBA之用户窗体-一)

用户窗体(UserForm)是VBA中创建交互式界面的核心工具,可用于数据录入、设置参数或展示信息。...

【每日任务计划管理系统】Access数据库管理系统 VBA代码分享

窗体系统主页文本框,组合框,按钮,子窗体OptionCompareDatabase...

VBA高效开发:用用户窗体打造个性化数据录入工具

在日常办公中,Excel的数据录入是否总让你陷入这些困境?手动输入易错、格式混乱难追溯、重复操作耗时费力。今天,我们将突破常规,利用VBA的用户窗体(UserForm)构建一套“智能校验、流程清晰、...

VBA编程(基于Access)第1课:VBA的作用和学习方法

VBA,英文全称VisualBasicforApplications,直接翻译过来叫做“可以直接使用的VB语言”。...

Access数据库宏与VBA代码的使用(精品一)

Access数据库的宏相当于实现某一功能的一系列命令和操作,我们无需写代码,系统已经将主体代码集成一块,我们只需要做一些简单的操作即可,而VBA代码则是实实在在的代码写到程序里面,我们可以自己编写,也...

【每日任务管理系统】(2) VB 管理系统 代码 Visual Basic access数据库

窗体全部任务DimdhAsLong'存储高度差DimdwAsLong'存储宽度差...

VBA连接access数据库开发软件(vba调用数据库连接)

VBA连接access数据库开发小软件虽然VBA(包括VB)已不再流行,但是在某些场合还是比较方便的,尤其对非编程专业人员。灵活使用VBA,可以很十分方便的处理excel,access数据,提高工作效...

九章云极发布全新AI智算云平台:支持秒级生成百万级Token

6月16日,在在九章云极智能计算科技论坛上,九章云极宣布推出全新AI智算云平台“九章智算云AlayaNeWCloud2.0”,该平台基于Serverless技术架构与强化学习技术(RL)的深度融合...

浅谈基于大数据技术下的“云旅游”平台运营策略研究

云旅游体验平台是利用大数据和虚拟技术,构建虚拟旅游环境,能够改变旅游企业的营销模式和旅游者的消费模式。本文从云旅平台多维度数据信息的获取与分析,平台体验质量反馈信息数据构建,云旅游平台服务功能设计方案...