helloworld
在 Luban-Lite 中有两种方案添加开机运行的 hellowold
main 函数
SDK 默认创建了 hellowold 例程,可以直接在例程中添加私有函数逻辑
- 代码为 application/rt-thread/helloworld/main.c
- main 函数是 RT-Thread 的主入口函数
- 该目录的 SConscript 脚本默认会编译该目录中的所有 c 文件,因此可以直接添加客户代码文件
c
application/rt-thread/helloworld/main.c | 3 +++
application/rt-thread/helloworld/test.c | 15 +++++++++++++++
2 files changed, 18 insertions(+)
create mode 100644 application/rt-thread/helloworld/test.c
diff --git a/application/rt-thread/helloworld/main.c b/application/rt-thread/helloworld/main.c
index 0dadb95e2..003233588 100644
--- a/application/rt-thread/helloworld/main.c
+++ b/application/rt-thread/helloworld/main.c
@@ -20,6 +20,8 @@
#include <boot_param.h>
#endif
+extern void helloworld();
+
int main(void)
{
#ifdef AIC_AB_SYSTEM_INTERFACE
@@ -48,5 +50,6 @@ int main(void)
#ifdef ULOG_USING_FILTER
ulog_global_filter_lvl_set(ULOG_OUTPUT_LVL);
#endif
+ helloworld();
return 0;
}
diff --git a/application/rt-thread/helloworld/test.c b/application/rt-thread/helloworld/test.c
new file mode 100644
index 000000000..634da82e6
--- /dev/null
+++ b/application/rt-thread/helloworld/test.c
@@ -0,0 +1,15 @@
+#include <rtthread.h>
+#include <stdio.h>
+
+void helloworld()
+{
+ printf("Hello World!\n");
+}
--
2.29.0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
自动初始化
RT-Thread 的自动初始化机制是指初始化函数不需要被显式调用,只需要在函数定义处通过宏定义的方式进行申明, 则该函数在系统启动过程中将被顺序执行
- 代码可以在任意地方声明和编译
- 通过 INIT_APP_EXPORT 申明
c
diff --git a/application/rt-thread/helloworld/test.c b/application/rt-thread/helloworld/test.c
new file mode 100644
index 000000000..18eb0821f
--- /dev/null
+++ b/application/rt-thread/helloworld/test.c
@@ -0,0 +1,10 @@
+#include <rtthread.h>
+#include <stdio.h>
+
+int helloworld(void)
+{
+ printf("Hello World!\n");
+ return 0;
+}
+
+INIT_APP_EXPORT(helloworld);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16