1
0

xmake.lua 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. add_rules("mode.debug", "mode.release")
  2. toolchain("arm-none-eabi")
  3. set_kind("standalone")
  4. set_sdkdir("/home/bernard/.env/tools/scripts/packages/arm-none-eabi-gcc-v13.2.rel1")
  5. toolchain_end()
  6. target("rt-thread")
  7. set_kind("binary")
  8. set_toolchains("arm-none-eabi")
  9. add_files(
  10. "applications/main.c",
  11. "../../../components/libc/compilers/common/cctype.c",
  12. "../../../components/libc/compilers/common/cstdlib.c",
  13. "../../../components/libc/compilers/common/cstring.c",
  14. "../../../components/libc/compilers/common/ctime.c",
  15. "../../../components/libc/compilers/common/cunistd.c",
  16. "../../../components/libc/compilers/common/cwchar.c",
  17. "../../../components/libc/compilers/newlib/syscalls.c",
  18. "../../../components/drivers/core/device.c",
  19. "../../../components/drivers/ipc/completion_comm.c",
  20. "../../../components/drivers/ipc/completion_up.c",
  21. "../../../components/drivers/ipc/condvar.c",
  22. "../../../components/drivers/ipc/dataqueue.c",
  23. "../../../components/drivers/ipc/pipe.c",
  24. "../../../components/drivers/ipc/ringblk_buf.c",
  25. "../../../components/drivers/ipc/ringbuffer.c",
  26. "../../../components/drivers/ipc/waitqueue.c",
  27. "../../../components/drivers/ipc/workqueue.c",
  28. "../../../components/drivers/pin/dev_pin.c",
  29. "../../../components/drivers/serial/dev_serial.c",
  30. "../libraries/HAL_Drivers/drivers/drv_gpio.c",
  31. "../libraries/HAL_Drivers/drivers/drv_usart.c",
  32. "../libraries/HAL_Drivers/drv_common.c",
  33. "board/CubeMX_Config/Src/stm32f4xx_hal_msp.c",
  34. "board/board.c",
  35. "../../../components/finsh/shell.c",
  36. "../../../components/finsh/msh.c",
  37. "../../../components/finsh/msh_parse.c",
  38. "../../../components/finsh/cmd.c",
  39. "../../../src/clock.c",
  40. "../../../src/components.c",
  41. "../../../src/cpu_up.c",
  42. "../../../src/defunct.c",
  43. "../../../src/idle.c",
  44. "../../../src/ipc.c",
  45. "../../../src/irq.c",
  46. "../../../src/kservice.c",
  47. "../../../src/mem.c",
  48. "../../../src/mempool.c",
  49. "../../../src/object.c",
  50. "../../../src/scheduler_comm.c",
  51. "../../../src/scheduler_up.c",
  52. "../../../src/thread.c",
  53. "../../../src/timer.c",
  54. "../../../src/klibc/kstring.c",
  55. "../../../src/klibc/rt_vsscanf.c",
  56. "../../../src/klibc/kstdio.c",
  57. "../../../src/klibc/rt_vsnprintf_tiny.c",
  58. "../../../src/klibc/kerrno.c",
  59. "../../../libcpu/arm/common/atomic_arm.c",
  60. "../../../libcpu/arm/common/div0.c",
  61. "../../../libcpu/arm/common/showmem.c",
  62. "../../../libcpu/arm/cortex-m4/context_gcc.S",
  63. "../../../libcpu/arm/cortex-m4/cpuport.c",
  64. "packages/stm32f4_cmsis_driver-latest/Source/Templates/gcc/startup_stm32f412zx.s",
  65. "packages/stm32f4_cmsis_driver-latest/Source/Templates/system_stm32f4xx.c",
  66. "packages/stm32f4_hal_driver-latest/Src/stm32f4xx_hal_dma_ex.c",
  67. "packages/stm32f4_hal_driver-latest/Src/stm32f4xx_hal_usart.c",
  68. "packages/stm32f4_hal_driver-latest/Src/stm32f4xx_hal_pwr_ex.c",
  69. "packages/stm32f4_hal_driver-latest/Src/stm32f4xx_hal_cryp.c",
  70. "packages/stm32f4_hal_driver-latest/Src/stm32f4xx_hal_gpio.c",
  71. "packages/stm32f4_hal_driver-latest/Src/stm32f4xx_hal_rcc.c",
  72. "packages/stm32f4_hal_driver-latest/Src/stm32f4xx_hal.c",
  73. "packages/stm32f4_hal_driver-latest/Src/stm32f4xx_hal_cortex.c",
  74. "packages/stm32f4_hal_driver-latest/Src/stm32f4xx_hal_pwr.c",
  75. "packages/stm32f4_hal_driver-latest/Src/stm32f4xx_hal_cec.c",
  76. "packages/stm32f4_hal_driver-latest/Src/stm32f4xx_hal_cryp_ex.c",
  77. "packages/stm32f4_hal_driver-latest/Src/stm32f4xx_hal_dma.c",
  78. "packages/stm32f4_hal_driver-latest/Src/stm32f4xx_hal_uart.c",
  79. "packages/stm32f4_hal_driver-latest/Src/stm32f4xx_hal_rcc_ex.c",
  80. "packages/stm32f4_hal_driver-latest/Src/stm32f4xx_hal_crc.c",
  81. "packages/stm32f4_hal_driver-latest/Src/stm32f4xx_hal_rng.c"
  82. )
  83. add_includedirs(
  84. "applications",
  85. "packages/CMSIS-Core-latest/Include",
  86. "../../../components/libc/compilers/newlib",
  87. "../../../components/libc/compilers/common/include",
  88. "../../../components/drivers/include",
  89. "../../../components/drivers/smp_call",
  90. "../../../components/drivers/phy",
  91. "board",
  92. "board/CubeMX_Config/Inc",
  93. "../libraries/HAL_Drivers/drivers",
  94. "../libraries/HAL_Drivers/drivers/config",
  95. "../libraries/HAL_Drivers",
  96. "../../../components/finsh",
  97. ".",
  98. "../../../include",
  99. "../../../libcpu/arm/common",
  100. "../../../libcpu/arm/cortex-m4",
  101. "../../../components/libc/posix/ipc",
  102. "../../../components/libc/posix/io/poll",
  103. "../../../components/libc/posix/io/eventfd",
  104. "../../../components/libc/posix/io/epoll",
  105. "packages/stm32f4_cmsis_driver-latest/Include",
  106. "packages/stm32f4_hal_driver-latest/Inc",
  107. "packages/stm32f4_hal_driver-latest/Inc/Legacy"
  108. )
  109. add_defines(
  110. "RT_USING_LIBC",
  111. "RT_USING_NEWLIBC",
  112. "STM32F412Zx",
  113. "USE_HAL_DRIVER",
  114. "_POSIX_C_SOURCE=1",
  115. "__RTTHREAD__"
  116. )
  117. add_cflags(
  118. " -mcpu=cortex-m4 -mthumb -mfpu=fpv4-sp-d16 -mfloat-abi=hard -ffunction-sections -fdata-sections -Dgcc -O0 -gdwarf-2 -g" ,{force = true}
  119. )
  120. add_cxxflags(
  121. " -mcpu=cortex-m4 -mthumb -mfpu=fpv4-sp-d16 -mfloat-abi=hard -ffunction-sections -fdata-sections -Dgcc -O0 -gdwarf-2 -g" ,{force = true}
  122. )
  123. add_asflags(
  124. " -c -mcpu=cortex-m4 -mthumb -mfpu=fpv4-sp-d16 -mfloat-abi=hard -ffunction-sections -fdata-sections -x assembler-with-cpp -Wa,-mimplicit-it=thumb -gdwarf-2" ,{force = true}
  125. )
  126. add_ldflags(
  127. " -mcpu=cortex-m4 -mthumb -mfpu=fpv4-sp-d16 -mfloat-abi=hard -ffunction-sections -fdata-sections -Wl,--gc-sections,-Map=rt-thread.map,-cref,-u,Reset_Handler -T board/linker_scripts/link.lds" ,{force = true}
  128. )
  129. set_targetdir("./")
  130. set_filename("rtthread.elf")
  131. after_build(function(target)
  132. os.exec("/home/bernard/.env/tools/scripts/packages/arm-none-eabi-gcc-v13.2.rel1/bin/arm-none-eabi-objcopy -O ihex rtthread.elf rtthread.hex")
  133. os.exec("/home/bernard/.env/tools/scripts/packages/arm-none-eabi-gcc-v13.2.rel1/bin/arm-none-eabi-objcopy -O binary rtthread.elf rtthread.bin")
  134. os.exec("/home/bernard/.env/tools/scripts/packages/arm-none-eabi-gcc-v13.2.rel1/bin/arm-none-eabi-size rtthread.elf")
  135. end)