上一小结我们已经烧写完u-boot,我烧写的u-boot是板子厂家定制的,本小节将利用这个u-boot烧写整个系统。当然,在系统移植篇的时候也会涉及到如何定制一个u-boot。

  烧写整个系统我们一个叫dnw的工具,dnw是一个USB工具,通过USB发送文件给具有USB下载功能的bootloader。也就说我用的厂家定制的u-boot已经具备了USB下载功能。我需要先安装一些库:

  sudo apt-get install libncurses5:i386 libstdc++6:i386 zlib1g:i386

  然后,使用提供的dnw工具,执行如下命令即可使用:

  sudo cp dnw /usr/bin/ && chmod +rx /usr/bin/dnw

  首先,在终端上输入“kermit”命令,打开板子的电源,系统进入u-boot。在倒计时结束前,按下空格键,u-boot就会进入命令模式,或者说是调试模式,这也是u-boot两大功能之一。串口已经输出了一些硬件信息和厂家定制的菜单,菜单如下所示:

[n] Download u-boot to Nand Flash
[k] Download Linux kernel uImage
[j] Download root_jffs2 image
[y] Download root_yaffs image
[d] Download to SDRAM & Run
[z] Download zImage into RAM
[g] Boot linux from RAM
[f] Format the Nand Flash
[s] Set the boot parameters
[b] Boot the system
[r] Reboot u-boot
[q] Quit from menu
Enter your selection:

  先烧写一个kernel,就在上面输入“k”,然后在你要烧写的image文件下输入:sudo dnw uImage。默认是通过USB传到内存的0x30000000地址,当然你也可以在命令后面直接加上内存的地址。等待传递完成之后,先擦除kernel分区,还需要在u-boot命令模式下把内存里的kernel写入nandflash:

  nand erase kernel

  nand write.jffs2 30000000 kernel

  就是把内存里的kernel写入nandflash的kernel分区。

  下面我们该烧写文件系统了,同样进入菜单,输入“y”,烧写yaffs2格式的文件系统:sudo dnw fs_qtopia.yaffs2。然后在u-boot命令模式下先擦除root分区,再把内存里的文件系统写入nandflash:

  nand erase root

  nand write.yaffs 30000000 260000 2f76b40

  也就说,把文件系统以yaffs的格式从内存0x30000000地址写入nandflash的0x260000的位置,大小是0x2f76b40。

  整个系统就烧写完成了,其实还有其他的烧写方式,如果u-boot可以支持网络下载,我们还可以使用tftp和nfs下载,有兴趣可以自己了解,后面有可能会提到。

  下一小节,将会介绍交叉编译工具。

转载于:https://www.cnblogs.com/richard-wangjian/p/5351582.html

