本文主要是介绍车载ECU在OTA升级过程中,flash driver单独存在的意义,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在ECU OTA 程序升级过程中,需要执行一段比较特殊的代码,这段代码实现对自身flash的擦除与写入,又称flash driver。
在OTA升级过程中,往往需要在发送app可执行文件之前,向底层先发送一段叫"flash driver"的二进制文件,这里简单总结一下这段“flash driver”二进制文件存在的意义。
1、在车载ECU控制器中,为了安全考虑,会尽可能的避免在代码中固化有对flash进行擦除或写入的操作,主要为了避免在程序跑飞时误调用该部分代码,使软件代码部分受到破坏;
2、flash driver的实现方式,可以将flash driver固化在底层flash中,在运行的时候将flash中的flash driver拷贝到ram中来运行,这是比较传统的方式,但是避免不了1中提到的安全性问题;
所以还有一种方式,就是将flash driver这段代码保存在PC端或后台,在每次执行OTA升级前,将这段代码先发送给底层,这样可以避免1中提到的安全性问题;
3、在升级过程中,flash driver必须在ram中运行的原因是:
在对flash进行读写操作时,flash中对应的应用程序文件将不能运行,所以必须将flash driver拷贝到ram区域,这是flash硬件性能决定的。
————————————————
原文链接:https://blog.csdn.net/xinjitmzy/article/details/84782918
这篇关于车载ECU在OTA升级过程中,flash driver单独存在的意义的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!