查看: 4649|回复: 5

ATmega328P Xplained Mini 之 mEDBG 完全修复

[复制链接]
  • TA的每日心情
    奋斗
    2019-12-1 10:07
  • 签到天数: 1617 天

    连续签到: 1 天

    [LV.Master]伴坛终老

    发表于 2015-1-18 01:13:52 | 显示全部楼层 |阅读模式
    分享到:
    前面写过一篇《ATmega328P Xplained Mini的mEDBG故障分析和修复 》,但是还有一个小问题一直无法修复,就是设备名称也被修改(变为ATmeÿa328P),这样AS6就无法正常识别出开发板,不能进行仿真,只能使用下载功能了。

    在网上搜索,以及在avrfreaks论坛上求助,最后知道问题是出在EEPROM的数据被破坏,网友还提供了正确的EEPROM文件。可是ATmega328P Xplained Mini开发板的固件更新不包括EEPROM,而Flip软件也不能更新开发板上ATmega32U4芯片的EEPROM,提示被保护了。

    0.jpg


    用户手册中,也说到可以用JTAGICE mkII、JTAGICE3等编程器通过JTAG口更新。不过用了这么多年AVR,一直使用ISP编程器(包括自制的USB STK500编程器),还从来没有用过AVR的JTAG编程器,因为ATMEL的开发工具一直比较贵。唯一支持AVR JTAG的avr dragon也坏了N年。

    看了一下ATmega32U4的资料,发现它是支持ISP的。仔细研究了一下开发板的原理图,发现虽然没有专门给ATmega32U4留出ISP接口,但是它是通过330欧电阻连接到ATmega328P的ISP上的,因为它是通过ISP给ATmega328P编程的。

    a0.jpg

    那么我们就可以通过ISP对ATmega32U4编程。首先我们需要将ATmega328P的程序擦除,防止对SPI总线产生干扰。这一步可以用板载的mEDBG完成,也可以用外部编程器实现。

    然后将ATmega328P Xplained mini的ISP和STK500连上,这里用的是自制的USB STK500编程器。注意RESET不要接,因为我们需要修改的是ATmega32U4,所以要连接到ATmega32U4的RESET上。因此这里就需要用杜邦线连接,而不能用排线了。如下图:


    a1.jpg

    a2.jpg

    a3.jpg

    a4.jpg

    这里有个坑是不要将VCC连接到开发板最下面一排标着VCC的引脚上了,那其实是空脚。

    最后将STK500的第5脚RESET,小心的用一个排针点到ATmega32U4的JTAG插座的第6脚。

    a5.jpg


    然后选择STK500编程器,进入编程模式。下面用的是AS4软件,用AS6也是可以的,步骤一样。

    进入后先选择芯片和编程模式。

    1.jpg

    然后修改熔丝位,将BOD设置为2.4V(默认是禁止BOD),防止电压不稳时EEPROM被破坏,其他的不要改。

    2.jpg


    再将EEPROM数据文件写入芯片。

    3.jpg


    成功完成上面操作后,再将开发板插上USB,AS6又可以正常识别出开发板了,所有功能都正常了。

    最后看看EEPROM数据的内容,可以清楚看到前面的序列号,以及中间的“ATmega328P”这个字符串。忘记先将错误的EEPROM数据读出来比较一下了。

    4.jpg


    这个EEPROM的数据文件是国外网友Sailor提供的。

    EEPROM_32U4_00_mega328P_rev4.zip (573 Bytes, 下载次数: 111)
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2020-2-7 11:49
  • 签到天数: 2193 天

    连续签到: 33 天

    [LV.Master]伴坛终老

    发表于 2015-1-18 10:14:53 | 显示全部楼层
    顶一个!!!!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-7-4 13:51
  • 签到天数: 347 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2015-1-18 21:40:27 | 显示全部楼层
    恩,学习下,话说AtmelStudio目前没这型号的例程呀好像,我是软件也升级过了,ASF也升级过了还是没有。请问你是怎么解决的?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2019-12-1 10:07
  • 签到天数: 1617 天

    连续签到: 1 天

    [LV.Master]伴坛终老

    发表于 2015-1-18 22:17:17 | 显示全部楼层
    770781327 发表于 2015-1-18 21:40
    恩,学习下,话说AtmelStudio目前没这型号的例程呀好像,我是软件也升级过了,ASF也升级过了还是没有。请问 ...

    AS6可以识别这个开发板,但是ASF中的确没有例程。毕竟这个MCU出道也毕竟早,ATMEL不太想继续维护了。

    好在8位的AVR也相对容易。各种例程也好找,就是没有象ASF那样有统一的风格和接口。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-7-4 13:51
  • 签到天数: 347 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2015-1-19 16:27:57 | 显示全部楼层
    这些用到的软件是官网提供的么?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2019-12-1 10:07
  • 签到天数: 1617 天

    连续签到: 1 天

    [LV.Master]伴坛终老

    发表于 2015-1-19 16:33:11 | 显示全部楼层
    Flip是atmel的,相当于一个bootloader的PC软件。AS4是AS6的早期版本,只用AS6也是可以的。

    最后一个查看HEX的软件是我写的Booltoader软件的PC软件,用Flip也是可以的。
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-5-20 17:28 , Processed in 0.142764 second(s), 26 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.