hrefspace

 找回密码
 立即注册
搜索
热搜: PHP PS 程序设计
查看: 400|回复: 0

关于avrgcc bootloader的问题

[复制链接]

521

主题

521

帖子

1587

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1587
发表于 2024-5-8 20:30:41 | 显示全部楼层 |阅读模式
我想使用 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;

  }
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|hrefspace

GMT+8, 2024-5-20 14:21 , Processed in 0.052506 second(s), 22 queries .

Powered by hrefspace X3.4 Licensed

Copyright © 2022, hrefspace.

快速回复 返回顶部 返回列表