summaryrefslogtreecommitdiff
path: root/examples/module/basicapp
diff options
context:
space:
mode:
Diffstat (limited to 'examples/module/basicapp')
-rw-r--r--examples/module/basicapp/SConscript34
-rw-r--r--examples/module/basicapp/basicapp.c26
2 files changed, 60 insertions, 0 deletions
diff --git a/examples/module/basicapp/SConscript b/examples/module/basicapp/SConscript
new file mode 100644
index 0000000000..207b35fb94
--- /dev/null
+++ b/examples/module/basicapp/SConscript
@@ -0,0 +1,34 @@
+Import('env')
+Import('projects')
+Import('RTT_ROOT')
+Import('rtconfig')
+Import('TARGET')
+
+RTMLINKER = RTT_ROOT + '/tools/rtmlinker.exe '
+
+# group definitions
+group = {}
+group['name'] = 'examples'
+group['src'] = Glob('*.c')
+group['CCFLAGS'] = ''
+group['CPPPATH'] = [RTT_ROOT + '/include', RTT_ROOT + '/components/module']
+group['CPPDEFINES'] = ''
+
+target = 'basicapp.so'
+POST_ACTION = RTMLINKER + '-l ' + TARGET + ' -o basicapp.mo ' + '$TARGET'
+
+# add group to project list
+projects.append(group)
+
+src_local = Glob('basicapp.c')
+
+env.Append(CCFLAGS = group['CCFLAGS'])
+env.Append(CPPPATH = group['CPPPATH'])
+env.Append(CPPDEFINES = group['CPPDEFINES'])
+module_env = env.Clone(CPPDEFINE = 'RT_MODULE')
+module_env = env.Clone(CCFLAGS = ' -mcpu=arm920t -O0 -fPIC')
+module_env.Replace(LINK = 'arm-none-eabi-ld')
+module_env.Replace(LINKFLAGS = '-z max-page-size=0x4 -shared -fPIC -e rt_application_entry -nostdlib -s')
+module_env.Program(target, src_local)
+module_env.AddPostAction(target, POST_ACTION)
+
diff --git a/examples/module/basicapp/basicapp.c b/examples/module/basicapp/basicapp.c
new file mode 100644
index 0000000000..b1268711f5
--- /dev/null
+++ b/examples/module/basicapp/basicapp.c
@@ -0,0 +1,26 @@
+#include <rtthread.h>
+
+int a = 0;
+int b = 1000000;
+int c = 0;
+
+static void function(int count1, int count2, int count3)
+{
+ rt_kprintf("Hello RT-Thread %d %d\n", count1, count2, count3);
+}
+
+int rt_application_entry(void)
+{
+ int i;
+ rt_kprintf("application entry\n");
+ for(i=0; i<100; i++)
+ {
+ a++;
+ b--;
+ c++;
+ function(a, c, b );
+ }
+
+ return 0;
+}
+