浏览代码

init cjson lib

balbekova 5 年之前
父节点
当前提交
565a31d11e
共有 1 个文件被更改,包括 51 次插入41 次删除
  1. 51 41
      user/main.c

+ 51 - 41
user/main.c

@@ -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
+};
+
 // crude libc compatibility
 int __errno;
 
 /* Размещение стека FreeRTOS в CCRAM */
-#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);
 
-	/* Clear flash error flags if were set */
-	FLASH_ClearFlag(FLASH_FLAG_PGPERR);
-	FLASH_ClearFlag(FLASH_FLAG_PGSERR);
+    /* Clear flash error flags if were set */
+    FLASH_ClearFlag(FLASH_FLAG_PGPERR);
+    FLASH_ClearFlag(FLASH_FLAG_PGSERR);
 
 #ifndef DEBUG
-	if (FLASH_OB_GetRDP() != SET) {
-		FLASH_Unlock();                           // this line is critical!
-		FLASH_OB_Unlock();
-		FLASH_OB_RDPConfig(OB_RDP_Level_1);
-		FLASH_OB_Launch();                        // Option Bytes programming
-		FLASH_OB_Lock();
-		FLASH_Lock();
-	}
+    if (FLASH_OB_GetRDP() != SET) {
+        FLASH_Unlock();                           // this line is critical!
+        FLASH_OB_Unlock();
+        FLASH_OB_RDPConfig(OB_RDP_Level_1);
+        FLASH_OB_Launch();                        // Option Bytes programming
+        FLASH_OB_Lock();
+        FLASH_Lock();
+    }
 #endif
 
-	gpio_init();
+    cJSON_InitHooks(&cjson_hooks);
 
-	WDG_Init();
+    gpio_init();
 
-	spi_flash_init();
-	//log_init(false);
-	//log_test();
-	//spi_flash_test();
-//  NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4);
+    WDG_Init();
 
-	init_settings();
-  
-  //xTaskCreate( InitTask, "InitTask", 1000, NULL, tskIDLE_PRIORITY, NULL);
+    spi_flash_init();
+    //log_init(false);
+    //log_test();
+    //spi_flash_test();
+    //  NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4);
+
+    init_settings();
+
+    //xTaskCreate( InitTask, "InitTask", 1000, NULL, tskIDLE_PRIORITY, NULL);
     xTaskCreate( InitTask, "InitTask", 6000, NULL, tskIDLE_PRIORITY, NULL);
-  
-  vTaskStartScheduler();
-  
-  return 0;
-	/*while(1)
-	{
-
-	}*/
+
+    vTaskStartScheduler();
+
+    return 0;
+    /*while(1)
+    {
+
+    }*/
 
 }