ARM开发板系统移植-----u-boot的编译
本文和另外两篇姊妹篇都是为了说明如何裁剪出适合在mini2440 开发板上运行的Linux系统,以记录自己的学习成果。其中本文先介绍了嵌入式系统的软件组成部分,然后介绍编译出适合在mini2440开发板上运行的uboot的方法步骤。
说明:笔者使用的开发平台---RetHat linux系统,开发板---Friendly mini2440
在开始讲述系统移植的具体方法之前,先大致了解一下嵌入式系统的软件组成:

从上面这个图可以看出,嵌入式系统的软件组成主要包括bootloader、内核以及根文件系统。当然还有bootloader传给内核的参数列表以及没画出来的应用软件。其中bootloader在开发板一上电就会被硬件自动载入内存并最先获得CPU的使用权。bootloader完成一些列的初始化工作,包括加载剩余的bootloader到内存中、初始化CPU(设置CPU各个功能模块到一个合适的状态,比如工作模式、关闭看门狗、设置向量表、设置堆栈等等)、初始化板载硬件资源如内存、串口、网卡、usb等等。当bootloader顺利完成以上工作以后,它就会将内核加载到内存中,并且传递启动的参数给内核,最后启动内核。
内核的工作就相对复杂得多了,不过基本上都是初始化硬件以及内核使用到的各种列表,并且启动相应的进程完成相应的工作,这里就不详细介绍。日后再撰文详细介绍内核启动过程都完成了哪些工作。不过这里需要了解的是内核在启动中会挂载一个根文件系统,作为后续系统各种文件系统的挂载点。
uboot的编译事实上很简单,大致可以分为两步:
1、配置uboot:此步骤是为了能够配置出适合在开发板使用的代码以便进行编译,进入uboot顶层目录使用如下命令:
make mini2440_config
2、编译uboot:此步骤编译出uboot的二进制可执行文件,使用如下命令:
make ARCH=arm CROSS_COMPILE=arm-linux-
完成上面两个步骤之后可以在顶层目录中找到可执行代码:u-boot.bin,这就是烧写到开发板的二进制映像。
ARM开发板系统移植-----u-boot的编译的更多相关文章
- ARM开发板系统移植-----rootfs的制作
前面两篇文章分别介绍了mini2440开发板上运行的bootloader和kernel,到这里系统启动后其实是停留在一个“僵死”的状态---无法挂载根文件系统. 这里将介绍如何制作一个根文件系统,并且 ...
- ARM开发板系统移植-----kernel的编译
前面一篇文章http://www.cnblogs.com/linzizhang/p/4817336.html介绍了开发板上系统软件的第一部分--bootloader的编译方法. 背景:把bootloa ...
- 烧写ARM开发板系统教程----->uboot 、内核以及文件系统
一.sd启动 将u-boot镜像写入SD卡,将SD卡通过读卡器接上电脑(或直接插入笔记本卡槽),通过"cat /proc/partitions"找出SD卡对应的设备,我的设备节点是 ...
- 列出当前ARM开发板系统加载的模块
lsmod 列出当前系统中加载的模块,其中左边第一列是模块名,第二列是该模块大小,第三列则是使用该模块的对象数目
- iTOP-IMX6UL 实战项目:ssh 服务器移植到 arm 开发板
实验环境:迅为提供的Ubuntu12.04.2 以及虚拟机 编译器:arm-2009q3 编译器 开发板系统:QT系统 开发板使用手册中给Windows 系统安装了 ssh 客户端,给 Ubunt ...
- 使用arm开发板搭建无线mesh网络(二)
上篇博文介绍了无线mesh网络和adhoc网络的区别,这篇文章将介绍无线mesh网络的骨干网节点的组建过程.首先需要介绍下骨干网节点的设计方案:每个骨干网节点都是由一块友善之臂的tiny6410 ar ...
- 【分享】iTOP4412开发板-Bluetooth移植文档
[分享]iTOP4412开发板-Bluetooth移植文档 最近须要把Bluetooth移植到iTOP-4412 开发平台.查阅了相关资料,经过一段时间的研究.调试,最终成功的将蓝牙功能移植到了开发板 ...
- ubuntu 交叉编译qt 5.7 程序到 arm 开发板
ubuntu 交叉编译qt 5.7 程序到 arm 开发板平台1 ubuntu 12.042 arm-linux-gcc 4.5.13 QT 5.74 开发板210 armcortex-A8 一 概述 ...
- ARM开发板挂载U盘
ARM开发板运行Linux系统后,插入U盘,通过串口打印系统识别到U盘如下: 系统识别U盘盘符为sda4 那么需要挂载后才能操作U盘:挂载命令 mount -t vfat /dev/sda4 /mnt ...
随机推荐
- TabHost自定义外观
博客园:http://www.cnblogs.com 农民伯伯: http://www.cnblogs.com/over140 版本 新浪微博 weibo_10235010.apk 正文 一.效果图 ...
- JAVA基础英语单词表(中)
factory / 'fæktəri / 工厂 fetch ...
- 浙大PTA - - File Transfer
题目链接:https://pta.patest.cn/pta/test/1342/exam/4/question/21732 #include "iostream" #includ ...
- cocos2d-x 事件分发机制 ——加速计事件监听
加速计事件监听机制 在上一篇中介绍了cocos2d-x中的触摸事件机制,这篇来介绍下游戏中也常常常使用到的加速计事件,这些都是游戏中的常常要用到的. 移动设备上一个非常重要的输入源是设备的方向.大多数 ...
- LabView 快捷键
对象调整和移动Shift-click 选择多个对象,在现有选择的基础上添加对象(方向键) 以一个像素为单位移动所选对象Shift- 以几个像素为单位移动所选对象Shift-click (拖动对象) 在 ...
- ZeroClipboard.swf
ZeroClipboard.config({ moviePath: "source/ZeroClipboard.swf", hove ...
- 在KALI LINUX中安装JAVA JDK
1. 下载最新的JAVA JDK jdk-8u91-linux-x64 2. 解压缩文件并移动至/opt tar -xzvf jdk-8u91-linux-x64.tar.gz mv jdk1.8.0 ...
- Linq分页
/// <summary> /// Linq分页 /// </summary> ;//每页条数 ;//总条数 ;//当前第几页 public static string con ...
- day-9
/* 考前第9天 区间*的线段树居然卡住了23333 明天再搞搞 今天针对考试复习了几个板子 手动堆都打了 实测比priority快 下午考试成了炮灰233333 晚上复习矩阵乘法 手推9*9矩阵 可 ...
- css3遇到的一些属性
rgba 是由red.green.blue 三种颜色搭配出来的box-shadow 向元素添加阴影层,水平阴影位置,垂直阴影位置,后面是可选:模糊距离,阴影大小,颜色,是否是 ...