common_config.h 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  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 CALIBRATION_FACTOR_SECTOR 0x0801F800
  18. /**
  19. * @brief Адрес CRC калибровочных коэффициентов
  20. */
  21. #define CRC_FACTOR 0x0801FFFC
  22. /**
  23. * @brief Адрес сектора настроек
  24. */
  25. #define SETTINGS_SECTOR 0x08020000
  26. /**
  27. * @brief Адрес CRC настроек
  28. */
  29. #define CRC_ADDRESS 0x080207FC
  30. /**
  31. * @brief Адрес сектора системных настроек
  32. */
  33. #define SYS_SECTOR 0x08020800
  34. /**
  35. * @brief Адрес CRC системных настроек
  36. */
  37. #define SYS_CRC_ADDRESS 0x08020FFC
  38. /**
  39. * @brief Слово для контроля целостности структуры настроек
  40. */
  41. #define SETTINGS_CONTROL_WORD 123456789
  42. /**
  43. * @brief Число (-1) попыток загрузки основной прошивки
  44. */
  45. #define BOOT_TRY 26
  46. #define USER_FLASH_FIRST_PAGE_ADDRESS 0x08021000
  47. // Абсолютный адрес основоного FW
  48. #define FW_BEGIN_ADDRESS 0x08021000
  49. #define FLASH_PAGE_SIZE 0x00000800U
  50. //#define USB_RNDIS
  51. // -------------------------------------------------------------------------- //
  52. // Флаг загрузчика (0, 1 - нужно обновлять FW)
  53. #define BACKUP_IAP_LOAD_MODE BPR_DATA1
  54. // Число попыток загрузки FW
  55. #define BACKUP_IAP_BOOT_TRY BPR_DATA2
  56. // Cтатус обновления FW для журнала событий (1 - успешно, 0 - ошибка)
  57. #define BACKUP_UPDATE_STATUS BPR_DATA3
  58. //
  59. #define BACKUP_RTC_KEY BPR_DATA4
  60. //
  61. #define BACKUP_RTC_UPDATE BPR_DATA5
  62. // -------------------------------------------------------------------------- //
  63. // Флаги, статусы
  64. #define IAP_UPDATE_NO 0 // обновления не было
  65. #define IAP_UPDATE_OK 1
  66. #define IAP_UPDATE_ERROR 2
  67. #endif /* #ifndef COMMON_CONFIG_H */