Linux驱动开发--uboot(1)

0.前言

        先推荐一部电影《美国派》三部曲,成长题材系列的电影,也反映了对某避讳话题的理性看待,理所当然。

        再推荐一个开发套件,NVIDIA Jetson系列开发套件,目前我在用的是Xavier NX和Orin Nano。为什么推荐呢?对于初入Linux的来说,其实大可不必,但是最近意识到什么?对在校学生,购买一套此套件,毕设优秀不得非你莫属。首先是足够的资源,其次是强大的功能,再者也是你大学期间好好学习的(能让你感兴趣)又吸引的东西。前两天看一片文章有外国工程师用Orin Nano做出来了钢铁侠的头盔贾维斯,太酷了伙计。。。So。。。

        之前就表达过Linux驱动是跑不掉的,刚好我也有此意,职业向此发展?大概吧。


1. uboot

1.1 介绍

        不过多废话,首先要知道启动Linux的三大件吧——内核镜像Image,设备树dtb,文件系统rootfs。那么总要有东西来引导这三个玩意启动起来,所谓的引导程序BootLoader,这个分很多,常用的就是uboot。不过多讲。其实uboot之前还有东西(TF-A),简单理解就是引导uboot?差不多这个意思。

1.2自编uboot

        为什么要自己编译uboot,对于我们学习阶段,这个是没什么用的,编译一次能使用,引导起来内核,设备树就行,那为什么要学编译呢?对于工作或者说产品要用到。比如,我现在使用的是TI的AM625X这款MPU,那么我在实际做产品的时候不可能说直接买来这个小芯片就来用,一般都是先购买或者申请TI官方的评估板(这里插一句,上学的时候不知道,很多资源可以申请到,比如TI的SK-AM62这款套件就可以向高校开放,希望在校的学生看到可以尝试申请玩一玩)。拿到手里的评估板,我们会根据自己产品的需求做开发,一切先在评估板做,OK,做完后没有问题,满足我们的要求,采购芯片,自己设计硬件。

        这大概是一个产品出来的过程。这里就牵扯到三个uboot,首先是最初的uboot,也就是uboot官方的,其次是半导体厂商,比如这里TI会根据评估板修改官方uboot做出来属于此款评估板的uboot,俗称是半导体厂商的uboot。最后,自己的产品,自己的硬件,这里我们一般硬件设计是参考评估板做开发,于是uboot参考半导体厂商的uboot修改,添加自己的某些信息。综上,大家大致了解一下。


2.编译

        以下总结与《正点原子——stm32mp157驱动开发指南》。

Ubuntu安装库

sudo apt-get install libncurses5-dev bison flex

交叉编译等等。

步骤:

  1.         获取ST官方uboot。
  2.         解压,打补丁。
  3.         编译官方uboot。

        编译好后烧录,会出现问题。什么问题?启动可以,但是会运行出错,因为这是ST官方的uboot,是对应他们的评估板,我们使用的是正点原子的,是参考评估板进行了改动,比如ST 官方开发板使用了电源管理芯片 STPMIC1A,所以 uboot 运行的时候会初始化这个 PMIC 芯片,但是正点原子开发板并没有使用这个 PMIC 芯片,所以无法正常运行。要修改uboot。

        接下来就是一步步的修改 uboot,至到其正常工作,也就是所谓的 uboot 移植

        后续更新。。。


3.总结

        怎么能学好这种Linux,我认为要和那种单片机对比这来。比如这个设备树,是描述硬件信息的,如果一层一层往下扒,发现最初的东西也是寄存器,不过这些东西出厂已经给好了或者说已经模块化了,我们所要掌握的是设备树的语法,引用,添加,修改等等。

        学习ing。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值