移植RT-Thread到GD32上

332 阅读1分钟

主要参考文档:docs/GD32系列BSP制作教程.md
github地址:github.com/RT-Thread/r…

一些疑惑点:

  1. 例程的SConscript比stm32l4的多了个:Import(‘RTT_ROOT’)

  2. stm32l4的SConstruct 多了:

    set RTT_ROOT
    if not os.getenv(“RTT_ROOT”):
    RTT_ROOT=“rt-thread”

  3. stm32l4的link.sct 文件多了 (l476的ram是96+32):
    RW_IRAM2 0x10000000 0x00008000 { ; RW data
    .ANY (+RW +ZI) }

  4. GD32提供的board.h里面没有找到和flash映射相关的内容,多了一个外部flash相关的内容

  5. SConscript内的文件不一样(和用到的外设有关)

  6. rtconfig.py 内容不太一样,stm32l4的是rt-thread.map,gd32的是rtthread.map

一些注意事项:

  1. bsp/gd32/gd32407v-start/Kconfig中的路径相关内容要修改比如,default “…/…/…” source “…/libraries/Kconfig” source “board/Kconfig”
  2. bsp/gd32/gd32407v-start/SConstruct中的路径相关内容要修改比如,RTT_ROOT = os.path.normpath(os.getcwd() + ‘/…/…/…’)
  3. bsp/gd32/gd32407v-start/board/linker_scripts/link.sct中的flash和ram地址要根据手册提供的具体大小进行修改,并且和keil的 Read/Only Memory Areas设置一致
  4. 移植完成后记得复制rtconfig.py文件过来,否则在控制台使用scons的时候会报错

过程中查询的资料:
link.ld和link.lds区别
rtthread.map是什么
stm32的ram为什么分成多块
GD32F30X_CL支持什么芯片