自学BSP

        学习bsp要分为几个阶段,一阶段要明白bsp是干什么的,然后自己用现成的代码引导一块芯片,熟悉bsp的基本流程。

        这个时候可以选择用uboot。在没进行基本的学习和bring up起来一个芯片之前会觉得这个bsp有点神秘,但是当你自己单独运行起来一个芯片之后就会觉得bsp就那么回事。

        这个时候应该关注的是基本的启动流程,要看代码的主流程,比如uboot的运行分为三个阶段,汇编对基本硬件进行初始化如cpu_init_crit等,对gd变量初始化后执行函数指针的初始化过程如串口的初始化,这个时候才能打印,然后就是引导系统。

        做bsp,必然需要对硬件,汇编有相当的理解才行,cpu模型,总线,cache这些,基本流程掌握之后,就是要对这些学习,如何来学习呢,学到什么程度呢,我觉得可以通过驱动来学习,寄存器模型配置的理解,这个就是用到哪里学到哪里。

        框架bsp去兼容不同体系结构的cpu,和不同的引导方式这个也是一个很大的学习点了。

        bsp还需要解决的一个问题就是升级的问题,OTA,如何做到自升级,如何升级系统,如何网络升级,怎么不变砖,这个也是需要学习的一个地方。

        bsp对硬件和汇编必须还要有一定的理解,比如arm的基础启动文件一般是一个.s,里面有中断向量表这些之类的,如何跳到mian里面,bsp调试的时候也有可能碰到硬件的问题,所以还有辅助定位。

        我认为bsp真正难度的地方,都不在上面说的这些,而是当你去bring up一个不熟悉的新芯片的时候,碰到运行不起来,特别是在打印都没出来的阶段的时候,你如何去定位,这个时候是必须要借助调试器的,对调试工具的熟悉程度,大概的猜测,验证的这个过程,并且往往是项目上比较紧急,一堆人看着你的时候,你能顶住压力最终引导成功那么你的bsp学习之路也就可以暂时告一段落了。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

踏马潜行

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值