From fc78430a35be252a1cd5a29b5b66290a68cd9ca3 Mon Sep 17 00:00:00 2001
From: yincheng.zhong <634916154@qq.com>
Date: 星期二, 27 八月 2024 17:21:18 +0800
Subject: [PATCH] Merge branch '安邦测距手环' of http://47.108.70.204:60062/r/ChinaUWBProject into 安邦测距手环

---
 keil/include/drivers/menu.c |  266 ++++++++++++++++++++++++++--------------------------
 1 files changed, 133 insertions(+), 133 deletions(-)

diff --git a/keil/include/drivers/menu.c b/keil/include/drivers/menu.c
index 5d1749a..4fb7137 100644
--- a/keil/include/drivers/menu.c
+++ b/keil/include/drivers/menu.c
@@ -15,51 +15,51 @@
 
 uint32_t FlashProtection = 0;
 uint8_t tab_1024[1024] =
-  {
+{
     0
-  };
-	
+};
+
 void Int2Str(uint8_t* str, int32_t intnum)
 {
-  uint32_t i, Div = 1000000000, j = 0, Status = 0;
+    uint32_t i, Div = 1000000000, j = 0, Status = 0;
 
-  for (i = 0; i < 10; i++)
-  {
-    str[j++] = (intnum / Div) + 48;
+    for (i = 0; i < 10; i++)
+    {
+        str[j++] = (intnum / Div) + 48;
 
-    intnum = intnum % Div;
-    Div /= 10;
-    if ((str[j-1] == '0') & (Status == 0))
-    {
-      j = 0;
+        intnum = intnum % Div;
+        Div /= 10;
+        if ((str[j-1] == '0') & (Status == 0))
+        {
+            j = 0;
+        }
+        else
+        {
+            Status++;
+        }
     }
-    else
-    {
-      Status++;
-    }
-  }
 }
 uint32_t IAP_JumpTo(uint32_t ApplicationAddress)
 {
-	
-//	if (((*(uint32_t*)ApplicationAddress) & 0x20000000 ) == 0x20000000)
-//	{ 
-       memcpy((void *)SRAM_BASE, (void *)APP_CONFIG_APPLICATION_ADDRESS, APP_CONFIG_APPLICATION_SIZE);//size太大导致覆盖没法跳转
-			    __set_MSP(*(uint32_t *)SRAM_BASE);
-					typedef void (*p_entry_t)(void);
-				((p_entry_t) (*(uint32_t *)(SRAM_BASE + 4) + SRAM_BASE))();
-//		__set_MSP(*(uint32_t*) ApplicationAddress);         //Set MSP MK8000修改
-//		
-//		(*((void(*)(void))JumpAddress))();
-		
-//		return 1;
-//	}	
 
-	return 0;
+//	if (((*(uint32_t*)ApplicationAddress) & 0x20000000 ) == 0x20000000)
+//	{
+    memcpy((void *)SRAM_BASE, (void *)APP_CONFIG_APPLICATION_ADDRESS, APP_CONFIG_APPLICATION_SIZE);//size太大导致覆盖没法跳转
+    __set_MSP(*(uint32_t *)SRAM_BASE);
+    typedef void (*p_entry_t)(void);
+    ((p_entry_t) (*(uint32_t *)(SRAM_BASE + 4) + SRAM_BASE))();
+//		__set_MSP(*(uint32_t*) ApplicationAddress);         //Set MSP MK8000修改
+//
+//		(*((void(*)(void))JumpAddress))();
+
+//		return 1;
+//	}
+
+    return 0;
 }
 
 uint8_t FileName[FILE_NAME_LENGTH];
-	
+
 /**
   * @brief  Download a file via serial port
   * @param  None
@@ -67,41 +67,41 @@
   */
 unsigned char SerialDownload(void)
 {
-  uint8_t Number[10] = {0};
-  int32_t Size = 0;
-	Send_Byte(0x33);
-  Size = Ymodem_Receive(&tab_1024[0]);//开始接收文件,成功会返回文件的大小
-  if (Size > 0)  //返回成功
-  {
-		SerialPutString("\n\n\r Programming Completed Successfully!\n\r--------------------------------\r\n Name: ");
-    SerialPutString(FileName);
-    Int2Str(Number, Size);
-    SerialPutString("\n\r Size: ");
-    SerialPutString(Number);
-    SerialPutString(" Bytes\r\n");
-    SerialPutString("-------------------\n");
-		return 0;
-  }
-  else if (Size == -1)
-  {
-    //SerialPutString("\n\n\rThe image size is higher than the allowed space memory!\n\r");
-		return 1;
-	}
-  else if (Size == -2)
-  {
-    //SerialPutString("\n\n\rVerification failed!\n\r");
-		return 2;
-	}
-  else if (Size == -3)
-  {
-    //SerialPutString("\r\n\nAborted by user.\n\r");
-		return 3;
-  }
-  else
-  {
-   // SerialPutString("\n\rFailed to receive the file!\n\r");
-		return 4;
-	}
+    uint8_t Number[10] = {0};
+    int32_t Size = 0;
+    Send_Byte(0x33);
+    Size = Ymodem_Receive(&tab_1024[0]);//开始接收文件,成功会返回文件的大小
+    if (Size > 0)  //返回成功
+    {
+        SerialPutString("\n\n\r Programming Completed Successfully!\n\r--------------------------------\r\n Name: ");
+        SerialPutString(FileName);
+        Int2Str(Number, Size);
+        SerialPutString("\n\r Size: ");
+        SerialPutString(Number);
+        SerialPutString(" Bytes\r\n");
+        SerialPutString("-------------------\n");
+        return 0;
+    }
+    else if (Size == -1)
+    {
+        //SerialPutString("\n\n\rThe image size is higher than the allowed space memory!\n\r");
+        return 1;
+    }
+    else if (Size == -2)
+    {
+        //SerialPutString("\n\n\rVerification failed!\n\r");
+        return 2;
+    }
+    else if (Size == -3)
+    {
+        //SerialPutString("\r\n\nAborted by user.\n\r");
+        return 3;
+    }
+    else
+    {
+        // SerialPutString("\n\rFailed to receive the file!\n\r");
+        return 4;
+    }
 }
 
 /**
@@ -112,36 +112,36 @@
 
 uint8_t GetKey(void)
 {
-  uint8_t key = 0;
+    uint8_t key = 0;
 
-  /* Waiting for user input */
-  while (1)
-  {
-    if (SerialKeyPressed((uint8_t*)&key)) break;
-  }
-  return key;
+    /* Waiting for user input */
+    while (1)
+    {
+        if (SerialKeyPressed((uint8_t*)&key)) break;
+    }
+    return key;
 
 }
 void SerialUpload(void)
 {
-  uint8_t status = 0 ; 
+    uint8_t status = 0 ;
 
-  SerialPutString("\n\n\rSelect Receive File\n\r");
+    SerialPutString("\n\n\rSelect Receive File\n\r");
 
-  if (GetKey() == CRC16)
-  {
-    /* Transmit the flash image through ymodem protocol */
-    status = Ymodem_Transmit((uint8_t*)APP_CONFIG_APPLICATION_ADDRESS, (const uint8_t*)"UploadedFlashImage.bin", APP_CONFIG_APPLICATION_SIZE);
-
-    if (status != 0) 
+    if (GetKey() == CRC16)
     {
-      SerialPutString("\n\rError Occurred while Transmitting File\n\r");
+        /* Transmit the flash image through ymodem protocol */
+        status = Ymodem_Transmit((uint8_t*)APP_CONFIG_APPLICATION_ADDRESS, (const uint8_t*)"UploadedFlashImage.bin", APP_CONFIG_APPLICATION_SIZE);
+
+        if (status != 0)
+        {
+            SerialPutString("\n\rError Occurred while Transmitting File\n\r");
+        }
+        else
+        {
+            SerialPutString("\n\rFile uploaded successfully \n\r");
+        }
     }
-    else
-    {
-      SerialPutString("\n\rFile uploaded successfully \n\r");
-    }
-  }
 }
 
 /**
@@ -150,69 +150,69 @@
   * @retval None
   */
 
