|
@@ -4,6 +4,7 @@
|
|
|
#include "task.h"
|
|
|
#include "common_config.h"
|
|
|
#include "settings_api.h"
|
|
|
+#include "cJSON.h"
|
|
|
|
|
|
#include "gpio.h"
|
|
|
|
|
@@ -13,11 +14,17 @@
|
|
|
|
|
|
#include "spi_flash.h"
|
|
|
|
|
|
+
|
|
|
+static cJSON_Hooks cjson_hooks = {
|
|
|
+ pvPortMalloc,
|
|
|
+ vPortFree
|
|
|
+};
|
|
|
+
|
|
|
|
|
|
int __errno;
|
|
|
|
|
|
|
|
|
-#if defined ( __ICCARM__ )
|
|
|
+#if defined ( __ICCARM__ )
|
|
|
#pragma location = ".sram"
|
|
|
uint8_t ucHeap[ configTOTAL_HEAP_SIZE ];
|
|
|
#else
|
|
@@ -29,59 +36,62 @@ char hw_rev[HW_REV_LEN] __attribute__ ((section (".hw_rev"))) = HW_REV;
|
|
|
#endif
|
|
|
|
|
|
|
|
|
-void vApplicationTickHook(void) {
|
|
|
+void vApplicationTickHook(void)
|
|
|
+{
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
int main()
|
|
|
{
|
|
|
- TIM_Cmd(TIM13, DISABLE);
|
|
|
- TIM_ClearITPendingBit(TIM13, TIM_IT_Update);
|
|
|
-
|
|
|
- __disable_irq();
|
|
|
- NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x20000);
|
|
|
- NVIC_SetPriorityGrouping(0);
|
|
|
- NVIC_PriorityGroupConfig( NVIC_PriorityGroup_4 );
|
|
|
- __enable_irq();
|
|
|
+ TIM_Cmd(TIM13, DISABLE);
|
|
|
+ TIM_ClearITPendingBit(TIM13, TIM_IT_Update);
|
|
|
+
|
|
|
+ __disable_irq();
|
|
|
+ NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x20000);
|
|
|
+ NVIC_SetPriorityGrouping(0);
|
|
|
+ NVIC_PriorityGroupConfig( NVIC_PriorityGroup_4 );
|
|
|
+ __enable_irq();
|
|
|
|
|
|
- RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_CRC, ENABLE);
|
|
|
+ RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_CRC, ENABLE);
|
|
|
|
|
|
-
|
|
|
- FLASH_ClearFlag(FLASH_FLAG_PGPERR);
|
|
|
- FLASH_ClearFlag(FLASH_FLAG_PGSERR);
|
|
|
+
|
|
|
+ FLASH_ClearFlag(FLASH_FLAG_PGPERR);
|
|
|
+ FLASH_ClearFlag(FLASH_FLAG_PGSERR);
|
|
|
|
|
|
#ifndef DEBUG
|
|
|
- if (FLASH_OB_GetRDP() != SET) {
|
|
|
- FLASH_Unlock();
|
|
|
- FLASH_OB_Unlock();
|
|
|
- FLASH_OB_RDPConfig(OB_RDP_Level_1);
|
|
|
- FLASH_OB_Launch();
|
|
|
- FLASH_OB_Lock();
|
|
|
- FLASH_Lock();
|
|
|
- }
|
|
|
+ if (FLASH_OB_GetRDP() != SET) {
|
|
|
+ FLASH_Unlock();
|
|
|
+ FLASH_OB_Unlock();
|
|
|
+ FLASH_OB_RDPConfig(OB_RDP_Level_1);
|
|
|
+ FLASH_OB_Launch();
|
|
|
+ FLASH_OB_Lock();
|
|
|
+ FLASH_Lock();
|
|
|
+ }
|
|
|
#endif
|
|
|
|
|
|
- gpio_init();
|
|
|
+ cJSON_InitHooks(&cjson_hooks);
|
|
|
|
|
|
- WDG_Init();
|
|
|
+ gpio_init();
|
|
|
|
|
|
- spi_flash_init();
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+ WDG_Init();
|
|
|
|
|
|
- init_settings();
|
|
|
-
|
|
|
-
|
|
|
+ spi_flash_init();
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ init_settings();
|
|
|
+
|
|
|
+
|
|
|
xTaskCreate( InitTask, "InitTask", 6000, NULL, tskIDLE_PRIORITY, NULL);
|
|
|
-
|
|
|
- vTaskStartScheduler();
|
|
|
-
|
|
|
- return 0;
|
|
|
-
|
|
|
- {
|
|
|
-
|
|
|
- }*/
|
|
|
+
|
|
|
+ vTaskStartScheduler();
|
|
|
+
|
|
|
+ return 0;
|
|
|
+
|
|
|
+ {
|
|
|
+
|
|
|
+ }*/
|
|
|
|
|
|
}
|
|
|
|