common_config.h 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. #ifndef COMMON_CONFIG_H
  2. #define COMMON_CONFIG_H
  3. #include "at32f403a_407.h"
  4. #ifdef DEBUG
  5. #define DBG
  6. #else
  7. #undef DBG
  8. #define DBG if (0)
  9. #endif
  10. /**
  11. * @brief Версия прошивки
  12. */
  13. #define FW_VERSION "1.02"
  14. /**
  15. * @brief Адрес сектора настроек
  16. */
  17. #define SETTINGS_SECTOR 0x08020000
  18. /**
  19. * @brief Адрес CRC настроек
  20. */
  21. #define CRC_ADDRESS 0x080207FC
  22. /**
  23. * @brief Адрес сектора системных настроек
  24. */
  25. #define SYS_SECTOR 0x08020800
  26. /**
  27. * @brief Адрес CRC системных настроек
  28. */
  29. #define SYS_CRC_ADDRESS 0x08020FFC
  30. /**
  31. * @brief Слово для контроля целостности структуры настроек
  32. */
  33. #define SETTINGS_CONTROL_WORD 123456789
  34. /**
  35. * @brief Число (-1) попыток загрузки основной прошивки
  36. */
  37. #define BOOT_TRY 26
  38. #define USER_FLASH_FIRST_PAGE_ADDRESS 0x08021000
  39. // Абсолютный адрес основоного FW
  40. #define FW_BEGIN_ADDRESS 0x08021000
  41. #define FLASH_PAGE_SIZE 0x00000800U
  42. //#define USB_RNDIS
  43. // -------------------------------------------------------------------------- //
  44. // Флаг загрузчика (0, 1 - нужно обновлять FW)
  45. #define BACKUP_IAP_LOAD_MODE BPR_DATA1
  46. // Число попыток загрузки FW
  47. #define BACKUP_IAP_BOOT_TRY BPR_DATA2
  48. // Cтатус обновления FW для журнала событий (1 - успешно, 0 - ошибка)
  49. #define BACKUP_UPDATE_STATUS BPR_DATA3
  50. //
  51. #define BACKUP_RTC_KEY BPR_DATA4
  52. // -------------------------------------------------------------------------- //
  53. // Флаги, статусы
  54. #define IAP_UPDATE_NO 0 // обновления не было
  55. #define IAP_UPDATE_OK 1
  56. #define IAP_UPDATE_ERROR 2
  57. #endif /* #ifndef COMMON_CONFIG_H */