打印
[AVR单片机]

关于avrgcc bootload

[复制链接]
1092|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xu_kevin|  楼主 | 2013-8-6 22:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我想使用 avr 的flash 在程序运行中保存一些参数。而不是下载应用应用程序。但是程序运行不正常。原来timer中断也进不去,while循环也不对,总是跳到回main()的起始处运行。我这只是个测试程序。子flash放一个0x1122这个数。软件模拟运行时候i能返回0x22这个值,但是出现上述不正常的情况。下载到板子后。i的值从led灯的指示上看是0x1f。请诸位高手参照一下程序给个 建议。谢谢啦!
//loader 子程序
loader(BOOTLOADER_SECTION)
{ unsigned char a;
  unsigned int h;
   h=0x1122;
   boot_page_erase(card_data);
   do{}while(boot_spm_busy());
   boot_page_fill(card_data,h);
   boot_page_write (card_data);
    do{}while(boot_spm_busy());
  }
const prog_uchar card_data[500][5]={{0x1f,0x2f,0x3f,0x4f,0x30},{0xaf,0xbf,0xcf,0xdf,0xe0}//...............};
main(()
{
//.................................................
//....................................................
loader();//调用loader程序
i=pgm_read_byte(&card_data[0][0]);
  while(1)

{


   set_out_1(i);//通过他led指示i里面的值,也就是flash中的值
  // BUZZER_ON;

  }

相关帖子

沙发
qin552011373| | 2013-8-7 08:31 | 只看该作者
没搞过bootlader  帮你顶一下

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

2

帖子

0

粉丝