新建MRS工程并添加BLE从机功能
使用沁恒的risc-v系列MCU,在MRS编译器中搭建一个工程,主要涉及到链接脚本文件(.ld文件)、头文件(.h文件)、源文件(.c文件)、启动文件(.s文件)、库文件(.a文件)。
本文以向新建工程中添加BLE从机功能为例,介绍如何配置各个路径。
注:当实在找不到哪里的路径配置出现问题时,一目了然的方式是重新解压一份EVT,比对/覆盖/修改一下工程文件夹中的.cproject文件文件,比一下就知道了。
总览各个路径配置(缺省了源文件和启动文件的路径配置,这两类文件只要在左边工程文件夹中配置好就可以):
Ⅰ.新建工程:
其实新建的工程就是EVT包中的UART1例程。工程所在的文件系统目录下,自带部分驱动。
Ⅱ.向工程中添加文件/文件夹:
peripheral例程中需要APP、Profile、HAL、LIB文件夹。选择“添加”已有文件到工程。对于“添加文件/文件夹到工程下”这个功能来讲,子菜单3个选项都能实现,区别如下:
添加“已有文件”/“已有文件夹”会将选定的文件/文件夹拷贝一份到工程目录下,后续只会编辑工程目录下的备份文件,原选定文件不会改动。存储空间足够的情况下建议用该方式添加。
添加“外部链接文件”不会拷贝文件夹,编译器直接寻址选定文件的所在目录,后续编译也会改动原选定文件。
举例用“外部链接文件”方式添加“APP”文件夹(演示中新解压了一份EVT包,用于提供文件):
举例用“已有文件夹”方式添加“Profile”文件夹(演示中新解压了一份EVT包,用于提供文件):
同一工程中两种添加方式添加后的对比:
把所有运行BLE从机必要的文件夹都添加上后,可以进行下一步路径配置:
配置好后如下图
Ⅲ.在MRS界面中修改各个路径:
〇进入工程配置页面:
①链接脚本文件(.ld文件)的路径配置:
注:路径精确到.ld文件。.ld文件路径配置只能在下方的MRS界面中找到,在“符号与路径”页面中没有给出。新建工程中已默认配置好。
配置好后如下图
②头文件(.h文件)的路径配置:
注:路径精确到头文件所在的当前目录,不支持父目录。如果是用“外部链接文件”方式添加的文件夹,建议用"Workspase"选项中的路径添加选项。
配置好后如下图
③库文件(.a文件)的路径配置:
注:先添加需要调用的库,再加库的路径。库的路径精确到当前目录,不支持父目录。
配置好后如下图
④.c源文件、.s启动文件的路径配置:
编译器按“路径与符号”中的“build path”去搜索源文件与启动文件。不过编译器搜索的范围大,此处路径允许配置为父目录,故只要工程栏中能显示,编译器就能找到路径,即使“Source Location”标签页面中删减成只剩一个"/peripheral"(工程本身的build path,这个删不掉)也可以成功编译。
注:工程配置的“Source Location”标签页面中显示的是“build path”,并非真实的文件系统中的路径,如peripheral例程中的“/peripheral/HAL”不是存在于文件系统中的。
配置好后如下图
至此,可以编译成功了(变量未使用警告,可以忽略,不影响)
另:除了“路径与符号”页面,下方几个页面也可以用于配置头文件(.h文件)、库文件(.a文件),与“路径与符号”页面的配置互通。