cmb_cfg.h 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. /*
  2. * This file is part of the CmBacktrace Library.
  3. *
  4. * Copyright (c) 2016, Armink, <armink.ztl@gmail.com>
  5. *
  6. * Permission is hereby granted, free of charge, to any person obtaining
  7. * a copy of this software and associated documentation files (the
  8. * 'Software'), to deal in the Software without restriction, including
  9. * without limitation the rights to use, copy, modify, merge, publish,
  10. * distribute, sublicense, and/or sell copies of the Software, and to
  11. * permit persons to whom the Software is furnished to do so, subject to
  12. * the following conditions:
  13. *
  14. * The above copyright notice and this permission notice shall be
  15. * included in all copies or substantial portions of the Software.
  16. *
  17. * THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
  18. * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  19. * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
  20. * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
  21. * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
  22. * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
  23. * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  24. *
  25. * Function: It is the configure head file for this library.
  26. * Created on: 2016-12-15
  27. */
  28. #ifndef _CMB_CFG_H_
  29. #define _CMB_CFG_H_
  30. /* print line, must config by user */
  31. #include <rtthread.h>
  32. #ifndef RT_USING_ULOG
  33. #ifndef CMB_USING_FLASH_LOG_BACKUP
  34. #define cmb_println(...) rt_kprintf(__VA_ARGS__);rt_kprintf("\r\n")
  35. #else
  36. extern void cmb_flash_log_println(const char *fmt, ...);
  37. #define cmb_println(...) rt_kprintf(__VA_ARGS__);rt_kprintf("\r\n");cmb_flash_log_println(__VA_ARGS__)
  38. #endif /* CMB_USING_FLASH_LOG_BACKUP */
  39. #else
  40. #include <ulog.h>
  41. #define CMB_LOG_TAG "cmb"
  42. #define cmb_println(...) ulog_e(CMB_LOG_TAG, __VA_ARGS__);ulog_flush()
  43. #endif /* RT_USING_ULOG */
  44. /* enable bare metal(no OS) platform */
  45. /* #define CMB_USING_BARE_METAL_PLATFORM */
  46. /* enable OS platform */
  47. #define CMB_USING_OS_PLATFORM
  48. /* OS platform type, must config when CMB_USING_OS_PLATFORM is enable */
  49. #define CMB_OS_PLATFORM_TYPE CMB_OS_PLATFORM_RTT
  50. /* cpu platform type, must config by user */
  51. #if defined(PKG_CMBACKTRACE_PLATFORM_M0_M0PLUS)
  52. #define CMB_CPU_PLATFORM_TYPE CMB_CPU_ARM_CORTEX_M0
  53. #elif defined(PKG_CMBACKTRACE_PLATFORM_M3)
  54. #define CMB_CPU_PLATFORM_TYPE CMB_CPU_ARM_CORTEX_M3
  55. #elif defined(PKG_CMBACKTRACE_PLATFORM_M4)
  56. #define CMB_CPU_PLATFORM_TYPE CMB_CPU_ARM_CORTEX_M4
  57. #elif defined(PKG_CMBACKTRACE_PLATFORM_M7)
  58. #define CMB_CPU_PLATFORM_TYPE CMB_CPU_ARM_CORTEX_M7
  59. #elif defined(PKG_CMBACKTRACE_PLATFORM_M33)
  60. #define CMB_CPU_PLATFORM_TYPE CMB_CPU_ARM_CORTEX_M33
  61. #else
  62. #error "You must select a CPU platform on menuconfig"
  63. #endif /* PKG_CMBACKTRACE_PLATFORM_M0_M0PLUS */
  64. /* enable dump stack information */
  65. #if defined(PKG_CMBACKTRACE_DUMP_STACK)
  66. #define CMB_USING_DUMP_STACK_INFO
  67. #endif
  68. /* language of print information */
  69. #if defined(PKG_CMBACKTRACE_PRINT_ENGLISH)
  70. #define CMB_PRINT_LANGUAGE CMB_PRINT_LANGUAGE_ENGLISH
  71. #elif defined(PKG_CMBACKTRACE_PRINT_CHINESE)
  72. #define CMB_PRINT_LANGUAGE CMB_PRINT_LANGUAGE_CHINESE
  73. #elif defined(PKG_CMBACKTRACE_PRINT_CHINESE_UTF8)
  74. #define CMB_PRINT_LANGUAGE CMB_PRINT_LANGUAGE_CHINESE_UTF8
  75. #endif /* PKG_CMBACKTRACE_PRINT_ENGLISH */
  76. #endif /* _CMB_CFG_H_ */