ADuC703x LIN协议6实现Flash/EE存储器编程

1 下载量 163 浏览量 更新于2024-08-29 收藏 703KB PDF 举报
"通过LIN—协议6进行Flash/EE存储器编程" 本文主要探讨的是如何利用LIN(Local Interconnect Network)协议6对ADuC703x系列微控制器的内部Flash/EE存储器进行在线编程。这个过程对于设备的生产编程和应用更新至关重要,特别是在汽车电子系统中,这些设备通常需要通过LIN通信总线执行代码。 ADuC703x器件支持在线编程功能,允许开发者通过LIN总线向其内部存储器写入新的代码或数据。这种编程方法使得设备可以在现场进行软件升级,而无需物理移除或更换芯片。协议6在此过程中起到关键作用,它遵循UDS(Unified Diagnostic Services)标准,该标准定义了道路车辆的诊断服务。然而,由于ADuC703x的代码空间有限,所以协议6仅包含了满足实际需求的服务。 在编程过程中,主机系统(如微控制器、DSP或其他处理器)负责向ADuC703x发送数据,这一过程也被称为加载程序。加载程序是固结在ADuC703x中的固件,用于处理编程请求和执行编程操作。主机和目标设备之间的通信依赖于 LIN 协议,而LIN主机则作为CAN(Controller Area Network)总线和LIN总线之间的网关,转发诊断消息。 LIN诊断和配置规范(2.0版)为模块编程提供了指导,确保了LIN命令与CAN总线的兼容性。为了启动编程序列,通常需要通过诊断测试仪,它通过CAN接口连接到LIN主机。一旦启动,编程过程可以被控制和监视,以确保准确无误地更新存储器内容。 进入ADuC703x的加载程序模式有特定的条件:在复位期间,NTRST引脚必须保持低电平,同时Flash/EE存储器的特定地址(0x80014)的内容不能是预设的标志值(0x27011970)和页0的校验和。满足这些条件后,设备会自动进入编程模式,准备接受新的代码或数据。 通过LIN协议6进行Flash/EE存储器编程是ADuC703x系列器件的一种灵活且实用的特性,它允许用户开发自定义的编程工具,以适应各种生产环境和应用更新的需求。这一过程的标准化和兼容性是保证汽车电子系统高效、可靠更新的关键。