一种汽车控制器的自刷新方法及系统的制作方法_2

文档序号:8922012阅读:来源:国知局
57] 步骤S15、所述引导程序等待接收所述上位机发送的刷新数据,对所述应用程序进 行刷新;
[0058] 步骤S16、当刷新完成后,所述引导程序计算刷新后的应用程序校验和;
[0059] 步骤S17、所述引导程序判断所述刷新后的应用程序校验和与所述正确校验和是 否相等,如果是,则执行步骤S18;
[0060] 步骤S18、所述引导程序将应用程序完整位置位,并将所述应用程序跳转位复位。
[0061] 需要说明的是,应用程序完整位是表征应用程序是否完整的判定依据,假设应用 程序完整位为0时表示应用程序在当前不完整,应用程序完整位为1时表示应用程序在当 前完整,则当引导程序判定刷新后的应用程序校验和与正确校验和相等后,引导程序会将 应用程序完整位由0置为1。
[0062] 综上可以看出,本发明提供的汽车控制器的自刷新方法,应用程序在接收上位机 发送的刷新指令之前,通过比较当前应用程序校验和与正确校验和来判断当前是否发生损 坏;当引导程序对应用程序刷新完成后,引导程序通过比较刷新后的应用程序校验和与正 确校验和来判断应用程序在刷新过程中是否出现损坏。可以看出,本发明采用校验和比较 的方式实现对应用程序在刷新前和刷新后的诊断,从而可以及时发现应用程序出现损害的 情况,避免应用程序执行未知操作,进而保证了产品的安全性。
[0063] 为进一步优化上述实施例,参见图2,本发明另一实施例公开的一种汽车控制器的 自刷新方法流程图,包括:
[0064] 步骤S21、应用程序计算当前应用程序校验和;
[0065] 步骤S22、所述应用程序判断所述当前应用程序校验和与正确校验和是否相等,如 果否,则执行步骤S23,如果是,则执行步骤S24;
[0066] 步骤S23、所述应用程序将自身复位并跳转至所述引导程序,然后继续执行步骤 525 ;
[0067] 当应用程序通过比较校验和的方式判定在当前出现损坏时,应用程序会将自身复 位,并跳转至引导程序,从而可以保证自身不进行错误操作,并可以由引导程序对出现损坏 的应用程序进行重刷新,因此,相比现有技术而言,有效避免了应用程序出错导致的程序跑 飞、执行错误指令或频繁复位等问题。
[0068] 步骤S24、所述应用程序接收上位机发送的刷新指令,将应用程序跳转位置位,并 在自身复位后跳转至引导程序;
[0069] 步骤S25、所述引导程序判断所述应用程序跳转位是否置位,如果是,则执行步骤 526 ;
[0070] 步骤S26、所述引导程序接收所述上位机发送的刷新数据,对所述应用程序进行刷 新;
[0071] 步骤S27、当刷新完成后,所述引导程序计算刷新后的应用程序校验和;
[0072] 步骤S28、所述引导程序判断所述刷新后的应用程序校验和与所述正确校验和是 否相等,如果是,则执行步骤S29;
[0073] 步骤S29、所述引导程序将应用程序完整位置位,并将所述应用程序跳转位复位。
[0074] 综上可以看出,应用程序在接收上位机发送的刷新指令之前,通过比较当前应用 程序校验和与正确校验和来判断当前是否发生损坏;当引导程序对应用程序刷新完成后, 引导程序通过比较刷新后的应用程序校验和与正确校验和来判断应用程序在刷新过程中 是否出现损坏。可以看出,本发明采用校验和比较的方式实现对应用程序在刷新前和刷新 后的诊断,从而可以及时发现应用程序出现损害的情况,避免应用程序执行未知操作,进而 保证了产品的安全性。
[0075] 为进一步优化上述实施例,参见图3,本发明另一实施例公开的一种汽车控制器的 自刷新方法流程图,在图2所示实施例的基础上,在步骤S25之后,还包括:
[0076] 步骤S30、若所述应用程序跳转位没有置位,则所述引导程序判断所述应用程序完 整位是否置位,如果是,则执行步骤S31,否则,返回执行步骤S26 ;
[0077] 步骤S31、跳转至所述应用程序,并继续执行步骤S21。
[0078] 为进一步优化上述实施例,参见图4,本发明另一实施例公开的一种汽车控制器的 自刷新方法流程图,在图3所示实施例的基础上,在步骤S28之后,还包括:
[0079] 步骤S32、若所述刷新后的应用程序校验和与所述正确校验和不相等,则所述引导 程序向所述上位机返回失败报文。
[0080] 可以看出,当刷新完成后的应用程序出现损坏时,引导程序并不会将应用程序完 整位置位,而是采用向上位机返回失败报文的方式停止刷新后的应用程序的运行,从而有 效避免了应用程序在出现损坏的情况下执行未知操作情况的出现,进而保证了产品的安全 性。
[0081] 本发明采用LIN(Local Interconnect Network,串行通讯网络)总线通信代替现 有采用CAN(Controller Area Network,控制器局域网络)总线或K线的通信方式,以适应 采用LIN总线进行通信的汽车控制器使用需求。
[0082] 上位机向引导程序发送的刷新数据以LIN协议进行传输,LIN报文的数据帧中,第 一个字节代表命令种类,第二、三个字节代表汽车控制器的ROM(Read-OnlyMemory,只读内 存)地址,其他字节代表刷新数据,具体参见表1 :
[0083]表1
[0085] 当引导程序将所有的地址写入到应用程序后,表明对应用程序刷新完毕,若刷新 后的校验和与正确校验和相等,则引导程序会将应用程序完整位置位,将应用程序跳转位 复位。
[0086]引导程序复位后会跳转至应用程序,从而使应用程序执行刷新后的程序。
[0087] 与上述方法实施例相对应,本发明还提供了一种汽车控制器的自刷新系统。
[0088] 参见图5,本发明实施例公开的一种汽车控制器的自刷新系统的结构示意图,包 括:
[0089] 第一校验和计算单元51,用于计算当前应用程序校验和;
[0090] 第一判断单元52,用于判断所述当前应用程序校验和与正确校验和是否相等,如 果是,则执行接收跳转单元53;
[0091] 需要说明的是,通过将当前应用程序校验和与正确校验和进行比较来判断应用程 序在当前是否发生损坏,从而可以及时采取有效措施,避免应用程序无法执行后续操作或 是执行未知操作。
[0092] 接收跳转单元53,用于在第一判断单元52判断为是的情况下,接收上位机发送的 刷新指令,将应用程序跳转位置位,并在应用程序复位后跳转至引导程序;
[0093] 应用程序跳转位是表征应用程序是否接收到上位机发送的刷新指令的判定依据, 假设应用程序跳转位为0时表示应用程序没有接收到上位机发送的刷新指令,应用程序跳 转位为1时表示应用程序接收到上位机发送的刷新指令,则当应用程序接收到上位机发送 的刷新指令后,应用程序跳转位会由0置为1。
[0094] 第二判断单元54,用于判断所述应用程序跳转位是否置位,如果是,则执行刷新单 元55;
[0095] 刷新单元55,用于在第二判断单元54判断为是的情况下,等待接收所述上位机发 送的刷新数据,对所述应用程序进行刷新;
[0096] 第二校验和计算单元56,用于当刷新完成后,计算刷新后的应用程序校验和;
[0097] 第三判断单元57,用于判断所述刷新后的应用程序校验和与所述正确校验和是否 相等,如果是,则执行置位复位单元58 ;
[0098] 置位复位单元58,用于在第三判断单元57判断为是的情况下,将应用程序完整位 置位,并将所述应用程序跳转位复位。
[0099] 需要说明的是,应用程序完整位是表征应用程序是否完整的判定依据,假设应用 程序完整位为0时表示应用程序在当前不完整,应用程序完整位为1时表示应用程序在当 前完整,则当引导程序判定刷新后的应用程序校验和与正确校验和相等后,引导程序会将 应用程序完整位由0置为1。
[0100] 综上可以看出,本发明提供的汽车控制器的自刷新系统,应用程序在接收上位机 发送的刷新指令之前,通过比较当前应用程序校验和与正确校验和来判断当前是否发生损 坏;当引导程序对应用程序刷新完成后,引导程序通过比较刷新后的应用程序校验和与正 确校验和来判断应用程序在刷新过程中是否出现损坏。可以看出,本发明采用校验和比较 的方式实现对应用程序在刷新前和刷新后的诊断,从而可以及时发现应用程序出现损害的 情况,
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1