紧接上文《bsp的制作》
通过对其文件组织结构及编译配置的了解,可以有一种更好的文件组织形式
- 在rt-thread-port目录新建文件夹,命名为
rt-thread
把除bsp之外的所有文件及文件夹移进来。 - 把制作好的bsp,及stm32目录下的
libraries
和open103r_bsp
移动到rt-thread-port目录。
这样的话,文件结构清晰多了
改完之后 ,要修改相关脚本文件,才能正常使用menuconfig及正常使用scons编译
有几个重要变量
- RTT_ROOT: rt-thread的路径,这里对应
rt-thread-port/rt-thread
- SDK_ROOT: bsp目录,对应
rt-thread-port/open103r_bsp
- SDK_LIB: 库的路径,对应
rt-thread-port/libraries
这三个变量搞对了才能正常编译,这三个变量是在open103r_bsp
目录中的SConstruct
中定义的,这个文件其实就是一个python文件。执行scons
时会首先执行这个脚本
RTT_ROOT的赋值语句中,最后的'/../../..'
改成了'/../rt-thread'
这段无需更改,就能得到正确的libraries
路径。可以看出 ,这段代码只是检索了当前目录和上级目录是否有libraries。如果libraries
不在rt-thread-port/
或open103r_bsp
下,那么这一段代码也是需要对应的改一下的。
修改open103r_bsp
下的Kconfig
文件
这里只改了一处(把../../..
改成了../rt-thread
), 很明显,这是一个总的Kconfig,然后source了其他4个目录下的Kconfig
所以只要把目录结构搞清楚,然后看着改就行。至此,就能正常运行menuconfig
和scons
了。