• 在树莓派3b上编译uboot


    在树莓派3b上编译uboot

    toc

    1.说明

    最近想研究一下树莓派3b的一些底层驱动的代码,比较好的就是直接可以看树莓派3b的实现。因为usb驱动,网卡驱动,以及lcd驱动,都可以在uboot中直接找到。有了这些东西,对于我们直接写树莓派3b的驱动程序,提供了极大的帮助,所以现在先在树莓派3b上编译运行起来uboot。

    后面个人有计划会在rtt上完善以下驱动:

    1.网络驱动(网口)

    2.spi的lcd屏(目前spi驱动已经实现,需对接屏和触摸)

    3.spi接口的wifi驱动

    3.hdmi的lcd屏(目前驱动已经基本实现)

    4.树莓派在rt-thread多核使用

    5.usb驱动

    6.音频驱动

    7.摄像头驱动

    以上推进计划会在个人工作之余中进行,如果有想法和我一起推进,可以给我公众号留言,一起推进树莓派驱动工作,完善树莓派rt-thread功能。

    2.代码编译

    2.1 交叉编译工具链下载

    交叉编译工具链,主要可以从下面的链接地址下载

    https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-a/downloads

    我的是Ubuntu系统,相关的window系统的交叉编译工具链可以类似找到

    文件有1.4G左右,我已经放到网盘中提供下载

    链接: https://pan.baidu.com/s/1GR-IQlCcqu1APvmu_MLkCg

    提取码: fgby

    2.2 源代码下载

    首先需要下载源代码,可以通过下面的网页进行访问

    https://github.com/u-boot/u-boot.git

    将其导入的gitee可以加速clone速度。

    接着进入u-boot目录文件夹,依次输入下面两条命令

    ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- make rpi_3_defconfig
    ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- make

    此时就可以看到编译出来的文件了

    3.固件下载与使用

    对于树莓派固件的下载,主要是通过sd卡进行搬运工作,关于树莓派的启动方式,可以看我之前的文章描述,这里不多说。

    当制作好树莓派的sd卡启动盘后,需要将u-boot.bin的代码放到sd卡中并且修改config.txt文件如下

    kernel=u-boot.bin
    arm_64bit=1
    kernel_address=0x00080000
    enable_uart=1

    将sd卡启动盘放到树莓派中,用串口工具连接树莓派串口引脚

    接着就可以进行上电操作。

    此时,uboot就可以正常运行了。

    4.待完善的功能

    实时上,树莓派的uboot最接近裸机操作,在学习使用树莓派非常的有用,对于外设开发来说,由于树莓派有着非常强大的功能,可以玩的功能非常的多。有了lcd驱动之后,我们可以去做嵌入式gui,有了网络,我们可以玩嵌入式网络,有了摄像头,可以进行图像的开发与采集,有了usb,可以学习usb协议。

    总之,树莓派由于其成本了性能的优势,让这个开发板学习嵌入式非常有价值,结合国产物联网操作系统,一定会让其发挥出很多效果,可玩性更高。

    所以希望有更多的人参与进来,一起推进,目前uboot的一些驱动已经实现,结合rt-thread的驱动框架模型,可以很方便的进行开发扩张,设计出自己的产品。





  • 相关阅读:
    Linux下对拍(A+B问题)
    洛谷 P1043 数字游戏 区间DP
    6.22 集训--DP复习一
    洛谷 P1220 关路灯 区间DP
    A*算法求K短路模板 POJ 2449
    点分治模板 POJ 1741
    HDU
    棋子游戏 51Nod
    数论习题总结
    CodeForces
  • 原文地址:https://www.cnblogs.com/bigmagic/p/12679199.html
Copyright © 2020-2023  润新知