6

全志V3S嵌入式驱动开发(uboot移植)

 11 months ago
source link: https://blog.csdn.net/feixiaoxing/article/details/130818942
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

全志V3S嵌入式驱动开发(uboot移植)

嵌入式-老费 已于 2023-05-24 07:14:46 修改 264

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

        安装了ubuntu操作系统,有了开发板,下面就可以进行我们的开发工作了。第一步,我们要面临的问题就是uboot移植。一般来说,嵌入式的基础环境就是uboot、linux和rootfs。uboot完成一些基本硬件的初始化,比如cpu频率设置、ddr初始化、加载linux等等。早前,uboot的烧入比较麻烦,需要jtag工具才能完成。现在来说,很多soc支持系统直接从sd卡启动,这对开发者就比较友好了。

        要做好uboot移植,做好四个方面的工作就可以了。第一,下载好uboot代码;第二,安装交叉编译工具;第三,编译uboot;第四,选择好sd卡,将uboot的bin文件烧入到sd卡。这样,将sd卡插入到开发板中,上电,就可以看到uboot的启动画面了,比如像这样,

2c63c57e7c994af79acdf3caf78fcb14.png

1、下载uboot代码

        针对uboot代码,可以直接从官方的github地址下载就可以了,

git clone https://github.com/Lichee-Pi/u-boot.git -b v3s-current

2、下载交叉编译工具

        目前v3s的交叉编译工具都可以直接从网上下载,下载地址在这个位置,

https://releases.linaro.org/components/toolchain/binaries/6.3-2017.05/arm-linux-gnueabihf/

        注意,如果是ubuntu系统,可以选择这个安装包即可,

879e0372504b4f00914be0f833f69cd2.png

         安装好之后,如果发现对应的gcc没有办法打开,记得安装一下lib32的包,

        并且在.bashrc当中设置一下环境变量,

export PATH=$PATH:/home/feixiaoxing/gcc-linaro-6.3.1-2017.05-i686_arm-linux-gnueabihf/bin

3,编译uboot

        相比较而言,编译uboot还是比较简单的,cd到uboot目录,

        如果没有make命令,先用apt-get安装一下make命令,

sudo apt-get install make

4、烧入sd卡

        做到了前面三步,好像第四步最简单。其实不然,要实现这个功能,要注意两个方面。第一,选择sd卡的时候一定要选择正规的sd卡,差的sd卡是没有办法完成uboot启动的,这算是自己很大的一个教训吧,浪费了不少时间。实践中发现,一线品牌的sd卡更好一点,启动基本没问题。另外一个方面,一定要让虚拟机支持usb功能,虽然开发板使用的是sd卡,但是这种sd卡是micro sd卡,因此需要一个读卡器,所以如果需要ubuntu支持sd卡的读写,最要让虚拟机支持usb,这样才可以完成ubuntu对sd卡的读写功能。

sudo dd if=u-boot-sunxi-with-spl.bin of=/dev/sdb bs=1024 seek=8

        烧写直接使用dd命令就好了,注意这里烧写的文件是u-boot-sunxi-with-spl.bin,烧入的设备是/dev/sdb,也就是刚刚插入的sd卡。做到这两点,基本就可以保证烧入成功了。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK