UBOOT从零开始的学习
文章平均质量分 73
1、UBOOT基本功能介绍
2、UBOOT源码分析
3、UBOOT的启动流程分析
4、UBOOT移植分析
conding123
嵌入式音视频软件开发(海思,MSTAR,国科,君正)
2753381576@qq.com
展开
-
从零开始的UBOOT的学习1--UBOOT是用来干嘛的?
从零开始的UBOOT的学习1--UBOOT是用来干嘛的?参考朱有鹏UBOOT全集UBOOT本身就是为了启动内核,其实你自己写一个BootLoader是比较简单的,没有UBOOT的那么多的工具,UBOOT提供了两个比较强的工具:环境变量和命令,使得UBOOT的启动内核游刃有余。1、UBOOT的常用命令(1)tftp下载指令tftpUBOOT本身主要的目标是为了启动原创 2018-04-21 16:22:27 · 3628 阅读 · 0 评论 -
从零开始的UBOOT的学习2--shell的简单知识
从零开始的UBOOT的学习2--shell的简单知识参考朱有鹏的UBOOT全集为什么我们要使用shell?因为shell里面的命令都可以在Linux下的命令行中执行,为啥我们需要使用shell,然后再命令行中执行它?因为我们需要用它批量的执行一些操作。这样我们就不会每次都重复的在命令行中敲命令。1、shell变量的定义(1)shell是一种脚本语言(语言中的变量如果有明原创 2018-04-21 16:26:36 · 1260 阅读 · 0 评论 -
从零开始的UBOOT的学习3--主Makefile的分析
从零开始的UBOOT的学习3--主Makefile的分析参考朱有鹏UBOOT全集前言:很多类似于STM32的单片机,所有的东西,IDE集成开发环境已经帮你配置好怎么使用的,代码段或者数据段怎么在程序中链接,我们的各个文件的.c或者.h文件应该是怎么样的,在Linux的ARM中是没有的,所有的都需要我们自己定制化,所谓的定制化编译过程,也就是写Makefile。1、UBOOT版本号的确认(1)UBO...原创 2018-04-30 16:04:51 · 2894 阅读 · 0 评论 -
从零开始的UBOOT的学习4--回顾重定位的过程
从零开始的UBOOT的学习4--回顾重定位的过程参考朱有鹏ARM裸机课程1、什么是重定位?(1)很多时候我们的启动介质没有那么大的空间进行启动程序,所以为了节约成本,我们会在启动介质使用SRAM或者NORFLASH,然后使用一个长跳转指令跳入到DDR内存当中运行,此时就有足够的地方运行大程序了。2、链接地址和运行地址(1)对于位置有关代码来说:最终执行时的运行地址和原创 2018-05-06 13:01:44 · 1060 阅读 · 0 评论 -
从零开始的UBOOT的学习5--start.s上
从零开始的UBOOT的学习5--start.s上1、start.s包含的头文件的意思一定要记住,UBOOT是使用配置的方式,使其能够支持如此多的开发板的。回顾mkconfig.mk文件产生的4个符号链接,此4个符号链接会将来能够找到头文件起到了关键性的作用。(1)在include目录下面创建asm文件,指向asm-arm(2)在include/asm-arm下创建一原创 2018-05-06 17:39:37 · 729 阅读 · 0 评论 -
从零开始的UBOOT的学习6--start_armboot
从零开始的UBOOT的学习6--start_armboot参考朱有鹏UBOOT全集1、start_armboot函数简介(1)这个函数的是在UBOOT/lib_arm/board.c的第444行开始到908行结束(2)450行里面还不是全部的函数,因为里面调用了很多函数。(3)此函数构成了UBOOT启动部分的第二阶段。(4)宏观分析:UBOOT的第二阶段应该做什么?4.1、概括来讲UBOOT的第一...原创 2018-05-20 08:21:53 · 843 阅读 · 0 评论 -
从零开始的UBOOT的学习7--启动内核
从零开始的UBOOT的学习7--启动内核参考朱有鹏UBOOT全集1、UBOOT是一个裸机程序UBOOT的本质就是一个复杂点的裸机程序。和我们在ARM裸机全集中学习的每一个裸机程序并没有本质区别。2、ARM裸机第十六部分写了一个简单的shell,这东西其实就是一个mini型的UBOOT。(1)操作系统内核本身就是一个裸机程序,和UBOOT、和其他的裸机程序并没有本质区别。(2)区别就是操作系统运行起...原创 2018-05-20 08:25:56 · 1171 阅读 · 0 评论 -
从零开始的UBOOT的学习8--命令体系
从零开始的UBOOT的学习8--命令体系参考朱有鹏UBOOT全集的一部分1、从UBOOT的启动阶段的第二流程到命令体系(1)在UBOOT中使用一个死循环,实现了命令体系:在这个main_loop()函数里面实现了命令的注册,存储,解析,处理的过程而且这个是一个死循环,也就是说会不断的执行这个函数。 for (;;) { main_loop (); }2、从...原创 2018-05-27 09:33:33 · 567 阅读 · 0 评论 -
从零开始的UBOOT的学习--环境变量
从零开始的UBOOT的学习--环境变量参考朱有鹏UBOOT全集1、环境变量的作用让我们可以不用修改UBOOT的源代码,而是通过修改环境变量来影响UBOOT运行的一些数据和特性,比如通过修改bootdelay环境变量就可以更改系统开机自动启动的倒数的秒数。2、环境变量的优先级(1)uboot代码中当中有一个值,环境变量中也有一个值。其实UBOOT代码中的值是存放在内存当中的,环境变量的值是存放在硬盘...原创 2018-06-16 11:42:41 · 1182 阅读 · 0 评论 -
从零开始的UBOOT的学习10--Ubuntu上网问题的解决
从零开始的UBOOT的学习10--Ubuntu上网问题的解决1、使用NAT的方式进行上网配置第一个需要注意的事情就是选择NAT模式还是桥接模式。第二个需要注意的Ubuntu中网络配置文件。/etc/network/interfaces文件里面如果一定需要使用NAT模式的话,一定要把静态的IP设置为DCTP模式。auto loiface lo inet loopbackauto eth0if...原创 2018-06-17 11:11:14 · 791 阅读 · 0 评论 -
从零开始的UBOOT的学习11-为Ubuntu安装合适的交叉编译工具链
从零开始的UBOOT的学习11-为Ubuntu安装合适的交叉编译工具链参考朱有鹏UBOOT全集1、我们使用S5PV210的开发板,所以我们需要使用arm-none-linux-gnueabi编译工具链(1)第一步:获取交叉编译工具链arm-2009q3.tar.bz2(2)第二步:放置在Ubuntu中的某一个合适的目录下面,这里我们使用/user/local/arm其中里面是没有ar...原创 2018-06-18 11:21:58 · 1623 阅读 · 0 评论