汽车ecu就是一般情况下讲的汽车电脑。
汽车ecu编程语言现在90%基本都是c语言编写,其中部分汇编语言,还有部分c++语言也可能会在汽车ecu用。
汽车ecu现在关键还仅仅是16位单片机,因而资源有限,需要特定的驱动代码和置配。汽车电脑的修理,大多数能做的同样是从新刷写软件,刷写主要参数。真正的电路板损坏或其他的元器件坏了,只能从新更换新的ecu,然后才刷写软件置配主要参数。
汽车电脑修理,没有手机电脑修理那么复杂,也没有太多技术含量。
但也许未来不用太久,汽车也可能会变成一个大的电脑。到那时候修理可能那么就会和手机电脑修理相同,市场广阔,收益非常大的。
多数产品使用c语言编写程序,通过PICC编译器编译成机器码。
编译出来代码有的情况下有些冗余,执行效率不可以到了最优。
出于到了最优的执行效率,有时会在c语言中嵌套汇编代码。
比如遥控信号接收的程序,遥控信号使用3E码实行编码,接收程序需要以100us上下的周期在中断程序检查遥控信号输入,假如用c语言编写,大概100us可能要占用50us以上,还有不到一半的时间处理其他的逻辑,而假如嵌套汇编实行处理,则仅需要30us语言。
遥控数据使用数据编号实行滚动加密,防止被人空中截获,破解或重发攻击,而数据解密实行大剂量移位运算,十分耗时,因而也用汇编语言编写解密代码。
对功能要求很强大一点,比如有LIN,CAN通信功能的调节器,我们选ROM/RAM资源更丰富,运算速度更快,来源于于freescale的8位处理器DZ96,以及16位处理器DZ128。
因为性能取得了提高,全部代码基本都用C语言开发,没有在嵌入汇编代码。
考虑到实时性自己可靠性的要求,全部调节器基本都没有基于freeRTOS,linux等操作系统开发。
这基本都是几年前的事情了,这几年电子技术飞速发展,32位cortex-Mx的单片机以极高的性价比横扫一切,以前大行其道的PIC系列处理器应当已经轻轻退出了历史舞台。
我想当前CAN,LIN总线应当成了标配,车上的电器状况可以轻而易举通过诊断仪以及开车电脑实行诊断,所谓的汽车电子修理变成了诊断工具的用以及元件替换,越来越没有技术含量,变成单纯的体力劳动。