main.c 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. #include "stm32f4xx.h"
  2. #include "wdg.h"
  3. #include "FreeRTOS.h"
  4. #include "task.h"
  5. #include "gpio.h"
  6. #include "main.h"
  7. #include "init_task.h"
  8. #include "log.h"
  9. #include "spi_flash.h"
  10. /* Размещение стека FreeRTOS в CCRAM */
  11. #if defined ( __ICCARM__ )
  12. #pragma location = ".sram"
  13. uint8_t ucHeap[ configTOTAL_HEAP_SIZE ];
  14. #else
  15. uint8_t ucHeap[ configTOTAL_HEAP_SIZE ] __attribute__ ((section (".mb1text")));
  16. /* Секция размещения СRC прошивки */
  17. uint32_t crc __attribute__ ((section (".crc"))) = 0xAABBCCDD;
  18. #endif
  19. void vApplicationTickHook(void) {
  20. }
  21. int main()
  22. {
  23. //TIM_Cmd(TIM13, DISABLE);
  24. //TIM_ClearITPendingBit(TIM13, TIM_IT_Update);
  25. __disable_irq();
  26. NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x20000);
  27. NVIC_SetPriorityGrouping(0);
  28. NVIC_PriorityGroupConfig( NVIC_PriorityGroup_4 );
  29. __enable_irq();
  30. //WDG_Init();
  31. RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_CRC, ENABLE);
  32. /* Clear flash error flags if were set */
  33. FLASH_ClearFlag(FLASH_FLAG_PGPERR);
  34. FLASH_ClearFlag(FLASH_FLAG_PGSERR);
  35. gpio_init();
  36. spi_flash_init();
  37. log_init(false);
  38. //log_test();
  39. //spi_flash_test();
  40. // NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4);
  41. xTaskCreate( InitTask, "InitTask", 1000, NULL, tskIDLE_PRIORITY, NULL);
  42. vTaskStartScheduler();
  43. return 0;
  44. /*while(1)
  45. {
  46. }*/
  47. }