PIC32MX器件编程规范-外部工具编程详解

需积分: 28 5 下载量 178 浏览量 更新于2024-08-10 收藏 1.14MB PDF 举报
"无线模块433的PDF资料主要讲解了微芯片(PIC32MX)系列32位单片机的编程规范,特别是擦除和空白检查操作。" 在编程微芯片的PIC32MX系列时,首先要了解的是器件概述。这些32位单片机可以通过自编程和外部工具编程两种方式进行编程。外部工具编程不依赖于目标器件内部的代码,而自编程则需要目标器件内已有执行代码来完成编程序列。文档主要关注外部工具编程方法,这种编程方式需要一个外部编程器工具和目标PIC32MX器件。 在进行编程前,器件必须先被擦除。擦除过程将闪存中的数据置为全1,准备接受新的编程数据。擦除完成后,执行"空白检查"以验证器件是否已被成功擦除。空白检查用于确认器件中没有任何已编程的存储单元,空白或擦除的单元总是读为1。器件配置寄存器和只读的器件ID存储单元在空白检查中被忽略。 擦除器件的具体步骤如下: 1. 发送MTAP_SW_MTAP命令进入MTAP命令模式。 2. 发送MTAP_COMMAND命令。 3. 传输MCHP_ERASE命令以开始擦除操作。 4. 延时1毫秒。 5. 读取MCHP_STATUS寄存器获取状态值。 6. 如果CFGRDY(状态值的第3位)不为1且FCBUSY(状态值的第2位)不为0,则重复步骤4。 在擦除过程中,FCBUSY位指示擦除操作是否正在进行,而CFGRDY位表明器件是否准备好接收新的编程数据。芯片擦除是自定时操作,如果FCBUSY和CFGRDY位未在预期时间内正确设置,可能表示操作错误或器件损坏。 编程步骤涉及多种物理接口,如2线在线串行编程(ICSP)和4线联合测试行动组织(JTAG)接口,两者都使用EJTAG协议进行数据交换。编程执行程序(PE)可以从目标器件的RAM中执行,隐藏编程细节,提高数据传输效率。 此外,文档还涵盖了配置存储器和器件ID、TAP控制器以及交流/直流特性和时序要求等详细信息,为开发者提供了全面的指南,以确保正确地对PIC32MX系列进行编程。