瑞萨工程师您好:
我单位产品一直选用瑞萨单片机,新近应用M30281型号进行开发,调试时遇到 ID CODE验证问题,问其他同事说这问题只能换个新单片机才行,请大家看看只能这样么?
调试器:E8,单片机M30281,仅调试了串口0、2,引脚P10
下载地址:400 + 80、0F5000
现象:初期调试没问题,
后来下载时出现验证 ID CODE的窗口,有几回输入全F,可以下载
现在输入全F不行了,始终无法下载程序,据同事说只能换个单片机(我的项目只能重
新焊块板子)
已经应用的办法:
输入全F,无效
用FDT查看mot文件,查到ID是7字节F,无效
没有ID文件
疑问:
我从没设过ID CODE,为什么要验证,
开始调试时不用验证,突然有一次出现验证窗口,随后经常出现,最后无法解决
请瑞萨工程师帮忙看下,有什么解决办法,以后如何避免问题的复现。
请瑞萨工程师来看看?是单片机问题还是开发环境问题

4楼
严格讲,楼主用FDT查看mot文件找ID码,应该是写到MCU的那个mot文件,如果是最后写入文件的的mot文件的话,ID码是可以找到的。
由于每个ID码是一个8位数据,分别存放在00FFDFH,00FFE3H,00FFEBH,00FFEFH,00FFF3H,00FFF7H,00FFFBH地址。我们在编程时,定义与ID码地址同处4byte地址的中断向量时,有可能采用: .LWORD _Interrupt_add1 这样对ID码无意识地进行了操作,使该字节的ID有“FF”变为了”00”; (如果要屏蔽对ID码的操作,可以采用 .LWORD (0FF000000H | _Interrupt_add1) 来避免。) 虽然这些向量区很少在程序中用到,但存在这种可能性,无意识地导致了ID码的某位或全部改写成“0”; ID码不为全F时,如对Flash进行读写操作,就会弹出ID码输入对话框。 可以试一下一下方法: 1) 输入ID码为全“0”试一下; 2) 在设定了中断的某一byte改为“00”试一下。 如果是其它原因,在生成的Mot文件里改写了ID,又没有保存旧版本,那芯片可能要重换了。祝好运~~
由于每个ID码是一个8位数据,分别存放在00FFDFH,00FFE3H,00FFEBH,00FFEFH,00FFF3H,00FFF7H,00FFFBH地址。我们在编程时,定义与ID码地址同处4byte地址的中断向量时,有可能采用: .LWORD _Interrupt_add1 这样对ID码无意识地进行了操作,使该字节的ID有“FF”变为了”00”; (如果要屏蔽对ID码的操作,可以采用 .LWORD (0FF000000H | _Interrupt_add1) 来避免。) 虽然这些向量区很少在程序中用到,但存在这种可能性,无意识地导致了ID码的某位或全部改写成“0”; ID码不为全F时,如对Flash进行读写操作,就会弹出ID码输入对话框。 可以试一下一下方法: 1) 输入ID码为全“0”试一下; 2) 在设定了中断的某一byte改为“00”试一下。 如果是其它原因,在生成的Mot文件里改写了ID,又没有保存旧版本,那芯片可能要重换了。祝好运~~

回复
打赏帖 | |
---|---|
分享一种检测按键状态的方法被打赏20分 | |
周末总结一下,STM32C0系列的开发经验被打赏50分 | |
【Cortex-M】Systick Timer使用被打赏10分 | |
分享汽车防盗系统的组成与分类(一)被打赏5分 | |
VOFA+波形显示+JYD-31蓝牙发送和解析不定长数据被打赏10分 | |
【换取手持数字示波器】-STM32F4PWM控制LED灯管亮度被打赏22分 | |
【换取手持数字示波器】STM32F4驱动RPR-0521RS照度、接近一体型传感器被打赏23分 | |
宏定义和const关键字定义被打赏5分 | |
【分享开发笔记,赚取电动螺丝刀】几个单片机I2S外设的BLCK时钟对比被打赏20分 | |
【功率监测与控制系统DIY活动成果贴】DIY功率计与LabVIEW数据采集被打赏100分 |