建立个人网站流程,网站建设制作开发,vps看网站蜘蛛,一级消防工程师考试资料8、RTOS系统定制开发
此处以在rtos/components/aw目录下创建一个简单的软件包为例#xff0c;帮助客户了解RTOS环境#xff0c;为RTOS系统定制开发提供基础。 RTOS环境下的软件包主要由三部分组成#xff0c;源文件#xff0c;Makefile#xff0c;Kconfig#xff0c;如下…8、RTOS系统定制开发
此处以在rtos/components/aw目录下创建一个简单的软件包为例帮助客户了解RTOS环境为RTOS系统定制开发提供基础。 RTOS环境下的软件包主要由三部分组成源文件MakefileKconfig如下
hello_world
├──hello_world.c
├──Kconfig
└──Makefile
其中Makefile指定该模块的编译规则Kconfig则指定该模块的编译配置从而达到功能可裁剪镜像文件大小可灵活配置的目的。 示例软件包实现简单的打印字符串“hello,world!”的功能如下
#includestdio.h#include
intcmd_hello_world(void)
{
printf(hello,world!\n);return0;
}
FINSH_FUNCTION_EXPORT_CMD(cmd_hello_world,hello_world,helpforhello_world)
/*这一行表示将函数cmd_hello_world封装成一个名为hello_world的命令在RV控制台输入hello_world即运行cmd_hello_world函数最后一个参数为帮助信息。此外头文件需要加上hal_cmd.h.*/
Kconfig的写法如下
configCOMPONENT_HELLO_WORLD
boolHELLO_WORLDSupportdefaultn
defaultn
help
supporthello_worldcommand.
Kconfile的写法如下
obj-$(CONFIGCOMPONENTHELLOWORLD)hello_world.o此外需要在上层目录的Kconfile以及Kconfig中加上该软件包如下
上层Makefile
obj-$(CONFIGCOMPONENT_HELLO_WORLD)helloworld上层Kconfig
sourcecomponents/aw/hello_world/Kconfig
开发完成后运行mrtos_menuconfig选中该模块对应的CONFIG后退出然后mrtos进行编译这样新增的软件包便可以编译到RTOS镜像文件中了。 将RTOS镜像文件移动到TinaLinux环境下重新编译打包新生成的固件打包烧录进开发板后启动RV核在RV核控制台输入help命令。 可以看到有新增的hello_world命令控制台输入hello_world命令控制台输出如下
hello,world!RTOS下一个简单的软件包便创建成功了。