
Uboot和系统移植
基于X210的uboot移植 和系统移植
big__C
小白
展开
-
Uboot和系统移植(1)-------了解Uboot
目录了解uboot为什么要有uboot为什么是ubootuboot必须解决哪些问题uboot的工作方式了解uboot为什么要有uboot1、计算机系统的主要部件(1)计算机系统就是有CPU来做核心进行运行的系统。典型的计算机系统有:PC机(台式机+笔记本)、嵌入式设备(手机、平板电脑、游戏机)、单片机(家用电器像电饭锅、空调)(2)计算机系统的组成部件非常多,不同的计算机系统组成部件也不...原创 2020-04-14 23:51:31 · 399 阅读 · 0 评论 -
Uboot和系统移植(2)------- Uboot的常用命令与环境变量
目录一,Uboot命令的背景知识二,Uboot的命令命令集补充:开发板和主机的ping通三,Uboot的常用环境变量四,Uboot中对Flash和DDR的管理一,Uboot命令的背景知识1、类似linux终端的行缓冲命令行(1)行缓冲的意思就是:当我们向终端命令行输入命令的时候,这些命令没有立即被系统识别,而是被缓冲到一个缓存区(也就是系统认为我们还没有输入完),当我们按下回车键(换行)后系...原创 2020-04-16 14:57:23 · 487 阅读 · 0 评论 -
Uboot和系统移植(3)------- 补基础之shell和Makefile
目录一,shell介绍二,动手写第一个shell三,1.shell编程学习2.shell中的循环结构3.shell中其他值得关注的知识点四,Makefile基础回顾五,Mafile补充学习一,shell介绍1、shell是操作系统的终端命令行(1)shell可以理解为软件系统提供给用户操作的命令行界面,可以说它是人机交互的一种方式。(2)我们可以使用shell和操作系统、uboot等软件系...原创 2020-04-21 15:23:46 · 403 阅读 · 0 评论 -
Uboot和系统移植(4)------- 零距离初体验uboot
目录一,X210官方uboot配置编译实践二,Uboot的源码目录分析1.uboot的源码目录分析12.uboot的源码目录分析23.uboot的源码目录分析3一,X210官方uboot配置编译实践1、找到官方移植好的uboot(BSP概念)(1)源头的源代码是uboot官网下载的。这个下载的源代码可能没有你当前使用的开发板的移植,甚至找不到当前开发板使用的SoC对应的移植版本。(2)So...原创 2020-04-22 15:11:47 · 410 阅读 · 0 评论 -
Uboot和系统移植(5)------- uboot配置和编译过程
目录Uboot主Makefile分析uboot主Makefile分析1uboot主Makefile分析2uboot主Makefile分析3uboot主Makefile分析4uboot主Makefile分析5uboot主Makefile分析6Uboot配置过程uboot配置过程详解1uboot配置过程详解2Uboot的链接脚本Uboot主Makefile分析uboot主Makefile分析11...原创 2020-04-25 16:05:38 · 468 阅读 · 0 评论 -
Uboot和系统移植(6)------- uboot启动的第一阶段源码分析
目录一,start.S解析1二,start.S解析2三,.start.S解析3四,start.S解析4--------跳转到lowlevel_init函数start.S引入1、u-boot.lds中找到start.S入口(1)在C语言中整个项目的入口就是main函数(这是C语言规定的),所以譬如说一个有10000个.c文件的项目,第一个要分析的文件就是包含了main函数的那个文件。(2)在...原创 2020-04-28 16:07:25 · 396 阅读 · 0 评论 -
Uboot和系统移植(7)------- uboot启动的第二阶段源码分析
目录start_armboot函数简介一,start_armboot解析1二,start_armboot解析2-------init_sequence里的init函数分析1、cpu_init2、board_init3、interrupt_init4、env_init5、init_baudrate6、serial_initstart_armboot函数简介1、一个很长的函数(1)这个函数在u...原创 2020-05-01 15:14:40 · 430 阅读 · 0 评论 -
Uboot和系统移植(8)------- uboot如何启动内核
目录一,uboot和内核到底是什么二,启动内核步骤zImage和uImage的区别联系zImage启动uImage启动do_bootm_linux函数传参详解一,uboot和内核到底是什么1、uboot本质是一个裸机程序(1)uboot的本质就是一个复杂点的裸机程序。和我们在ARM裸机全集中学习的每一个裸机程序并没有本质区别。(2)ARM裸机第十六部分写了个简单的shell,这东西其实就是...原创 2020-05-03 22:25:08 · 390 阅读 · 0 评论 -
Uboot和系统移植(9)------- uboot命令体系的源码分析
目录一,uboot命令体系基础二,uboot命令解析和执行过程分析三,uboot如何处理命令集四,uboot中增加自定义命令一,uboot命令体系基础1、使用uboot命令(1)uboot启动后进入命令行环境下,在此输入命令按回车结束,uboot会收取这个命令然后解析,然后执行。(1)uboot命令体系的实现代码在uboot/common/cmd_xxx.c中。有若干个.c文件和命令体系有...原创 2020-05-04 15:31:01 · 370 阅读 · 0 评论 -
Uboot和系统移植(10)------- uboot环境变量的源码分析
目录uboot的环境变量基础环境变量相关命令源码解析uboot内部获取环境变量uboot的环境变量基础1、环境变量的作用(1)让我们可以不用修改uboot的源代码,而是通过修改环境变量来影响uboot运行时的一些数据和特性。譬如说通过修改bootdelay环境变量就可以更改系统开机自动启动时倒数的秒数。2、环境变量的优先级(1)uboot代码当中有一个值,环境变量中也有一个值。uboot...原创 2020-05-06 15:18:33 · 378 阅读 · 0 评论 -
Uboot和系统移植(11)------- uboot的硬件驱动部分
目录一,uboot与linux驱动二,简单分析iNand/SD驱动1.iNand/SD驱动解析12.iNand/SD驱动解析2三、驱动框架思想一,uboot与linux驱动1、uboot本身是裸机程序(1)裸机本来是没有驱动的概念的(狭义的驱动的概念就是操作系统中用来具体操控硬件的那部分代码叫驱动)(2)裸机程序中是直接操控硬件的,操作系统中必须通过驱动来操控硬件。这两个有什么区别?本质区...原创 2020-05-06 23:19:49 · 311 阅读 · 0 评论 -
Uboot和系统移植(12)------- 从三星官方uboot开始移植
目录移植前的准备工作移植前的准备工作1、三星移植过的uboot源代码准备(1)三星对于S5PV210的官方开发板为SMDKV210,对应的移植过的uboot是:网盘/2.uboot和linux内核移植(努力更新中)\资源下载\三星官方为210移植过的uboot和kernel/android_uboot_smdkv210.tar.bz2(2)这个源代码网上是下载不到的,三星官方是不会把这些东...原创 2020-09-17 14:54:03 · 471 阅读 · 0 评论 -
Uboot和系统移植(15)------- 话说Linux内核
目录一,内核和发行版的区别二,内核和驱动,应用程序,根文件系统的关联三,linux内核的模块化设计四,选择合适版本的内核一,内核和发行版的区别1、到底什么是操作系统(1)linux、windows、android、ucos就是操作系统(2)操作系统本质上是一个程序,由很多个源文件构成,需要编译连接成操作系统程序(vmlinz、zImage)(3)操作系统的主要作用就是管理计算机硬件,给应...原创 2020-05-07 17:56:33 · 348 阅读 · 0 评论 -
Uboot和系统移植(16)------- Linux内核的配置和编译原理
目录一,linux内核源码目录结构二,内核配置和编译体验三,内核的配置原理四,menuconfig的使用和演示五,menuconfig的工作原理六,Kconfig文件详解一,linux内核源码目录结构1、源码从哪里来(1)之前讲过,我们使用2.6.35.7版本的内核。这个版本的内核有三种:第一种是kernel.org上的官方版本,第二种是三星移植过的,第三种是九鼎X210的移植版本。我们使用第三种内核来讲解,后面的移植实验使用第二种内核来移植。(2)解压后最终在windows下得到了一个kernel原创 2020-05-09 14:12:22 · 726 阅读 · 0 评论 -
Uboot和系统移植(17)------- Linux内核的启动过程
目录一,makefile和链接脚本的简单分析二,head.S文件分析1.前段分析2.内核启动的汇编阶段分析3.内核启动的C语言阶段分析3.1内核启动文件main.c -------> Do necessary setups3.2补充进程知识3.3rest_init三,cmdline常用参数一,makefile和链接脚本的简单分析1、Makefile分析(1)kernel的Makefile写法和规则等和uboot的Makefile是一样的,甚至Makefile中的很多内容都是一样的。(2)ke原创 2020-05-10 23:17:28 · 685 阅读 · 0 评论 -
Uboot和系统移植(18)-------- 根文件系统的原理
目录一,根文件系统概述二,根文件系统的形式三,自己制作ext3格式的根文件系统四,nfs方式启动自制简易文件夹形式的rootfs五,到底什么是linuxrc六,最小的文件系统有什么七,VFS简介一,根文件系统概述1、为什么需要根文件系统(1)init进程的应用程序在根文件系统上(2)根文件系统提供了根目录/(3)内核启动后的**应用层配置(etc目录)**在根文件系统上。几乎可以认为:发行版=内核+rootfs(4)shell命令程序在根文件系统上。譬如ls、cd等命令总结:一套linux体系原创 2020-05-13 17:09:48 · 715 阅读 · 0 评论 -
Uboot和系统移植(19)------- 根文件系统构建过程详解
目录busybox的移植实战busybox的移植实战1、busybox源码下载(1)busybox是一个开源项目,所以源代码可以直接从网上下载。(2)busybox的版本差异不大,版本新旧无所谓。(3)下载busybox可以去busybox官方网站下载。2、修改Makefile(1) ARCH = arm(2) CROSS_COMPILE = (安装交叉编译工具链的路径)/arm-none-linux-gnueabi-3、make menuconfig进行配置配置如下:Busybox原创 2020-05-27 00:26:31 · 690 阅读 · 0 评论