您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 冶金工业 > Bootloader装载程序_说明书
全球性的引导加载说明书版本1.4RickKacel目录1修订版的历史记录2相关的文件2.1历史文件–仅供参考3定义和缩略词3.1ISO术语3.2SAE术语3.3被定义到GMW3110中的GMLAN的特定术语3.4由此文件定义的术语4概述5总的引导加载要求5.1功能的模变5.2健壮性5.3SPS服务类型和标识符5.4与SPS_TYPE_CECUs进行通信6引导加载的组件和程序流程6.1系统初始化6.1.1内部的ECU初始化6.1.2引导加载的完整性检查6.1.3运行软件/校正数据的呈现模式确认6.1.4ECU完全初始化6.1.5持续诊断CANID检查6.1.6初始化ECU输入/输出6.1.7RAM完整性检查6.2引导加载执行器和编程执行器6.2.1引导加载执行器6.2.2编程执行器6.2.3程序执行器的编程流程6.2.4编程期间的错误6.2.5引导加载执行器返回到正常模式6.3快速编程的程序6.4电源管理6.5诊断服务管理器6.6信息处理器6.7从运行软件到引导加载软件的过渡6.8其它的编程要求6.8.1ECU内存擦/写数据响应处理6.8.2完全的ECU编程对只有校正的编程6.8.3模块编程7GMLAN层的引导加载实现8内存分区8.1.1引导加载软件分区8.1.2操作软件分区8.1.3校正数据分区8.1.4例外情况8.2快速编程的程序存储9文件结构9.1.1总的标题格式9.2文件标题9.2.1引导加载软件标题9.2.2操作软件标题9.2.3校正数据标题10在下载之后,对被编程的闪存进行完整性检查11文件的呈现模式12兼容性检查12.1实现13模块的识别码14未被使用的字节图像图1校正数据结构图2总的装载引导组件图3装载引导软件组件图4系统初始化流程图5程序执行器的编程流程1(共4个)图6程序执行器的编程流程2图7程序执行器的编程流程3图8程序执行器的编程流程4图9返回到正常模式图10信息处理器模块图图11从运行软件到引导加载软件的过渡图12引导加载结构图13典型的ECU内存布局图14引导加载软件标题HFI字图15引导加载标题格式图16运行软件标题HFI字图17运行软件标题格式图18校正数据标题HFI字图19校正数据标题格式图20典型的ECU内存显示呈现模式的位置图21模块标识符设置图22未使用的填补和填充字节的例子表格表1ISO文件中定义的术语表2GMW3110V1.5中定义的术语表3此文件定义的术语表4SPS_TYPE标识符表5不需要校正时的SPS_Type标识符1修订版的历史记录版本日期作者评论0.103年10月21日R.Kacel第一次出版0.203年10月27日R.Kacel在由ALWist评审之后,新增了许多其它的变化,图标,表格0.303年11月13日R.Kacel添加了更多内容0.42003年11月24日R.Kacel来自DaveRosa的输入0.52003年12月08日R.Kacel来自RobArcand的输入0.62003年12月08日R.Kacel来自BobVanBommel和RonGaynier的输入0.72003年12月11日R.Kacel改变了第6节中的组件的顺序。澄清了引导装载和编程执行器之间的区别0.82003年12月19日R.Kacel来自ALWist的改变0.92004年1月12日R.Kacel增加了快速程序之下载的程序流程,以及它什么时候会发生。在Vector的输入之后做出的改变。改变了文件名。为兼容性检查添加了HFI字节定义。1.02004年1月27日R.Kacel作出了改变以同意GMW3110V1.5的兼容性检查。为每一个标题的HFI字增加了表格。1.12004年2月10日R.Kacel为GMLAN网站发布1.22004年2月20日R.Kacel为兼容性检查作最后的改进1.32004年4月16日R.Kacel基于来自SAAB之输入的变化和声明。增加了关于在编程发生错误时应该采取的行动的信息。1.42004年8月24日2004年9月14日2005年3月01日R.Kacel修改了模块标识符。为ECU特定的向后兼容性限定了4个微处理器,其预定的标识符为0x33到0x46.增加了关于下载快速程序的信息。可以是一个或者多个。第6.2节中的固定的编号方式。来自Vector–Cantech的MikeRadwick的改变。2相关的文件GWM3110版本1.4,1.5–GMLAN增强的测试模式说明书2.1历史文件–仅供参考通用汽车北美通用的引导加载模板,版本1.2Vector–GMW_V14_limitations用于Saab440要求说明书的通用引导加载,版本1.7对GMW3110V1.2的引导加载扩展3定义和缩略词3.1ISO术语此文件使用了ISO15765-2公路汽车–诊断系统–对CAN文件的诊断中的术语。缩写描述BS时钟大小CAN控制器局域网CF连续帧DL数据长度FC流程控制FF第一个帧PCI协议控制信息SF单个帧STmin分离时间(最小的)ADDR地址信息USDT未告知收到的被分离的数据转移–被用于表示根据其信息的数据长度可以被分离成多个帧的信息UUDT未告知收到的未被分离的数据转移—被用于表示只有单个帧的信息表1ISO文件中定义的术语3.2SAE术语此文件使用了SAEJ1930E/E系统诊断术语,定义,缩写,和首字母缩略词文件这种定义的术语。3.3GMW3110中定义的GMLAN特定的术语此文件使用了GMW3110GMLAN增强的诊断测试模型规范文件中定义的术语。术语描述ECU电控单元。一个ECU就是一个子网上的一个节点CTS元件技术说明书SSTS子系统技术说明书诊断模式如果诊断服务被激化(它需要一个TesterPresent($3E)信息被周期地发送以保持服务的的功能。),则一个ECU被视为进入了“诊断模式”。详见每一个诊断服务的描述确定它是否将一个ECU放置到了“诊断模式”中。SPS服务编程系统实用程序文件此文件包含了一个ECU的程序指令,该指令可以通过SPS编程。持续诊断的CANID’s由一个ECU支持的CANIDs被用于支持测试器和一个ECU之间的,或者测试器和多个ECUs之间的诊断服务的转移。SPS_TYPE_AorSPS_TYPE_BorSPS_TYPE_CECU这些术语涉及到可通过SPS编程的ECU’s.可通过SPS编程的ECU’s会将实用程序文件概念用于重新编程。一个SPS_TYPE_A,SPS_TYPE_B和SPS_TYPE_CECU之间的区别在于ECU的那一部分是可以编程的,以及在编程事件期间是否ECU能够使用它的持续诊断的CANID’s.这些术语的进一步定义参考GMW3110V1.5的第11.1节。SPS_PrimeReqCANID这是一个特殊情况的CANID,它被用于接收SPS_TYPE_CECU’s的SPS编程期间的诊断请求。SPS_PrimeRspCANID这是一个特殊情况的CANID,它被用于发送SPS_TYPE_CECU’s的SPS编程期间的诊断请求。表2GMW3110V1.5中定义的术语3.4由此文件定义的术语术语描述运行软件这是在ECU中可执行的代码,它负责所有需要的功能。此软件包含了所有的非校正程序常数。它有时候被称作应用软件,操作软件,和操作系统。执行校正数据模块这是一组与单个或者多个ECU功能有关的校正常数。通常一个校正数据模块是基于要分配到更小校正集中的功能来细分的。一个ECU可以包含一个或者多个基于由ECU执行的功能的校正模块。通常校正的逻辑分离是建立在用于最小化零件增殖之功能的基础之上的。校正数据模块也被称为校正文件,Cal文件,和校正。图像描述请详见图1表3由此文件定义的术语图1校正数据结构4概述引导加载软件组件负责操作软件和校正数据的确认,并被用于ECU中的快速编程。当操作软件或者校正数据丢失的时候,或者需要对它们进行更新的时候,快速编程将会发生。引导加载软件应该被存储到一个永久性的内存位置中,作为操作软件或者校正数据的一部分,该位置将不会被更新。引导加载总是会出现,这样在没有操作软件的时候,ECU模块可以有效地通信以允许ECU编程。在以前,当编程事件中产生一个中断的时候,模块将变为“不可用的”,从而离开一个部分被编程的ECU.这些模块不能恰当地通信以再次开始编程事件,必须从汽车中被移除并被取代。引导加载软件的目的是避免这些问题。引导加载应该在ECU’s的内存映射中有一个单独的,永久性的内存段。引导加载应该实现GMLAN处理器策略(将在稍后被讨论)的一部分以提供在GMLAN总线上的最小通信量。此通信足以编程操作软件和校正数据,并对一定的诊断命令作出响应。引导加载软件负责管理ECU的快速编程。它会响应与编程有关的特定的诊断命令(被指定到GMW3110中)。通过使用这些命令,引导加载软件能够快速编程ECU的内存段。每一个ECU被分配内存段的大小和结构都是独一无二的。引导加载软件知道ECU的结构且必须与发生的编程进行正确地接口。一个实用程序文件被用于一个ECU模块的快速编程。实用程序文件为一个编程工具提供了一个一步一步的编程说明。实用程序文件概念使工具编程软件的增殖保持在一个最低限度。实用程序文件包含了成功地编程一个ECU所必需的快速程序和编程解释命令。它包含了对于编程事件有关的操作软件和校正数据文件的连接。实用程序文件中包含的信息详见GMW3110V1.5的第11.1.2节。通用的引导加载组件请详见图2.图2通用的引导加载组件5通用的引导加载要求5.1功能的模变支持操作软件或者校正数据之编程的ECU’s的所有可编程的SPS应该包含引导加载软件。当ECU没有被完全编程的时候—也就是,操作软件,校正数据,或者二者都没有被编程的时候–ECU应该在引导加载软件之外运行,直到一套完整的操作软件和校正数据模块被编程到ECU中。5.2健壮性ECU的设计应该保证它能够无条件地离开一个非编程的状态。这就意味着如果在操作软件或者校正数据的快速编程期间产生了一个失效,ECU模块应该能够进行通信并再次开始程序。如果在编程过程中发生了任何故障或者错误条件,ECU应该能够恢复并被再次编程。不应该有‘无用的模块’。下面是一些最常见的中断编程情况,但是不应该是一个完整的清单:供电连接的损失接地连接的损失GMLAN通信的中断(接插件不再支持ALDL接插件)过压和欠压条件不正确的实用程序文件也见GMW3110V1.5第11.3.2.3.7节对引导软件的总体要求。5.3SPS的服务类型和标识符ECU应该被设置一个特殊的SPS类型,该类型取决于模块中的编程水平。SPS_TYPE_A级别被用于其操作软件和校正数据被完全地编程的ECUs.ECU的永久性诊断CANID总是能够在SPS_TYPE_A模块中取得的。类型SPS_TYPE_B和SPS_TYPE_C被用于丢失了其操作软件,校正数据,或者同时丢失了操作软件和校正数据的模块。其区别是什么呢?它取决于当操作软件和校正数据丢失的时候是否引导加载软件知道ECU的永久性诊断的CANID.永久性诊断的CANIDs是被设置到一个模块的标识符,标准的CANID标识符的映射范围为﹩241到﹩25F.标识符可以被永久地设置到易于由操作和引导加载软件取得的的一个内存位置中的模块中,或者它可以在一个可编程的内存位置中,这样操作软件才知道该值。在后一种情况下,当控制被传送到用于编程的引导加载时,操作软件必须将值传送到引导加载软件。对于深入的解释,请详见GMW3110V1.5的第6.4.2,6.4.3,和6.4.4节。当没有永久性的CANID被设置的时候,一个模块将使用一个被设置的ECU诊断/源标识符。这些值是根据其功能被设置到模块的。此数字的值为﹩00到﹩FF.详见GMW3110V1.5附录D中的诊断地址的更多信息。诊断/源ID被用于请求ECU,并在响应之前加一个﹩3的前缀,最终的得到一个从﹩300到﹩3FF的值。见第5.4节。一些例子可以帮助解释其原因:1)一个ECU被用于的一个单一的平台,并且它的永久性诊断的CANID是固定。CAN
本文标题:Bootloader装载程序_说明书
链接地址:https://www.777doc.com/doc-2900843 .html