现在大部分开发板都自带仿真器或编程器了,无需外部的仿真器/编程器就可以下载程序,使用简单方便。而XMEGA-A1 Xplained需要外部的仿真器/编程器才能开发,非常不方便。而且XMEGA-A1 Xplained开发板只能使用支持JTAG或PDI的编程器,不支持ISP编程器,而我唯一支持JTAG/PDI的编程器AVRDragon在几年前就坏了,所以拿到XMEGA-A1 Xplained开发板后一直没法使用。
这个开发板上有两个单片机,一个是ATxmega128A1,它就是开发板的主MCU。另一个是AT90USB1287,它完成USB转串口的功能,但也可以控制ATxmega128A1的PDI接口。从硬件上看,是可以通过AT90USB1287实现控制ATxmeag128A1的,ATMEL一开始可能也有这样的想法。但是可能因为这个开发板推出得比较早(也许是赶时间来不及做),可能没有来得及完成,所以ATMEL官方网站上提供的程序并不支持这个功能,只能通过外部编程器/仿真器下载程序。
幸好在网上找到一篇介绍改造这个开发板方法的博客,按照这个方法成功将板载的AT90USB1287变成MKII编程器。整个过程无需外部编程器,只需要通过AT90USB1287内部的Bootloader就可以下载程序,非常方便。下面就详细进行介绍。
⒈首先是做准备工作,先仔细看看 http://fourwalledcubicle.com/blog/2010/02/mein-server/这个英文的博客,它详细介绍了升级操作的每个步骤。当然如果你不想看英文文档,那么就需要仔细看我下面的说明了。
⒉其次,下载并安装必要的软件和程序。
硬件:
软件:(为了方便大家,所以软件都在附件提供下载,这是经过验证的可以正常使用的版本。当然也可以自己去官网下载最新版本)
⒊编译XPLAINBridge。将LUFA的源码展开后,进入projects/XPLAINBridge目录,然后在命令行下输入make进行编译,等编译完成后,得到XPLAINBridge.hex,就是我们需要写入AT90USB1287的程序了。
LUFA有多个版本,我开始下载了最新的LUFA 140302,在编译时总是提示有错误。这应该与我安装的AVRGCC编译器版本不是最新版有关,而我不想重新升级安装AVRGCC。于是又下载了LUFA 130901 ,这次编译非常顺利,很快就完成了。经过测试这个版本运行也很稳定。
⒋在升级前,还要先检查一下XMEGA-A1 Xplained开发板的版本。因为这个开发板有4种不同硬件版本,而版本一是不支持Bootloader的(因为在AT90USB1287中没有内置Bootloader程序,不能升级,需要外部的编程器才能将程序写入)。不过幸运的是版本一很少见,99%的人是不会遇到的。检查硬件版本的方法是看开发板方面的不干胶标签上的数字,如图
⒌进入Bootloader模式。方法是在开发板接入USB前,先将开发板左上方的JTAG USB接口(AT90USB1287的JTAG口)的1、2用短路块连接起来(也就是将TCK信号接地,如图),然后再将开发板通过miniUSB线连接到计算机。如果这时Windows提示安装新的驱动,或者在WIndows设备管理器中发现新的设备,说明已经进入Bootloader模式。如果提示安装驱动,就安装 {FLIP Install Directory}/usb 下的驱动。如果没有找到新设备也没有关系,基本上10次里面有8到9次是找不到的,这应该是这个Bootloader的一个bug,这时前面准备的杜邦线就用上了,在不拔下USB线的情况下,将JTAG USB的6脚和10脚短接(RESET接地),然后再取下。这时一般就可以找到新设备了。
⒍下载编译好的XPLAINBridge.hex到AT90USB1287。运行FLIP,用软件工具栏的第一个按钮选择芯片型号(AT90USB1287),用第二个按钮选择通信方式(USB)。再用第9个按钮选择编译好的HEX文件 XPLAINBridge.hex,然后按下左下角的“Run”,就开始下载了。下载速度很快,几秒就完成了。下载成功后,记得先取下JTAG USB上的短路块,然后按下“Start Application”按钮,这时会提示找到新的设备。安装 {LUFA Root Directory}/Projects/XPLAINBridge/ 目录下的 XPLAIN Bridge.inf 驱动就行。
⒎最后一步,就是进入PDI编程模式。在不连接USB的情况下,将JTAG USB的9、10用短路块相连(TDI接地),在连接miniUSB,就像前面那样。这时就会找到AVRISP mkII,通常这时可以自动安装驱动,因为安装AVRStudio软件时会自动安装了MKII的驱动程序。
⒏打开AVRStudio或者其他开发软件,编译一个测试程序。或者直接通过支持MKII的编程软件,下载已经编译好的测试程序。
⒐如果前面几步安装驱动时失败,说明你使用的是精简版Windows,缺少了几个相关的驱动文件,下载附件中的驱动软件并复制到windows即可。
参考:
http://fourwalledcubicle.com/blog/2010/02/mein-server/
http://www.atmel.com/tools/avrxplain.aspx
文章评论(0条评论)
登录后参与讨论