原创 在AUMFB试验板上移植AVR bootloader HID

2009-5-24 21:59 3223 5 3 分类: MCU/ 嵌入式

 


这个Bootloader是基于USB HID的,无需安装驱动程序,使用起来比较简单方便。只需要简单的修改几个参数就可以在AUMFB(AVR USB Multi Function Board)实验板上运行。程序的作者是Christian Starkjohann。这里使用AVR Studio+WinAVR作为开发工具。



需要修改的地方:


在文件bootloaderconfig.h中,修改以下几处:





  • 设置USB对应端口

#define USB_CFG_DMINUS_BIT      4
#define USB_CFG_DPLUS_BIT       2
 



  • 设置Bootload条件
    这里设置PB2为低时进入Bootloader

static inline void  bootLoaderInit(void)
{
    PORTB = (1 << PB2); /* activate pull-up for key */
    _delay_us(10);  /* wait for levels to stabilize */
}


#define bootLoaderCondition()   ((PINB & (1 << PB2)) == 0)   /* True if jumper is set */
 







此外,在项目属性中,设置频率为12000000(12M):


点击开大图


 


再设置程序段地址为0xC00:


点击开大图


 



编译后,就可以将产生的目标文件(bootload.hex),使用编程器通过ISP方式写入AVR单片机中。实验板上留有ISP6和ISP10两种接口,连接编程器时请注意插座的方向。



点击开大图


编程前,注意需要先连上短路块,这样编程器才能写入程序。



 


点击开大图


此外,还需要设置正确的熔丝位。



 


点击开大图


 


写入Bootloader后,先取下编程器和断开USB线,然后接上如图所示短路块,然后再插上USB线,在到设备管理器中查看是否增加了一个人体输入设备:


点击开大图


如果有多个USB 人体输入设备,那么在设备属性中查看设备是否是HIDBoot。



 


如果以上步骤成功,以后就可以不在使用编程器,而是通过Bootloader下载程序了。




相关 AUMFB 多功能试验板的原理图和PCB

zip.gif 完整的项目文件


 

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
5
关闭 站长推荐上一条 /3 下一条