代码
/* file: hello.c */
#include <stdio.h>
#include <finsh.h>
#include <rtthread.h>
int hello_world(void)
{
rt_kprintf("Hello, world!\n");
return 0;
}
MSH_CMD_EXPORT(hello_world, Hello world!)
/* file: hello.h */
#ifndef _HELLO_H_
#define _HELLO_H_
int hello_world(void);
#endif /* _HELLO_H_ */
//Kconfig
menu "hello module"
config RT_USING_HELLO
bool "Enable hello module"
default y
help
this hello module only used for test
config RT_HELLO_NAME
string "hello name"
default "hello"
config RT_HELLO_VALUE
int "hello value"
default 8
endmenu
//SConscript
from building import *
cwd = GetCurrentDir()
include_path = [cwd]
src = []
if GetDepend(['RT_USING_HELLO']):
src += ['hello.c']
group = DefineGroup('hello', src, depend = [''], CPPPATH = include_path)
Return('group')
//gd32103c-eval 下Kconfig 最后一行增加source “hello/Kconfig”
mainmenu "RT-Thread Configuration"
config BSP_DIR
string
option env="BSP_ROOT"
default "."
config RTT_DIR
string
option env="RTT_ROOT"
default "../../.."
config PKGS_DIR
string
option env="PKGS_ROOT"
default "packages"
source "$RTT_DIR/Kconfig"
source "$PKGS_DIR/Kconfig"
source "../libraries/Kconfig"
source "board/Kconfig"
source "hello/Kconfig"
输入menuconfig
打包scons --dist
导入RT-Thread Studio