打印
[技术讨论]

全志T113双核异构处理器的使用基于Tina Linux5.0——RTOS系统定制开发

[复制链接]
189|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
神棍地海棠|  楼主 | 2024-11-22 09:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
8、RTOS系统定制开发
此处以在rtos/components/aw目录下创建一个简单的软件包为例,帮助客户了解RTOS环境,为RTOS系统定制开发提供基础。
RTOS环境下的软件包主要由三部分组成,源文件,Makefile,Kconfig,如下:
hello_world├──hello_world.c├──Kconfig└──Makefile
其中Makefile指定该模块的编译规则,Kconfig则指定该模块的编译配置,从而达到功能可裁剪,镜像文件大小可灵活配置的目的。
示例软件包实现简单的打印字符串“hello,world!”的功能,如下:
#include<stdio.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_WORLDbool"HELLO_WORLDSupport"defaultndefaultnhelpsupporthello_worldcommand.
Kconfile的写法如下:
obj-$(CONFIGCOMPONENTHELLOWORLD)+=hello_world.o
此外,需要在上层目录的Kconfile以及Kconfig中加上该软件包,如下:
上层Makefileobj-$(CONFIGCOMPONENT_HELLO_WORLD)+=helloworld上层Kconfigsourcecomponents/aw/hello_world/Kconfig
开发完成后,运行mrtos_menuconfig,选中该模块对应的CONFIG后退出,然后mrtos进行编译,这样新增的软件包便可以编译到RTOS镜像文件中了。
将RTOS镜像文件移动到TinaLinux环境下重新编译打包,新生成的固件打包烧录进开发板后,启动RV核,在RV核控制台输入help命令。
可以看到有新增的hello_world命令,控制台输入hello_world命令,控制台输出如下:
hello,world!
RTOS下一个简单的软件包便创建成功了。

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

270

主题

278

帖子

0

粉丝