通过I2C接口更新ADuC702x系列软件
需积分: 10 95 浏览量
更新于2024-09-16
收藏 396KB PDF 举报
"这篇文档是关于I2C接口在ADuC702x系列芯片上用于在线编程的应用说明,特别是如何在没有硬件开关的情况下,通过I2C接口进入下载模式进行软件更新。"
I2C(Inter-Integrated Circuit)是一种多主控、串行通信协议,由飞利浦(现NXP Semiconductors)开发,主要用于连接微控制器和各种外围设备,如传感器、显示驱动器、实时时钟等。I2C协议只需要两根线——数据线SDA和时钟线SCL,即可在多个设备之间传递信息。
在ADuC702x系列芯片中,I2C接口用于在线编程,尤其是I型号的芯片,如ADuC7019BCPZ62I、ADuC7020BCPZ62I、ADuC7021BCPZ62I和ADuC7026BSTZ62I,它们可以通过I2C接口实现在线编程功能。进入下载模式通常需要一个硬件开关,但在某些不允许在P0.0引脚配置硬件开关的应用中,可以通过软件方式进入下载模式。
进入下载模式的过程涉及对特定内存地址0x80014的处理。如果该地址的内容为0xFFFFFFFF,芯片在复位后会进入下载模式,内核受到保护,JTAG访问被禁止,设备等待I2C0总线(P1.0和P1.1)上的命令来加载新代码。而如果地址0x80014非零,设备将处于用户模式,不能直接进入下载模式,除非0x80014被擦除并且设备经历周期性供电或复位。
为了通过I2C接口进行代码更新,首先需要确保0x80014地址的内容始终保持为0xFFFFFFFF。这可能需要修改启动代码,并使用I2C写扇区指令(I2CWSD)来写入这个特定地址。在没有硬件开关的情况下,这一过程显得尤为重要,因为它允许在不需要物理干预的情况下更新设备固件。
在调试和测试阶段,开发者可以使用I2C加载器来将新的代码加载到ADuC702x芯片中。这需要擦除地址0x80014,然后通过I2C通信协议将新的程序数据传输到设备。一旦新代码被加载并通过I2C接收到了运行命令,用户代码就会开始执行。
I2C在ADuC702x系列芯片中的应用展示了其在微控制器编程和固件更新方面的灵活性,尤其是在那些对硬件改动有限制的场合。这种技术对于嵌入式系统的设计者来说是非常有价值的,因为它简化了设备的维护和升级流程。
2022-07-14 上传
2022-09-24 上传
2008-12-15 上传
2012-10-11 上传
2022-09-21 上传
2022-09-24 上传
2022-09-21 上传
2022-09-19 上传
2015-11-17 上传
qnqinan
- 粉丝: 0
- 资源: 9
最新资源
- Java集合ArrayList实现字符串管理及效果展示
- 实现2D3D相机拾取射线的关键技术
- LiveLy-公寓管理门户:创新体验与技术实现
- 易语言打造的快捷禁止程序运行小工具
- Microgateway核心:实现配置和插件的主端口转发
- 掌握Java基本操作:增删查改入门代码详解
- Apache Tomcat 7.0.109 Windows版下载指南
- Qt实现文件系统浏览器界面设计与功能开发
- ReactJS新手实验:搭建与运行教程
- 探索生成艺术:几个月创意Processing实验
- Django框架下Cisco IOx平台实战开发案例源码解析
- 在Linux环境下配置Java版VTK开发环境
- 29街网上城市公司网站系统v1.0:企业建站全面解决方案
- WordPress CMB2插件的Suggest字段类型使用教程
- TCP协议实现的Java桌面聊天客户端应用
- ANR-WatchDog: 检测Android应用无响应并报告异常