Linux系统移植学习Day2-----Bootloader

【1】u-boot的特点

u-boot源码开源、支持多种架构平台(ARM、X86、PowerPC、Mips)

u-boot启动时,主要完成各种硬件(串口、时钟、内存、EMMC、网卡等)的初始化

u-boot程序为裸机程序,体积小,当引导加载完系统后,u-boot任务就结束了。

【2】u-boot支持的命令

1>.help

        打印u-boot支持的命令

2>.loadb

        通过串口下载二进制文件到内存中

3>.go

        跳转到指定的内存地址运行程序

4>.printenv/print/pri

        打印u-boot的环境变量

5>.setenv    saveenv

        设置环境变量

        用法:setenv 新的环境变量名 环境变量值

        设置环境变量后,默认只是修改了内存中的环境变量,内存中的环境变量掉电丢失。

        执行saveenv 命令,内存中的环境变量保存到EMMC中

6>.env

        环境变量命令

        用法:env default/set/save/print

7>.gpio

        引脚操作

        用法:gpio <input|set|clear|toggle> <pin>

        toggle:翻转引脚电平

        pin:gpioxy x:组的编号A-G,Z    y:引脚编号

8>.mm

        修改内存

        用法:mm <.b .w .l> address

 9>.md

        回显内存中内容

10>.nm

        修改内存

11>.run

        运行环境变量后面的命令

12>.ping

        测试开发板网络

13>.tftp

        下载程序到开发的内存中

        用法:tftp 下载到内存的起始地址 要下载的文件名

【3】配置开发板网络

1>.设置环境变量

        setenv  serverip x.x.x.x
        setenv  ipaddr x.x.x.x
        setenv  gatewayip x.x.x.x
        setenv netmask x.x.x.x
        saveenv

        使用ping命令测试开发板网络是否畅通

2>.使用tftp下载程序

        拷贝程序到~/tftpboot目录下===>下载到指定位置 :tftp 0xc0008000 程序名 ==>运行 go 0xc0008000

【4】u-boot源码镜像制作

1>.根目录下创建如下目录

        mkdir ~/fsmp1a/u-boot

2>.拷贝u-boot源码到u-boot目录下

3>.对u-boot源码进行解压

4>.修改u-boot源码顶层目录下的Makefile,配置交叉编译工具链

    将:   

         ifeq ($(HOSTARCH),$(ARCH)) 
        CROSS_COMPILE ?=
        endif

    修改为:

     ifeq (arm,arm) 
    CROSS_COMPILE ?= arm-linux-gnueabihf-
     endif

5>.使用basic方式配置u-boot源码

        make stm32mp15_basic_defconfig

6>.进入arch/arm/dts目录下,查找dk1公板设备树文件

7>.复制dk1公板设备数文件,修改为自己平台的设备数文件

        cp stm32mp157a-dk1.dts stm32mp157a-fsmp1a.dts
        cp stm32mp157a-dk1-u-boot.dtsi  stm32mp157a-fsmp1a-u-boot.dtsi 
        cp stm32mp15xx-dkx.dtsi stm32mp15xx-fsmp1x.dtsi

8>.修改stm32mp157a-fsmp1a.dts文件,修改为包含自己设备树头文件

         #include "stm32mp15xx-fsmp1x.dtsi"

9>.编译u-boot源码

        make all

10>.编译成功生成对应的镜像文件

        u-boot-spl.stm32   
        u-boot.img        

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值