全部学习汇总: https://github.com/GreyZhang/hack_autosar

继续看《AUTOSAR_RS_Features》,已经看了很多天了。这个速度多少有点让我自己也觉得慢,但是我觉得求知的过程应在于真、在于准。泛泛而过是可以的,但是一点收获没有则有些做无意之事了。慢就慢一些吧,学到东西就好。就前面的梳理效果看,还是让我学到了很多的。

这次看一下AUTOSAR关于库的要求。

625_AUTOSAR_RS_Features阅读_库_AUTOSAR

提供汽车电子领域广泛应用的功能作为库文件,包括数学类的,功能安全类的支持算法。这样可以加速软件的开发工作,加速应用软件的开发以及实施的可靠性。如果只是一个简单的数学库,可能对我现在想突破的点可能没有太多的帮助。至于其他的功能,尤其是功能安全的,后面可能还需要继续研究。

625_AUTOSAR_RS_Features阅读_库_AUTOSAR_02

库函数所有的接口全都采用C语言接口。

625_AUTOSAR_RS_Features阅读_库_AUTOSAR_03

库文件必须是可重入的,与运行的次序相关的状态信息不应该有。这个可重入的概念,对于不同的层、任务、内核等,都应该是可重入的。

625_AUTOSAR_RS_Features阅读_库_AUTOSAR_04

这是一个好消息,接下来如果能够拿到一些库文件的话,可以测试一下。这样,后面自己也就不需要自己去维护这样的功能。不过,如果在这里做了规定,是不是硬件支持的CRC功能就用不上了?这个可能得多方面考虑吧!

625_AUTOSAR_RS_Features阅读_库_AUTOSAR_05

现在的工作中开始接触到E2E的一些要求了,但是对这方面我还是不理解,主要应该是常识性的知识点。从描述看,这个倒是给我一种数据签名的感觉。E2E是用在多节点通信上的,增加了一部分数据信息用于做校验的检查。

625_AUTOSAR_RS_Features阅读_库_AUTOSAR_06

需要提供浮点的库,这个跟编译器提供的浮点库可能会有什么差异呢?后面,这些都可以作为一个专门的课题进行细致的研究。

625_AUTOSAR_RS_Features阅读_库_AUTOSAR_07

AUTOSAR应支持定点算术函数作为一个库,包括扩展函数,如e。g。过滤、超越函数、排序等。似乎,这里第二次看到滤波了,上一次应该是在IO硬件抽象层?这里的滤波可能是什么功能?为什么浮点的部分没有呢?这里还看到了一个概念,超越函数,这个对我来说又算是一个陌生的词眼了。

625_AUTOSAR_RS_Features阅读_库_AUTOSAR_08

提供差值算法,这个在2D和3D的处理中很常用。

625_AUTOSAR_RS_Features阅读_库_AUTOSAR_09

提供加密原语作为库的功能。如果之前,看到的加密安全相关的部分理解的没问题,这个是客户可以自己修改的加密算法之类的功能。那么,这个库实现了之后,相应的功能是直接从这里选择?

小结:之前学习工作之中,库接触的一直不多。我是在工作的后几年才开始使用库的功能,之前都是纯C写。因此,我也一直疑惑为什么这么难用的C大家会扩充应用到了各行各业?后来发现,原来别人都是直接进行功能组装,而我自己则是一直造轮子。现在MATLAB代码生成大行其道,很多类似的功能都有替代的选择,底层库看上去似乎可有无无的功能。其实,能够真正把这部分用通了,我们才能够更加随心所欲。