arm开发板刷机方法
1.linux系统启动方式
bootloader->kernel->system
在嵌入式系统中内存为DRAM,inand flash 都不能直接启动需要被初始化。其中初始化程序在(bootloader中)。
解决思路是通过内部irom中的bl0代码引导执行uboot。
启动uboot可以有多种方式,可以使用内部emmc启动,sd卡启动,usb启动等多种方法。
由于优先级不同,用sd卡启动时除了必要的硬件配置(拨码开关等)也必须破坏内部emmc中的uboot才能通过sd卡启动uboot。
在linux系统下破坏uboot的方法:
破坏iNand中的bootloader以从SD2启动
linux下:
busybox dd if=/dev/zero of=/dev/block/mmcblk0 bs= seek= count= conv=sync
sync
uboot下:
movi write u-boot 0x30000000
制作启动SD卡有两种方法
有2种烧写方法:一种是在windows中用刷卡工具去制作启动SD卡;
另一种是在linux中用dd命令。
linux系统的DD命令后面统一讲。
调试开发板时使用SecureCRT可以有效观看到系统的linux命令行界面,或者可以进入uboot界面。
2.刷机
2.1(使用fastboot)
插入sd卡启动的时候,通过SecureCRT可以进入uboot界面。
uboot下可以使用fastboot命令。连接电脑(需要安装相应驱动)。通过fastboot命令将bootloader,kernel,system可以下载到开发板中。
2.2(使用dnw)
刷机分2步:第一步刷x210_usb.bin,地址是0xd0020010;第二步刷uboot.bin,刷机地址是0x23e00000
3.linux系统下工具使用
由于windows下驱动或者兼容性等问题。部分软件使用十分麻烦。好在以上所有操作在linux系统下都有相应的工具。
3.1linux系统下的SD的烧写
连接进linux中,在命令行中:ls /dev/sd*查看,和之前对比,就知道SD卡在linux中的设备编号了,一般是/dev/sdb。
执行 ./nand_fusing.sh /dev/sdb(nand_fusing.sh是写好的一个脚本本质是通过dd命令)
3.2linux下的fastboot
fastboot在ubuntu下可以通过apt-get获取到。
使用:在uboot下输入fastboot连接到电脑上(有时需要执行fdisk -c 0分区)
fastboot常用命令:
fastboot devices 命令用来查看当前连接的设备。(我们开发板看到的是:SMDKC110-)
fastboot flash xxx 命令用来烧录的
fastboot reboot 命令用来重启系统 fastboot flash bootloader android2./uboot.bin 烧uboot
fastboot flash kernel android2./zImage 烧linux kernel
fastboot flash system android2./x210.img 烧android rom
3.2linux下的dnw使用(裸机下载或刷机都可以使用)
linux下的dnw命令为一个网上找的开源代码。
使用格式如下
dnw -a <地址> <目标>
dnw -a 0xd0020010 len.bin
arm开发板刷机方法的更多相关文章
- S5PV210开发板刷机(SD卡uboot、串口+USB-OTG刷机方法)
一.介绍 九鼎的S5PV210开发板,在出厂前已经默认刷了Android4.0系统.如果需要刷其它的系统或者是由于系统问题无法启动时,就需要对板子刷机. 其实,刷机是对210开发板的一个基础学习,目的 ...
- Windows10、ARM开发板、VMware虚拟机同时连接Internet
前段时间有人遇到一些网络连接问题,让我帮忙处理,他想让ARM开发板连接外网,可以连接网络数据库,同时保证自己的电脑可以上网. 本来说直接可以连接一个路由器,分配一个内网IP给ARM就可以了,但是当时那 ...
- 一步步教你如何在Ubuntu虚拟机中安装QEMU并模拟模拟arm 开发环境(一)uImage u-boot(转)
初次接触qemu是因为工作的需要,有时候下了班,可能需要在家研究一些东西,因为博主用到arm环境,这时候博主比较小气,不愿花钱买开发板,当然博主在这里给大家的建议是,如果要真正学懂arm构架的相关知识 ...
- iOS-提高iOS开发效率的方法和工具
提高iOS开发效率的方法和工具 介绍 这篇文章主要是介绍一下我在iOS开发中使用到的一些可以提升开发效率的方法和工具. IDE 首先要说的肯定是IDE了,说到IDE,Xcode不能跑,当然你也可能同时 ...
- ARM 开发工具 Keil和DS-5的比较。
http://www.eeboard.com/bbs/thread-25219-1-1.html 如今ARM体系架构的处理器在嵌入式市场上呼风唤雨,从低端的MCU应用到高端的多媒体消费电子,移动设备领 ...
- windows10UWP开发真机调试时遇到DEP6100和DEP6200解决办法
windows10UWP开发真机调试时遇到DEP6100和DEP6200(其实未连接上设备都会报这两个错误,无论真机还是虚拟机)…… 此方法适合真机调试时遇到: 弹出提示框要求输入配对码,无论如何输入 ...
- 使用arm开发板搭建无线mesh网络(二)
上篇博文介绍了无线mesh网络和adhoc网络的区别,这篇文章将介绍无线mesh网络的骨干网节点的组建过程.首先需要介绍下骨干网节点的设计方案:每个骨干网节点都是由一块友善之臂的tiny6410 ar ...
- 蜂鸟A20开发板刷 cubietruck 的 SD 卡固件
美睿视讯 为蜂鸟A20准备的 MerriiLinux 功能非常简陋.所以能用上主流的 debian 或者 LUbuntu 就可以说是非常迫切的需求了.蜂鸟A20(Merrii Hummingbird ...
- Xcode 4.1~4.6 + iOS 5、iOS 6免证书(iDP)开发+真机调试+生成IPA全攻略
原创文章,欢迎分享:未经许可,不得转载:版权所有,侵权必究 开发环境使用的是目前为止最新的稳定版软件:Mac OS X Lion 10.7 + Xcode 4.1 目前Xcode 4.2 Previe ...
随机推荐
- 从零开始的Python学习Episode 3——字符串格式化与for循环
一.字符串格式化 利用一段注释记录想要输出的字符串格式,并用 %s . %d 或 %f 依次代替要输出的数据(%s代表字符串,%d代表数字,%f代表浮点数),然后在这段注释之后依次加上要输出的数据. ...
- Windows下PHP安全环境的搭建
笔者一直在Windows环境下搭建PHP的运行环境,大大小小的运行环境用过不少,从开始的WAMP到后来的XAMPP以及PHPnow.WAMP和XAMPP都是继承mysql apache以及PHP库的运 ...
- [C++] Class (part 2)
Members that are const or reference must be initialized. Similary, members that are of a class type ...
- [leetcode-693-Binary Number with Alternating Bits]
Given a positive integer, check whether it has alternating bits: namely, if two adjacent bits will a ...
- nodejs笔记--Events篇(二)
常用事件 /* 调用events模块,获取events.EventEmitter对象 */ var EventEmitter = require('events').EventEmitter; var ...
- 20145214 《Java程序设计》第6周学习总结
20145214 <Java程序设计>第6周学习总结 教材学习内容总结 串流设计 Java将输入/输出抽象化为串流,数据有来源及目的地,衔接两者的是串流对象. 输入串流代表对象为java. ...
- 接口文档管理工具-Postman、Swagger、RAP(转载)
接口文档管理工具-Postman.Swagger.RAP 转自:http://www.51testing.com/html/10/n-3715910.html 在项目开发测试中,接口文档是贯穿始终的. ...
- 算法与数据结构实验题 6.3 search
★实验任务 可怜的 Bibi 刚刚回到家,就发现自己的手机丢了,现在他决定回头去搜索 自己的手机. 现在我们假设 Bibi 的家位于一棵二叉树的根部.在 Bibi 的心中,每个节点 都有一个权值 x, ...
- Why is setTimeout(fn, 0) sometimes useful?
http://stackoverflow.com/questions/779379/why-is-settimeoutfn-0-sometimes-useful jquery validation s ...
- js 拼接字符串时,本来想要’#1′ ,返回的却是’#01′
今天在操作一个元素时,id值是拼接的. var index = $(this).attr(‘index’); //0var id = ‘#’ + (index+1); //#01$(id) ...