通用 bootloader 4.5无法在 mega328P自我烧录程序
请哪位高手帮我看看通用 bootloader on mega328P的问题:链接:
http://www.amobbs.com/thread-5501032-1-1.html
使用外部晶振1.3824MHZ ,现在用的波特率是9600,boot size 2K.
AVR 通用 Bootloader V4.5 在MEGA168PA 都正常,在mega328P下,无法通过xmodem更新程序。
Bootloader 可以执行起来,但是烧录flash的时候无法烧录进去,更新一个flash页函数调用的是AVR libc的函数看起来也没什么问题,熔丝位设置也没错
//更新一个flash页函数
void write_one_page(unsigned char *buf)
{
boot_page_erase(FlashAddr); //擦除一个flash页
boot_spm_busy_wait();
for(pagptr = 0; pagptr < SPM_PAGESIZE; pagptr += 2) //数据填入flash缓存区
{
boot_page_fill(pagptr, buf | (buf << 8));
}
boot_page_write(FlashAddr); //缓冲区数据写入flash页
boot_spm_busy_wait(); //等待页编程完成
}
Fuse 设置
untitled.JPG (11.45 KB, 下载次数: 0)
Fuse 设置
Fuse 设置
未命名.jpg (47.88 KB, 下载次数: 0)
信息
信息
页:
[1]