aboutsummaryrefslogtreecommitdiffstats
path: root/src/initrd
diff options
context:
space:
mode:
Diffstat (limited to 'src/initrd')
-rw-r--r--src/initrd/Makefile25
-rwxr-xr-xsrc/initrd/files/initbin0 -> 12788 bytes
-rw-r--r--src/initrd/init.c24
3 files changed, 49 insertions, 0 deletions
diff --git a/src/initrd/Makefile b/src/initrd/Makefile
new file mode 100644
index 0000000..82785f4
--- /dev/null
+++ b/src/initrd/Makefile
@@ -0,0 +1,25 @@
+##
+# A simple Makefile for building executables loadable by stmos.
+#
+
+CC = gcc -mcpu=cortex-m4 -mthumb -fsigned-char
+CFLAGS = -Os -fPIE -I../libgpio
+
+CFILES = $(wildcard *.c)
+OFILES = $(patsubst %.c, files/%, $(CFILES))
+
+all: $(OFILES)
+ @../../tools/rba initrd.img $$(find files/*)
+ @$(CROSS)$(OBJCOPY) -B arm -I binary -O elf32-littlearm initrd.img \
+ initrd.img.o
+
+files/%: %.c
+ @echo " CC " $<
+ @$(CROSS)$(CC) $(CFLAGS) $< ../libgpio/libgpio.a -o $@
+ @$(CROSS)strip $@
+
+clean:
+ @echo " CLEAN"
+ @rm -f $(OFILES)
+ @rm -f initrd.img initrd.img.o
+
diff --git a/src/initrd/files/init b/src/initrd/files/init
new file mode 100755
index 0000000..13ce410
--- /dev/null
+++ b/src/initrd/files/init
Binary files differ
diff --git a/src/initrd/init.c b/src/initrd/init.c
new file mode 100644
index 0000000..dc88ff8
--- /dev/null
+++ b/src/initrd/init.c
@@ -0,0 +1,24 @@
+/**
+ * @file test.c
+ * Basic userland code to be loaded by stmos for program load testing.
+ */
+
+#include <stdio.h>
+#include <gpio.h>
+#include <syscalls.h>
+
+int main(void)
+{
+ gpioMode(5, OUTPUT);
+
+ printf("Hello, world!\n");
+
+ while (1) {
+ gpioWrite(5, 1);
+ delay(1000);
+ gpioWrite(5, 0);
+ delay(500);
+ }
+ return 0;
+}
+