|
请哪位高手帮我看看通用 bootloader on mega328P的问题:
使用外部晶振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[pagptr] | (buf[pagptr + 1] << 8));
}
boot_page_write(FlashAddr); //缓冲区数据写入flash页
boot_spm_busy_wait(); //等待页编程完成
}
Fuse 设置
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|