-void delay_ms(uint32_t nTimer)  
-{  
-    uint32_t i=1000*nTimer;  
-    delay_us(i);  
-} 
+void delay_ms(uint32_t nTimer)
+{
+    uint32_t i=1000*nTimer;
+    delay_us(i);
+}
 void Main_Menu(void)
 {
-  uint8_t key = 0;
+    uint8_t key = 0;
 
-  
-  while (1)
-  {
 
-    Serial0PutString("请传输升级文件\r\n\n");
-      /* Download user application in the Flash */
-			if(SerialDownload()==0)//如果传输完成跳回APP
-			{
-				//标志清除
-        uint16_t tmp = 0xFFFF;
-				flash_erase(FLASH_ID0, APP_CONFIG_IAPFLAG_SECTOR_ADDR, FLASH_SECTOR_SIZE);//擦除APPFLAG
-				flash_write_nbytes(FLASH_ID0,APP_CONFIG_IAPFLAG_MAP,(uint8_t*)&tmp,2);
+    while (1)
+    {
+
+        Serial0PutString("请传输升级文件\r\n\n");
+        /* Download user application in the Flash */
+        if(SerialDownload()==0)//如果传输完成跳回APP
+        {
+            //标志清除
+            uint16_t tmp = 0xFFFF;
+            flash_erase(FLASH_ID0, APP_CONFIG_IAPFLAG_SECTOR_ADDR, FLASH_SECTOR_SIZE);//擦除APPFLAG
+            flash_write_nbytes(FLASH_ID0,APP_CONFIG_IAPFLAG_MAP,(uint8_t*)&tmp,2);
 //            SPIFlash_Erase(SPI_FLASH_ID_0, APP_CONFIG_IAPFLAG_MAP,2, SPI_FLASH_SECTOR_ERASE_MODE_4K);  MK8000修改
-//            SPIFlash_Write(SPI_FLASH_ID_0, APP_CONFIG_IAPFLAG_MAP, (HIDO_UINT8*)&tmp, sizeof(tmp)); 
-    
+//            SPIFlash_Write(SPI_FLASH_ID_0, APP_CONFIG_IAPFLAG_MAP, (HIDO_UINT8*)&tmp, sizeof(tmp));
+
 //			  if (((*(__IO uint32_t*)APP_CONFIG_APPLICATION_ADDRESS) & 0x2FFE0000 ) == 0x20000000)先注释掉即一成功就跳转
-//				{ 
-					/* Jump to user application */
-					Serial0PutString("跳转APP\r\n");
-					memcpy((void *)SRAM_BASE, (void *)APP_CONFIG_APPLICATION_ADDRESS, APP_CONFIG_APPLICATION_SIZE);
-				 // setup new msp
-					__set_MSP(*(uint32_t *)SRAM_BASE);
-					Serial0PutString("跳转APP后\r\n");
-					typedef void (*p_entry_t)(void);
-					((p_entry_t) (*(uint32_t *)(SRAM_BASE + 4) + SRAM_BASE))();
-					
-				//JumpAddress = *(__IO uint32_t*) (SRAM_BASE + 4);
-				
+//				{
+            /* Jump to user application */
+            Serial0PutString("跳转APP\r\n");
+            memcpy((void *)SRAM_BASE, (void *)APP_CONFIG_APPLICATION_ADDRESS, APP_CONFIG_APPLICATION_SIZE);
+            // setup new msp
+            __set_MSP(*(uint32_t *)SRAM_BASE);
+            Serial0PutString("跳转APP后\r\n");
+            typedef void (*p_entry_t)(void);
+            ((p_entry_t) (*(uint32_t *)(SRAM_BASE + 4) + SRAM_BASE))();
+
+            //JumpAddress = *(__IO uint32_t*) (SRAM_BASE + 4);
+
 //					Jump_To_Application = (pFunction) JumpAddress;
-//					
+//
 //					/* Initialize user application's Stack Pointer */
 //					__set_MSP(*(__IO uint32_t*) SRAM_BASE);
-//					
+//
 //					/* Jump to application */
 //					Jump_To_Application();
-				}else{		
+        } else {
 //                    uint16_t tmp = 0xFFFF;
 //				flash_erase(FLASH_ID0, APP_CONFIG_IAPFLAG_MAP, 2);//擦除APPFLAG    此处失败就重启重新进入boot里面传输且不改变要升级的标志位
 //				flash_write(FLASH_ID0, APP_CONFIG_IAPFLAG_MAP, (uint8_t*)&tmp, sizeof(tmp));
-                    //SPIFlash_Erase(SPI_FLASH_ID_0, APP_CONFIG_IAPFLAG_MAP,2, SPI_FLASH_SECTOR_ERASE_MODE_4K);  改写为MK8000API
-                    //SPIFlash_Write(SPI_FLASH_ID_0, APP_CONFIG_IAPFLAG_MAP, (HIDO_UINT8*)&tmp, sizeof(tmp)); 
-                    delay_ms(10);
-										LOG_INFO(TRACE_MODULE_APP,"升级失败重启\r\n\n");
-										NVIC_SystemReset();
-							//SCB->AIRCR = 0X05FA0000|(unsigned int)0x04; //软复位回到bootloader  MK8000修改 
-				}
-				
-				return;
-			}
+            //SPIFlash_Erase(SPI_FLASH_ID_0, APP_CONFIG_IAPFLAG_MAP,2, SPI_FLASH_SECTOR_ERASE_MODE_4K);  改写为MK8000API
+            //SPIFlash_Write(SPI_FLASH_ID_0, APP_CONFIG_IAPFLAG_MAP, (HIDO_UINT8*)&tmp, sizeof(tmp));
+            delay_ms(10);
+            LOG_INFO(TRACE_MODULE_APP,"升级失败重启\r\n\n");
+            NVIC_SystemReset();
+            //SCB->AIRCR = 0X05FA0000|(unsigned int)0x04; //软复位回到bootloader  MK8000修改
+        }
+
+        return;
+    }
 //			else
 //			{
 //                NVIC_SystemReset();
 //				return;
 //			}
-    
+
 //}
 }

--
Gitblit v1.9.3