序_博客概述
本博客主要用于分享笔者开发Bsw过程中的一些经验分享,包括Bsw各个软件栈,Mcal,芯片机制,Autosar与相关工具等。
笔者2022年进入汽车ECU行业,一直从事软件开发,先前做小控制器的全栈开发,目前域控制器的BSW开发,对于Mcal,存储栈,芯片层级的功能安全,编译器相关有比较多的经验积累,存储,通讯,诊断等也都开发过,因此博客后续文章计划主要为:
1. S32K3, Tricore芯片的相关Mcal开发与配置:
S32K3芯片是先前项目用的,一些功能可能记得不是很多, 因此想分享一些 比较重要的外设与功能,比如Adc, Emios,XRDC等, K3这个片子个人理解属于比较典型的Arm M7芯片,大多配置与功能,都基本与常规芯片一致,因此重点记录一些Nxp特有外设的实现即可。
Tricore应该会记录的更多一些,Gpio / DIO, Adc, Pwm, ICU, GPT, Spi, I2C这些常规的EB配置,以及一些Tricore内核,地址总线,CSA等Tricore内核所特有的一些机制与特性。
笔者认为,Mcal的开发,简单使用EB,是为了让开发者只需要花费30%学习时间,就能达到项目90%的开发效果,但是有很多奇奇怪怪的问题,是需要开发者去深入芯片手册,了解机理之后,才能去解决修复的,如果只是简单认知EB该怎么配,只能作为配置工程师,一直做重复性劳动。
以上部分的文章,计划每周输出1-2份吧
2. BSW协议栈
Bsw协议栈的描述与配置,现在已经有很多文章了,笔者想要从配置与实现角度,把某一个模块基于Davinci的配置与搭建,这个链路给梳理整理出来,作为经验分享,也是个人笔记的一个整理,很多模块的配置,都是基于工具去配置实现的,但是很多时候,需要对配置项本身有个清晰的认知,为什么要选这个配置项,为什么要配这个配置项,配置之后,对于项目上会有什么影响,这些应该是在文章里会描述的,希望也能帮助到一些新入行的朋友。
另外,个人计划尽量啃一些Vector协议栈的源码,去学习代码经验,这部分目前还在规划中......(再动了再动了)
这部分的文章,计划排期在Mcal更新完成之后去做,顺序的话应该会先从存储栈先开始。
3.第三方的开发
如上文所说,笔者也从事编译器,复杂外设等开发,复杂外设有机会的话,应该会分享一些开发过的芯片的机制与实现,编译器Tasking与IAR,主要会更新一些编译、链接指令,项目Makefile的实现,一些Taking常见报错问题的解决,手册学习的整理笔记等,这部分没有固定的更新排期。
博客更新计划大致如上,希望能帮到一些想要入门的朋友,笔者经验较有限,很多都是项目上出现问题后进行深入研究才认知理解的,如果有什么错误也还请直接提出,感谢。
