前言
项目要求手动实现UDPNM代码,公司有EB协议栈,一开始的想法就是在EB协议栈上去修改。那么首先就要看懂EB协议栈对UDPNM的实现,看的过程中难免会有问题,想在网上找这方面的资料,但是不管是百度上搜索还是必应上搜索,都没有这方面的资料,能找到的资料,都是对autosar udpnm 模块pdf文档的翻译,或者简单的总结,没有对协议栈实现的分析。
目前项目上手写UDPNM模块已经调试完成,写下这篇文档也是作为这段时间工作的总结和记录,也为其他需要的同学抛砖引玉。
纯原创文章,请勿转载!
正文
对于没有接触过autosar UdpNM或者CanNM的同学来说,那么首先需要去阅读autosar udpnm 模块pdf文档,也就是<AUTOSAR_SWS_UDPNetworkManagement.pdf> , 这份文档网上很容易找到,参考文档章节8.8 的状态机,也就是下面这张图,去看文档第7章,快速理解文档,还有不理解的,网上找下相关资料,前面也说了,网上对这篇文档的解读很多。
看完这份文档后,对UDPNM有初步的认识,在每个状态里面应该做什么事有初步了解后,可以对照文档,去看EB协议栈的代码。
1. 协议栈文件组成
红色框里面为UdpNm协议栈的重要文件,另外,文件名为UdpNm_xxxcfg.c的文件,是根据EB配置生成的代码,做Autosar 底层配置的应该都了解这个规则。