OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3365|回复: 4

想使用原子哥的IAP列程达到自动烧录目的并修改使用usart2,目前串口调通,但IAP程序不通,求助附工程

[复制链接]

2

主题

6

帖子

0

精华

新手入门

积分
18
金钱
18
注册时间
2019-4-2
在线时间
8 小时
发表于 2019-4-15 19:30:36 | 显示全部楼层 |阅读模式
3金钱

TEST.rar

8.14 MB, 下载次数: 22

工程

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2019-4-16 02:22:37 | 显示全部楼层
回复

使用道具 举报

2

主题

6

帖子

0

精华

新手入门

积分
18
金钱
18
注册时间
2019-4-2
在线时间
8 小时
 楼主| 发表于 2019-4-16 09:19:45 | 显示全部楼层

哥,你看看我主程序
int main(void)
{
u16 oldcount=0;        //老串口接受数据
u16 applenth=0;        //接收到的app代码长度
Stm32_Clock_Init(336,8,2,7);
delay_init(168);
LED_Init();
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
My_USART2_Init();


while(1)
{        
   if(USART_RX_CNT)
  {
   if(oldcount==USART_RX_CNT)//新周期没有收到任何数据,认为本次数据接受完成
   {
    applenth=USART_RX_CNT;
    oldcount=0;
    USART_RX_CNT=0;
   }
   else
   {
    oldcount=USART_RX_CNT;                        
   }
  }

   if(((*(vu32*)(0X20001000+4))&0xFF000000)==0x08000000)//判断是否为0x8xxxxxx
  {         
   iap_write_appbin(FLASH_APP1_ADDR,USART_RX_BUF,applenth);//更新FLASH代码
  }

  if(((*(vu32*)(FLASH_APP1_ADDR+4))&0xFF000000)==0x08000000)//判断是否为0X08XXXXXX.
   {         
   iap_load_app(FLASH_APP1_ADDR);//执行FLASH APP代码
  }
}
}
回复

使用道具 举报

10

主题

83

帖子

0

精华

高级会员

Rank: 4

积分
933
金钱
933
注册时间
2016-3-21
在线时间
113 小时
发表于 2019-4-18 11:25:38 | 显示全部楼层
这个问题我之前也遇到过,主要是串口时钟。在跳转app之前,将串口时钟disable,就好了
回复

使用道具 举报

2

主题

6

帖子

0

精华

新手入门

积分
18
金钱
18
注册时间
2019-4-2
在线时间
8 小时
 楼主| 发表于 2019-4-18 16:07:52 | 显示全部楼层
触电丶 发表于 2019-4-18 11:25
这个问题我之前也遇到过,主要是串口时钟。在跳转app之前,将串口时钟disable,就好了

您好,我才接触,基本小白一枚,可不可以给我详细的说一下,万分感谢
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-10 15:27

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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