diff options
Diffstat (limited to 'src/initrd')
-rw-r--r-- | src/initrd/Makefile | 25 | ||||
-rwxr-xr-x | src/initrd/files/init | bin | 0 -> 12788 bytes | |||
-rw-r--r-- | src/initrd/init.c | 24 |
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 Binary files differnew file mode 100755 index 0000000..13ce410 --- /dev/null +++ b/src/initrd/files/init 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; +} + |