嵌入式基础学习-U-Boot使用
U-Boot介绍
U-Boot,全称 Universal Boot Loader,是遵循GPL条款的开放源码项目。U-Boot的作用是系统引导。
选择U-Boot的理由:① 开放源码;
② 支持多种嵌入式操作系统内核,如Linux、NetBSD, VxWorks, QNX, RTEMS, ARTOS, LynxOS, android;
③ 支持多个处理器系列,如PowerPC、ARM、x86、MIPS;
④ 较高的可靠性和稳定性;
⑤ 高度灵活的功能设置,适合U-Boot调试、操作系统不同引导要求、产品发布等;
⑥ 丰富的设备驱动源码,如串口、以太网、SDRAM、FLASH、LCD、NVRAM、EEPROM、RTC、键盘等;
⑦ 较为丰富的开发调试文档与强大的网络技术支持;
U-Boot常用命令
所有命名在不冲突的情况下都可以简写
print 同printenv,打印波特率、IP地址、文件系统挂载点等信息
? 同help,显示所有命令
help 'name' 显示’name'命令的作用和使用方法
JZ2440 U-Boot菜单
空格键打断引导后直接就是菜单,q键退出后menu
命令可再次进入。菜单中按对应字母进入等待下载状态,同时会提示usb的连接状态。
- 在windows中打开dnw软件,USB Port -> Transmit 选择文件即会自动完成下载和烧写。这块板子的usb驱动很奇怪,禁用签名装上驱动后重启又会报签名问题,坑。
- 在linux中:把dnw放到/bin目录下,修改执行权限
sudo chmod +x /bin/dnw
,用lsusb命令查看是否有ID如下的设备确保连上Bus 002 Device 004: ID 5345:1234 Owon PDS6062T Oscilloscope
。下载命令格式为sudo dnw 文件
。
网络下载烧写
先设置开发板IP
set ipaddr 192.168.1.12 //此处保证和路由器ip在一个网段就行,和linux系统的ip无关
set serverip 192.168.1.242 //windows的IP,用于tftp传输
saveenv //永久保存
设置完后ping检测
ping 192.168.1.242 //开发板不回应ping包,只能从开发板ping电脑,提示host 192.168.1.242 is alive就完成了
tftp方式
首先在windows上打开tftp软件,选择bin文件目录,多网卡需要选择server interface为192.168.1.242;
裸板或更新u-boot:tftp 30000000 led_on.binnand erase bootloadernand write 30000000 bootloader
kernel:tftp 30000000 uImagenand erase kernelnand write.jffs2 30000000 kernel
fs:tftp 30000000 fs.yaffs2nand erase rootnand write.yaffs 30000000 260000 $(filesize)
如果文件系统为jfss2格式,应该修改bootargs 添加 rootfstype=jffs2
因为uboot会首先检测是不是yaffs2的格式,不是再以jffs2格式引导,而很多时候会出现误判为yaffs2格式导致异常setenv bootargs noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0,115200 rootfstype=jffs2
nfs方式
使用虚拟机ubuntu18系统(ip:192.168.1.11),需要装好nfs服务,最好先在板子中测试确保能挂载上。
板子中nfs 挂载:mount -t nfs -o nolock,vers=2 192.168.1.11:/home/xz/Work/nfs_root /mntmtdpart查看分区
nfs下载烧写到nand flash:nfs 30000000 192.168.1.11:/home/xz/Work/system/linux-2.6.22.6/arch/arm/boot/uImagenand erase kernelnand write.jffs2 30000000 kernel
嵌入式基础学习-U-Boot使用相关推荐
- 实战项目(一)嵌入式基础学习与上位机入门设计
Hello,大家好,首先自我介绍一下,我是大家的新朋友,也是这个教程的主要创建人,大家可以称呼我David,我个人从大学一直到研究生,甚至到工作一直在学习应用嵌入式,从最初的51单片机,到后期深度学习 ...
- 嵌入式基础学习-烧写工具
JZ2440裸板程序烧写只能通过JTAG工具,常用的是openJTAG和JLink,也有并口JTAG.通过以裸板程序烧写方式烧写u-boot后可用u-boot烧写裸板和上层程序. 驱动之前都是装好的, ...
- 零基础学习嵌入式入门以及项目实战开发【手把手教+国内独家+原创】
零基础学习嵌入式入门以及项目实战开发[手把手教+国内独家+原创] 独家拥有,绝对经典 创 科 之 龙 嵌入式开发经典系列教程 [第一期] 主讲人: ...
- 零基础学习嵌入式开发难吗?嵌入式开发需要学习什么
对于零基础刚开始学习嵌入式的同学很多都会有这样的一个想法,嵌入式开发需要学习什么?如果是电子或计算机专业的人,相对来说,会比较容易入门;而非电子或计算机专业的人,应该先从基本的电路和C语言编程开始学. ...
- 【创科之龙】零基础学习嵌入式开发以及项目实战开发【第二期视频】
[创科之龙]零基础学习嵌入式开发以及项目实战开发[学习交流零基础火热进行ing] 大家好,我是aiku,上期的项目学习资料在电子发烧友论坛上分享,大家觉得都很好. 在这里我首先要感谢电子发烧友给我们的 ...
- 鸟哥的linux私房菜-基础学习篇 读书笔记
从事linux工作一年多,算是能够熟练运用linux服务器,但仍觉得自己对Linux的原理,理论缺乏空洞,潜下心来认真阅读尘封的鸟哥经典,知识点很全,收获颇多,实践与知识结合,知行合一,对linux开 ...
- Linux绝对权限和相对权限法,Linux基础学习笔记
8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 学习计划里有一些关于Linux的知识,所以今后一段时间用来学习Linux的基础知识和服务器架设知识,平时一直在用,但是一 ...
- python心得体会-终于懂得python基础学习心得
为了提高模块加载的速度,每个模块都会在__pycache__文件夹中放置该模块的预编译模块,命名为module.version.pyc,version是模块的预编译版本编码,一般都包含Python的版 ...
- springboot 拦截器 日志_跟武哥一起学习Spring Boot,一份全面详细的学习教程
SpringBoot现在已经是企业开发项目的标准框架,至少新项目一般都会使用SpringBoot框架,发现有一个SpringBoot的笔记写的非常好,非常全面, 也非常认真,即使你对SpringBoo ...
最新文章
- 基础001_Xilinx V7资源
- Cypress EZ-USB FX3 DMA模式下的串口通讯
- 解决tomcat中temp文件夹出现项目的副本的情况
- 线程同步--关键代码段(二)
- 01-MySQL安装、配置和使用
- Atitit 收入理论大总结 4位一体 4象限理论 财政收入理论 6位一体
- wifi产品调试经验
- 数据结构实验之二叉树二:遍历二叉树(中序后序遍历)
- numpy.ones用法
- java (apache POI 组件) 操作 excel 插入批注
- Java多线程系列--【JUC线程池 03】- 线程池原理(二)
- 叮咚~您的MySQL云备份已上线
- matlab实现PS算法之亮度调整
- qt在表格中如何画线_在QtreeWidget中显示表格线,该如何处理
- 图灵 数理逻辑 人工智能 图灵机与计算问题 论文
- [兰顿蚂蚁]有感--诡异又不失优雅的蚂蚁
- 双色球彩票生成之一用户彩票号码随机生成
- 自学SQL网题解(6-12课题解)
- 一App付29元可查二手车维修保养记录 数据从哪来?
- 强迫症犯了,Python整理百度云盘文件大量重复无用文件
热门文章
- 渐变(Gradients)
- excel查找出不来了_Excel查找全部,如何把查找出来内容全部复制?
- 【学习笔记】NIM游戏与SG函数初探
- vue---父组件实时取到子元素的v-model
- 正则表达式中反斜杠的另一用法
- 拒了阿里offer,HR表示诧异,网友:这是你职业生涯的巅峰了
- mysql数据库访问记录_MySQL数据库运行、访问记录与日志
- linux下构建Smokeping网络监控平台
- Visual Studio Code插件-前端工程师开发必备
- 商品订购系统设计c语言有链表和指针,2014年计算机二级考试VF冲刺试卷及答案 2...