From 42eff60714a32942b307d6b139aa400ca0df296a Mon Sep 17 00:00:00 2001 From: Clyne Sullivan Date: Fri, 30 Nov 2018 10:51:10 -0500 Subject: libgpio, better initrd structure --- src/initrd/Makefile | 25 +++++++++++++++++++++++++ src/initrd/files/init | Bin 0 -> 12788 bytes src/initrd/init.c | 24 ++++++++++++++++++++++++ 3 files changed, 49 insertions(+) create mode 100644 src/initrd/Makefile create mode 100755 src/initrd/files/init create mode 100644 src/initrd/init.c (limited to 'src/initrd') 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 Binary files /dev/null and b/src/initrd/files/init 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 +#include +#include + +int main(void) +{ + gpioMode(5, OUTPUT); + + printf("Hello, world!\n"); + + while (1) { + gpioWrite(5, 1); + delay(1000); + gpioWrite(5, 0); + delay(500); + } + return 0; +} + -- cgit v1.2.3