107芯片串口UART4升级不成功,请大家指教

2019-10-15 06:16发布

用107芯片的串口UART4进行串口程序升级,以前用串口2,串口1进行升级都成功过,现在用串口4出现各种问题:问题现象1:引导程序在进行地址判断时候,不满足条件
就是这一句  if(((*(vu32*)(FLASH_APP1_ADDR+4))&0xFF000000)==0x08000000)
//判断是否为0X08XXXXXX.                     {                                iap_load_app(FLASH_APP1_ADDR);//执行FLASH APP代码                     }else                     {                                  Delay_ms(100);  //  。。。。。。。。。。。省略                     }                         进不到if里面去,进入else中。可以确认的一点就是,各项设置都正确,包括这个地址设置,初步解决方法:在APP程序中添加以下语句RCC->APB1RSTR = 0x00000000;//复位结束                  

       RCC->APB2RSTR = 0x00000000;        

      RCC->AHBENR = 0x00000014;  //睡眠模式闪存和SRAM时钟使能.其他关闭.  

      RCC->APB2ENR = 0x00000000; //外设时钟关闭.                    

      RCC->APB1ENR = 0x00000000;  

       RCC->CR |= 0x00000001;    //使能内部高速时钟HSION           

       RCC->CFGR &= 0xF8FF0000;

//复位SW[1:0],HPRE[3:0],PPRE1[2:0],PPRE2[2:0],ADCPRE[1:0],MCO[2:0]            

       RCC->CR &= 0xFEF6FFFF;  //复位HSEON,CSSON,PLLON

       RCC->CR &= 0xFFFBFFFF;  //复位HSEBYP        

       RCC->CFGR &= 0xFF80FFFF;//复位PLLSRC, PLLXTPRE, PLLMUL[3:0] and USBPRE

       RCC->CIR = 0x00000000;    //关闭所有中断        
重新烧写引导程序和IAP程序,发现就可以跳转了,满足这个判断条件了:if(((*(vu32*)(FLASH_APP1_ADDR+4))&0xFF000000)==0x08000000)
暂时不知道是什么原因,但是发现正点原子例程中,寄存器版本有上述寄存器的操作,库函数版本中却没有,不知道这个如何解释,我出现的这个问题




问题2:可以正常跳转后,我发现我的定时器2和定时器3没有定时,就是不工作,
定时器的打开和操作,都是会用的,从没出过问题,就是不知道为什么跳转后,IAP程序定时器不工作,时钟也使能了,相关的配置也配置了




问题3  如果源程序不改变以下2个地方,程序是可以正常运行的,说明程序没有问题:
  file:///C:Documents and SettingsAdministratorApplication DataTencentUsers359216499QQWinTempRichOleC7{5HRD%B@4U({6HPX_J2I8.pngfile:///C:Documents and SettingsAdministratorApplication DataTencentUsers359216499QQWinTempRichOleC7{5HRD%B@4U({6HPX_J2I8.pngfile:///C:Documents and SettingsAdministratorApplication DataTencentUsers359216499QQWinTempRichOleC7{5HRD%B@4U({6HPX_J2I8.png
        SystemInit();        MY_NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x10000);        __enable_irq();


现在不知道为什么了,有谁能解答一下么?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。