根据RT-Thread文档说明,可以在BSP目录下运行scons -—dist
命令。该命令会在BSP目录下生成dist目录,该目录下包含了RT-Thread在内的当前BSP的依赖文件,可以拷贝到任意地方进行开发。
但是目前有一些BSP是不支持该功能的,下面由本文介绍一下如何让BSP支持dist功能。
提供dist功能的是位于rt-thread/tools
目录的mkdist.py
脚本文件,在文件的MkDist
函数中调用了来自BSP的dist_handle
函数。然后会将rt-thread的components
等目录拷贝到BSP下的dist目录。
这个dist_handle
由板级支持包在rtconfig.py
中定义。在运行scons -—dist
命令时,building.py
内的EndBuilding
函数在rtconfig
内寻找dist_handle
函数,并放入全局变量Env
中,点击查看。
所以BSP需要定义dist_handle
函数将BSP所需要用到的libraries
拷贝到dist目录。而一般BSP根目录下会有多个BSP,如nrf5x/nrf52832
、nrf5x/nrf52840
,这些BSP又需要引用同样的libraries
,所以很多开发板的支持包会在BSP根目录下创建一个tools/sdk_dist.py
脚本文件用来实现文件拷贝,再在rtconfig.py
内调用tools下面的脚本。
这里使用nrf5x/nrf52832
为例子介绍如何添加dist功能支持。
在nrf5x目录下创建toos/sdk_dist.py
文件: