精华内容
下载资源
问答
  • uboot移植

    2015-08-18 08:43:00
    Uboot移植 1、架构 board:与一些开发板相关的配置文件 common:uboot下使用能够使用的命令 CPU:与特定CPU架构相关的目录 disk:对磁盘的支持 doc:文档目录 drivers:uboot支持的设备驱动程序放置的地方,...

    Uboot移植

     

    1、架构

    board:与一些开发板相关的配置文件

    common:uboot下使用能够使用的命令

    CPU:与特定CPU架构相关的目录

    disk:对磁盘的支持

    doc:文档目录

    drivers:uboot支持的设备驱动程序放置的地方,比如:网卡、Flash、串口和USB等。

    fs:支持的文件系统

    include:uboot使用的头文件

    lib_xxx:与架构有关的库文件

    net:与网络协议栈有关的代码

    tools:用于生成uboot的工具

     

     

    2、启动

       启动过程:

    • 系统复位进入u-boot stage1入口点(start.S)包括定义入口、设置异常向量、设置CPU的模式和频率、配置内存区控制寄存器、安装uboot的栈空间、关闭看门狗等。
    • 硬件设备的初始化(lib_arm/board.c  start_armboot  C语言入口)
    1. 调用一系列的初始化函数

    指定初始函数表

    配置可用的Flash区flash_init()

    初始化内存分配函数mem_malloc_init()

    nand flash初始化nand_init()

    初始化环境变量env_relocate()

    外围设备初始化devices_init()

    I2C总线初始化i2c_init()

    LCD初始化drv_lcd_init()

    VIDEO初始化drv_video_init()

    键盘初始化drv_keyboard_init()

    系统初始化drv_system_init()

    2、初始化网络设备

    设置IP地址gd->bd->bi_ip_addr=getenv_IPaddr(“ipaddr”)

    设置mac地址

    进入命令循环,接受用户从串口输入的命令for(;;)main_loop();

    • 为加载uboot stage2准备ram空间
    • 设置好堆栈
    • 挑战到stage2的C入口
    • 初始化本阶段要用用到的设备
    • 检查内存映射
    • 将kernel映像和文件映像从flash中读到ram中
    • 为内核设定启动参数
    • 调用内核

     

    3、驱动移植

    移植的过程:

    • 在宿主机上建立交叉编译开发环境
    • 修改cpu/armxx目录下的文件内容,主要包括cpu.S,start.S,interrupts.c,seria1.c,speed.c等文件
    • 在board目录下创建自己的开发板目录beaglebone,在目录中创建beaglebone.c,flash.c,memsetup.S,Makefile,u-boot.lds,config.mk文件
    • 在include/configs目录下创建beaglebone.h
    • 打开u-boot目录下Makefile文件,加入两行:
    • beaglebone_config: unconfig
    • @./mkconfig $(@:_config=) arm am335x  beaglebone
    • 编译,运行:
    • make beaglebone_config
    • make
    • 烧写

     

    4、移植要修改的文件大总结

    Makefile,include下目标板.h,board目录下的目标板.c文件,flash.c, uboot.lds链接文件, cpu目录下的驱动文件

          修改:

    • cpu/armv7目录下start.S启动代码
    • board/beaglebone

    beaglebone.c文件,主要是SDRAM的驱动程序,完成SDRAM的UPM表设置,上电初始化

    flash.c   Flash的驱动程序在此

    mumsetup.S文件

    config.mk文件:用于设置程序链接的起始地址

    u-boot.lds文件

    • include/configs目录下beaglebone.h文件    beaglebone开发板头文件,寄存器参数设置

     

     

    额外记录

    uboot移植:首先在想对应的配置头文件中打开或添加想对应的宏定义支持,再在板极初始化(第二阶段初始化过程中)代码中添加需要支持功能的初始化函数。

    注:如果初始化函数对应的板版本不兼容或者不存在的话,得自己编写。

     

    书籍记录:

    从庖丁解牛说uboot如何编译

    转载于:https://www.cnblogs.com/yinwei-space/p/4738304.html

    展开全文
  • uboot移植,uboot手册

    2019-03-28 22:28:22
    imx287uboot移植s3c2440uboot移植,非常全面的总结资料,加上uboot手册
  • uboot 移植

    2016-03-07 15:24:31
    嵌入式系统启动过程 上电 BIOS—bootloader ...uboot步骤 解压缩 tar xjf u-boot-1.1.6.tar.bz2 打补丁 cd ./u-boot-1.1.6/ patch -p1 是根据补丁文件忽略前几个目录 3. 配置 make 100ask24x0_conf

    嵌入式系统启动过程

    1. 上电
    2. BIOS—bootloader
    3. 挂载根文件系统
    4. 应用程序

    uboot步骤

    1. 解压缩

      tar xjf u-boot-1.1.6.tar.bz2

    2. 打补丁

      cd ./u-boot-1.1.6/
      patch -p1 < ../u-boot-1.1.6_jz2440.patch

    pn是根据补丁文件忽略前几个目录
    3. 配置

    make 100ask24x0_config


    1. 编译

    make

    展开全文
  • uboot移植步骤

    2017-02-15 21:00:12
    uboot移植步骤
  • Uboot 移植

    2014-04-16 18:25:32
    一 标准uboot代码和2440板子带的uboot源码的区别1 /board/GTStudio 2 /include/GTStudio.h3 修改顶层Makefile 加入GTStudio_config条目4 /cpu/s3c24x0/nand_flash.c , 并且在其makefile中加入nand_flash.o5 /include...
    一 标准uboot代码和2440板子带的uboot源码的区别
    1 /board/GTStudio
    2 /include/GTStudio.h
    3 修改顶层Makefile 加入GTStudio_config条目
    4 /cpu/s3c24x0/nand_flash.c , 并且在其makefile中加入nand_flash.o
    5 /include/s3c24x0.h
    6/include/s3c2410.h
    7 /cpu/s3c24x0/interrupts.c
    8/driver
    9 顶层makefile中加入driver/usb对应的库
    10 /includ/def.h  
    11 /libarm/armlinux.c   264行注释掉
    12 /include/nand.h
    展开全文
  • 从三星到uboot移植

    2020-10-30 09:58:06
    从三星的uboot移植

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,828
精华内容 1,931
关键字:

uboot移植