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

最新文章

  1. swift block
  2. myslq 基本命令
  3. [daily][device] linux添加打印机
  4. UIScrollView子控件的布局
  5. gdb 7.11
  6. windows初始化后做了哪些事情
  7. yii学习小结
  8. 【JavaScript】关于prototype原型的一些链接
  9. 机器学习 —— 概率图模型(推理:MAP)
  10. MVC中提示错误:从客户端中检测到有潜在危险的 Request.Form 值的详细解决方法
  11. 编译安装php Cannot find MySQL header files under /usr/include/mysql.
  12. [转载]__type_traits
  13. R语言学习 第十一篇:日期和时间
  14. mvn -DskipTests和-Dmaven.test.skip=true区别
  15. TCP/IP 三次握手
  16. [Win] Win8权限机制导致R安装包失败
  17. ambari下的flume和kafka整合
  18. 【EOJ Monthly 2018.7】【D数蝌蚪】
  19. linux开启swap(磁盘缓存)操作
  20. J2SE基础:8.系统经常使用类二

热门文章

  1. Redis4.0支持的新功能说明
  2. nordic mesh中的消息缓存实现
  3. Python3 Tkinter-Scrollbar
  4. POJ 3525/UVA 1396 Most Distant Point from the Sea(二分+半平面交)
  5. POJ 2653 Pick-up sticks(线段判交)
  6. win10 死机
  7. encode 与 decode
  8. P4编程环境搭建
  9. 使用cout进行格式化
  10. qwe