各位大佬好,如题所示,我是一个应用开发人员,工作也有5年了,主要工作内容是通信协议栈这块,协议栈通常运行在应用层,有的项目会把协议栈放进驱动层,所以也涉及了一些Linux驱动开发。
最近准备换工作,发现很多Linux相关的职位信息上,都会写着要求熟悉uboot更佳,所以我想自学了解一下uboot,给自己加分。
看了正点原子的教程,确实很详细很深入,但是我觉得,时间有限的我,不应该学的太细太深。
比如你是芯片原厂的,你需要提供包含uboot的SDK给客户,当自己公司出新的芯片时,你需要对比新旧芯片的差异,修改uboot。这种岗位对uboot技术的要求就比较高。就要学的细。
而如果像我这样的人员,主要是应用和驱动,那么要熟悉uboot,我认为我只要知道下述几个点就可以:
1.uboot启动后,会初始化芯片的配置项,比如关看门狗,设置supervisor模式,初始化中断向量表等。(具体怎么做,仅仅粗看一遍,不深入研究)
2.bootcmd ,从tftp 加载内核,方便调试。
3.bootargs ,给内核启动传参,配置调试串口和文件系统。
第二、三两条要实际操作修改耍一波。
我觉得我会这些,就算是一个爱学习的应用+驱动工程师了,因为我确实没有涉及过uboot的真正工作,通过自学,学到这个地步,已经差不多了。
公司业务没有涉及,想要去了解芯片\开发板公司的工作内容,是一种岸上学游泳的感觉,很难学会且时间开销巨大。
大家觉得我的理解对吗?
我上述列的3条,够吗?
感谢!