嵌入式Linux之旅——环境搭建篇之烧写整个系统相关推荐

  1. 嵌入式linux编译环境搭建,嵌入式Linux之旅——环境搭建篇之交叉编译工具的安装...

    在正式开始学习裸机程序的编写之前,我们还需要安装一下交叉编译工具.何为交叉编译工具?其实就是在x86的ubuntu主机上编译程序,并且可以运行在arm环境的编译工具.而gcc是本地编译工具,这个在我们 ...

  2. 【嵌入式Linux】开发环境搭建

    一.概述 在进行某一个芯片平台开发前,一般都需要在电脑上安装一系列软件,然后在这些软件上阅读.编写.编译和调试在该平台上运行的代码,最后将编写好的代码通过某种方式烧录到该芯片的对应地址运行.在电脑上安 ...

  3. Android 8.1 【FriendlyARM】编译环境搭建与镜像烧写

    NanoPC-T4 不仅是世界上最小的全功能接口 RK3399 一体化主板, 而且是一款完全开源的高性能计算平台.它的尺寸只有 100x64mm,标配4GB LPDDR3 内存和 16GB 闪存, 板 ...

  4. 嵌入式Linux开发: 龙芯2K1000使用EJTAG烧写POPM

    一.环境介绍 宿主机环境:  ubuntu18.04 64位 目标开发板:  龙芯二代(2K1000) 需求说明:  在开发板使用过程中,如果不小心烧写错了POPM,导致开发板没法正常启动,这时候就可 ...

  5. esp32 linux内核,【小狂系列】跟着小狂玩ESP32之编译环境搭建篇

    本帖最后由 3guoyangyang7 于 2016-11-3 18:41 编辑 趁热要打铁,昨天发了ESP32的预告贴,今天小狂就带大家刷一刷ESP32的编译环境搭建.怎么说的,ESP32可以在多平 ...

  6. 嵌入式arm linux Java运行环境搭建和注意事项

    嵌入式arm linux Java运行环境搭建和注意事项 我的开发硬件环境 搭建步骤 1. 下载 ORacle 公司的ejdk-8u211-linux-arm-sflt.tar.gz(软件浮点版本,这 ...

  7. Linux下开发环境搭建---2. emacs篇

    Linux下开发环境搭建---2. emacs篇 本节主要参考:      曹乐的<在Emacs下用C/C++编程>      王纯业的<Emacs 一个强大的平台>      ...

  8. 树莓派4B爽上流安装python3的OpenCV(人脸检测识别—门禁“环境搭建篇”)

    树莓派4B安装OpenCV3.4.0人脸检测识别-门禁"环境搭建篇" 前言 一.准备工作 PC端软件 二.搭建树莓派环境 拓展TF内存卡 Tips:换源(python软件源) 修改 ...

  9. 第1章 Linux系统介绍与环境搭建准备

    第1章 Linux系统介绍与环境搭建准备 本章以操作系统的介绍作开篇,首先介绍操作系统的基础概念以及操作系统的原理:然后带领读者了解Unix/Linux的诞生和发展史,以及市面上常见的Unix/Lin ...

最新文章

  1. 怎么在手机上下载python模块_python下载模块然后怎么安装
  2. Ueditor的两种定制方式
  3. Rundll32.exe文件详解(显示我的电脑 取消自动登录)
  4. 新元素之section,article,aside
  5. Python爬虫对json数据解析爬取
  6. frp后台运行和停止
  7. TensorFlow 2.0开发者测试版来啦,正式版推出指日可待
  8. 计算机程序编辑的英语,编译程序是为把高级语言书写的计算机程序翻译成面向计算机的目标程序而使用的计算机程序...
  9. android AsyncTask 详细例子
  10. Nginx系列——Windows中安装Nginx
  11. hash算法_Hash 一致性算法的 Java 实现
  12. php金字塔怎么理解,我理解的金字塔原理
  13. antd源码解读 之 构建工具antd-tools
  14. Python:实现simpson rule辛普森法则算法(附完整源码)
  15. tauri打包慢:解决tauri的打包慢以及超时的方法
  16. 第十五周项目一----哈希表的运算及实现
  17. Win10开机取消微软登录密码
  18. 抖音自媒体平台上最容易上热门的7大领域,你知道吗?
  19. [Windows] 获取设备唯一标识
  20. 阿里巴巴字体图标的使用

热门文章

  1. 又一自动驾驶独角兽诞生!Momenta获2亿美元总融资,腾讯首投中国无人车
  2. Goodfellow说,聊失败才不是在秀优越...
  3. 阿里投资小鹏汽车,是提速自动驾驶布局的开端吗?
  4. Python:遍历指定目录下所有的c语言源代码文件
  5. oracle 分区表进行shrink操作
  6. Redis学习笔记(3)-XShell连接CentOSMini,并安装Redis
  7. [Aaronyang] 写给自己的WPF4.5 笔记[2依赖属性]
  8. Devexpress控件中TreeList的递归绑定数据
  9. HTML5基本知识小测验
  10. 一起谈.NET技术,40条ASP.NET开发Tip