smdk210 Uboot的开发

本文详细介绍了在SMDK210平台上进行UBoot二次开发的过程,包括环境搭建、源码获取、配置修改、编译烧录等关键步骤,旨在帮助读者理解并掌握UBoot定制化的技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        第一章Uboot开发
一.最终目的:启动内核。
二.学习需要掌握的知识。
1.了解Bootloader的概念
2.掌握Uboot配置,编译,uboot的目录结构和Makefile
4.分析uboot2个阶段的功能,通过源代码。
5.Uboot常用命令,和命令的实现。
6.掌握uboot和内核怎么交互的。
三.Uboot开发流程:
    1.解压缩
    2.打补丁
    3.配置
    4.编译
    5.下载如开发板执行, 启动内核
 
四.概念:
1).设置启动参数(设置标记列表):在某个地址0x30000100,按某个格式TAG保存数据
    1.Uboot告诉内核一些参数,即设置启动参数
    2.跳到入口地址启动内核。
2).flash上存的内核:uImage = 头部 + 真正的内核。
3).头部:in_load加载地址, in_ep入口地址等
    in_load加载地址:内核在SDRAM里面的地址,如果加载地址不在开发板指定的内核地址,
                         则把内核存入开发板指定的内核地址.之后去内核in_ep入口地址启动内核。
    in_ep入口地址: 
4).环境变量bootargs(命令行参数) :包含三个参数root,init,console
    Root =/dev/mtdblock3:根文件系统,相当于windows下的C盘
    Init =/linuxrc:第一个应用程序
    Console =ttySAC0:内核打印信息打印出来,这里是串口0
5).分区:每个硬盘上都有分区表,在嵌入式linux中Flash中没有分区表。只能在源码里面写死了。
所谓的Uboot的分区,关心的不是分区的名字,而是分区的地址。( include/configs
6).read.jffs2:避免地址0x0020000页对齐或者块快对齐。
    nandrad.jffs2 0x300007fc0 0x00060000 0x00200000
 
五.Uboot的开发:
1.bootloader概念,最终目的,操作模式(2种)。Bootloader的位置(图)。
2.常用bootloader介绍。
3.Uboot源码结构(图)。
    1)平台相关的或开发板相关的。
    2)通用的函数。
    3)通用的设备驱动程序。
    4)U-Boot工具、示例程序、文档  
4.Uboot配置,编译(u_boot-1.1.6)
    1).Uboot配置过程   make <board_name>_config
        a。顶层Makefile
            makesmdkv210single_config 
            ./mkconfig smdk2410 arm arm920t smdk2410 NULL s3c24x0
                S0                     S1     S2             S3       S4             S5      S6
                                 ARCH         CPU  BOARD   VENDOR              SOC 
       
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值