各位大神,我在用PIC18F46K80芯片通过CAN通讯进行在线升级的时候,貌似一直没有进入在线升级模式。我的这个在线升级思路是上位机发在线烧录指令,当下位机接收到这个指令的时候对芯片进行复位,而在代码复位行有关于在线升级方面的通讯代码,当执行这些通讯代码的时候,下位机会给上位机发送已进入在线烧录信息,当上位机查询到这些信息的时候,点击开始烧录,则上位机会将在线升级文件通过CAN通讯下载到下位机并覆盖原有应用程序,即完成软件在线升级。但是我现在调试在线升级的时候,当在上位机点击在线烧录,下位机输出会减小(貌似有复位的迹象),但是当停止按在线烧录的时候,输出就恢复正常了(貌似就没有复位了),下位机返回上位机的信息,也不正确(本来应返回1,返回1表明已进入在线烧录模式,但是一直返回0),整个调试过程给我的感觉应该是没有进入在线升级方面的代码。但是之前的上位机和引导程序都是好的,都可以进行在线升级,现在只是从PIC18F45K80更换成PIC18F46K80,我看了下手册,45和46这两款芯片只是程序存储器大小不一样(46是45的两倍),其他参数都是一模一样,难道这个程序存储器不一样也会对引导程序有影响?请各位过路的大神帮忙分析分析,万分感谢!
|