主要参考文档:docs/GD32系列BSP制作教程.md
github地址:github.com/RT-Thread/r…
一些疑惑点:
-
例程的SConscript比stm32l4的多了个:Import(‘RTT_ROOT’)
-
stm32l4的SConstruct 多了:
set RTT_ROOT
if not os.getenv(“RTT_ROOT”):
RTT_ROOT=“rt-thread” -
stm32l4的link.sct 文件多了 (l476的ram是96+32):
RW_IRAM2 0x10000000 0x00008000 { ; RW data
.ANY (+RW +ZI) } -
GD32提供的board.h里面没有找到和flash映射相关的内容,多了一个外部flash相关的内容
-
SConscript内的文件不一样(和用到的外设有关)
-
rtconfig.py 内容不太一样,stm32l4的是rt-thread.map,gd32的是rtthread.map
一些注意事项:
- bsp/gd32/gd32407v-start/Kconfig中的路径相关内容要修改比如,default “…/…/…” source “…/libraries/Kconfig” source “board/Kconfig”
- bsp/gd32/gd32407v-start/SConstruct中的路径相关内容要修改比如,RTT_ROOT = os.path.normpath(os.getcwd() + ‘/…/…/…’)
- bsp/gd32/gd32407v-start/board/linker_scripts/link.sct中的flash和ram地址要根据手册提供的具体大小进行修改,并且和keil的 Read/Only Memory Areas设置一致
- 移植完成后记得复制rtconfig.py文件过来,否则在控制台使用scons的时候会报错
过程中查询的资料:
link.ld和link.lds区别
rtthread.map是什么
stm32的ram为什么分成多块
GD32F30X_CL支持什么芯片