![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
u-boot移植
红娃子
这个作者很懒,什么都没留下…
展开
-
u-boot第一阶段start.S分析
(针对s3c2440,从nand flash启动的情况,u-boot-2010.6)一、u-boot第一阶段任务对于s3c2440来说,开机的时候芯片自动把nand_flash的前4k拷贝到芯片内部自带的4k的SRAM中,但是这个容量对于u-boot来说还是不够的。u-boot第一阶段的任务: 关看门狗---------------------禁止自动复位原创 2013-07-18 14:48:46 · 1184 阅读 · 0 评论 -
u-boot引导zImage内核
u-boot-1.1.6因为/common/cmd_bootm.c支持的是启动uZimage,而我使用的是zImage,所以决定该写一个可以支持zImage的命令。u-boot启动过程三步:1.拷贝内核到SDRAM指定地址(0x30008000)2.设置传递给linux的参数(0x30000100)3.跳转到linux内核首地址原创 2013-08-10 16:47:38 · 2183 阅读 · 0 评论 -
u-boot的main_loop解析
u-boot-1.1.6u-boot有两个功能: 调试功能,启动内核。调试功能实现是通过u-boot /common下定义的大量的命令的来实现的。用户通过u-boot命令行来告诉要输入的命令,命令行交互是通过u-boot的main_loop来实现的。接下来我们就看看main_loop是怎么实现命令行交互的吧!原创 2013-08-09 16:17:00 · 2156 阅读 · 0 评论 -
u-boot第二阶段board.c分析
针对s3c2440 u-boot-1.1.6u-boot第一阶段主要就是:关闭看门狗,关中断,初始化存储器,初始化nand,u-boot代码的重定位。u-boot第二阶段的主要任务:初始化网口、nor、LCD等外设,初始化u-boot全局变量,初始化u-boot传递给内核参数,循环等待用户输入,它的位置在/lib_arm/board.c下面。#include #include原创 2013-08-02 19:24:34 · 1744 阅读 · 0 评论 -
u-boot的nand层次分析
s3c2440 u-boot-1.1.6移植过u-boot-1.1.6的都知道我们只是在/cpu/arm/s3c24x0/目录下新建一个nand_flash.c 写好这个程序后,我们在uboot循环模式的时候就能够使用nand read等命令,那么这之间是怎么联系起来的呀???其实由于s3c2440的特点,原创 2013-08-03 15:40:14 · 1491 阅读 · 0 评论 -
u-boot命令实现
u-boot-1.1.6你是否想过在u-boot命令行的命令是怎么实现的呀?首先,我们来想一想?每条命令是不是有个名字呀?每个名字是不是对应一个处理函数呀?每天命令是不是对应一个帮助信息呀?所以嘛 u-boot里面应该有个结构体,里面至少包括了命令的:名字,处理函数,帮助信息。下面就是在u-boot源码中命令结构体:/common/command.hstruct原创 2013-08-09 17:56:54 · 1303 阅读 · 0 评论 -
u-boot环境变量
u-boot移植的时候,关于环境变量的配置虽然只是定义了几个宏,但是其实它的内部机理是怎么回事呀?该文章就是简述了u-boot环境变量的实现过程以及部分关于环境变量的cmd命令。原创 2013-08-08 16:59:55 · 3477 阅读 · 0 评论 -
u-boot配置和编译概述
s3c2440,u-boot-1.1.6u-boot-1.1.6源码下载问题1:解压u-boot发现它可以支持很多的cpu和很多的开发板,那怎么指定我们使用的开发板和cpu呢???答案:在u-boot的源码的顶层输入#make smdk2410_config(假设使用的板子是smdk2410这款)问题2:这是什么玩意???干了什么???答案:学过英文就明白config就是配置的原创 2013-08-02 19:12:11 · 1024 阅读 · 0 评论 -
u-boot串口初始化全过程
s3c2440 u-boot-1.1.6串口初始化代码都在/lib_arm/board.c中的start_armboot被调用的。大致流程如下: 一、波特率初始化init_baudrate在/lib_arm/board.c/start_armboot函数被调用/lib_arm/board.c/init_fnc_t *init_sequence[] =原创 2013-08-02 21:55:34 · 5283 阅读 · 0 评论 -
u-boot链接脚本
arm-limux-gcc将所有的.c文件编译成.o文件后,需要将它们组织成一个可执行文件。怎么组织,这就是u-boot.lds的事了!它一般存放在/board/xxxx/start.S中下面贴出TQ2440中所用的u-boot-1.1.6中所用的链接文件u-boot.ldsOUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32原创 2013-07-31 13:48:39 · 914 阅读 · 0 评论