汽车LIN总线诊断与节点配置的代码读保护机制

需积分: 45 248 下载量 99 浏览量 更新于2024-08-06 收藏 25.58MB PDF 举报
"本文档主要介绍了汽车LIN总线诊断及节点配置规范中的代码读保护机制,特别是硬件和软件的相互作用。代码读保护(Code Read Protection, CRP)是一种防止未经授权访问和修改微控制器中固件的技术。" 在汽车电子系统中,确保代码的安全性和完整性至关重要。文档中详细阐述了三种不同的代码读保护选项(CRP1、CRP2、CRP3),这些选项在0x000001FC地址处编程,并有不同的保护级别和限制。 CRP1选项(0x12345678)禁止通过JTAG接口访问芯片,但允许特定的ISP(In-System Programming)命令进行部分Flash更新。例如,写RAM命令受限不能访问0x40000200以下的RAM,擦除命令只能在选择擦除所有扇区时擦除扇区0。此外,CRP1不允许使用比较命令,这意味着在更新Flash时,需要第二个装载程序通过校验和机制验证Flash的完整性。 CRP2选项(0x87654321)进一步增强了保护,它完全禁用了JTAG访问,并且只允许擦除所有用户扇区的内容。在这种模式下,读存储器、写RAM、运行和将RAM内容复制到Flash等命令都被禁用。 CRP3选项(0x43218765)通过拉低P2.10引脚来禁用ISP入口,如果Flash扇区0中有有效用户代码。这种模式使得用户的应用程序可以选择通过IAP(In-Application Programming)或者UART0重新调用ISP命令来更新Flash,但不再允许厂商测试。 表32.3展示了不同CRP设置下,用户代码的有效性、复位时P2.10引脚的电平、JTAG是否启用以及LPC1700系列Cortex-M3微控制器是否进入ISP模式的影响。如果启用了任何CRP并允许通过ISP访问,不支持或受限的ISP命令会因CODE_READ_PROTECTION_ENABLED错误而终止。 这些代码读保护机制对于汽车电子系统,特别是涉及到 LIN 总线诊断和节点配置的场合,能够确保软件的安全运行,防止恶意篡改和潜在的安全风险。LPC1700系列作为Cortex-M3微控制器,是NXP半导体公司的一款产品,其内置的这些安全特性使其适用于需要高安全性的汽车应用。