initial commit
This commit is contained in:
3
fw/hello-world/.gitignore
vendored
Normal file
3
fw/hello-world/.gitignore
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
/hello
|
||||
/hello.dis
|
||||
/firmware.map
|
18
fw/hello-world/Makefile
Normal file
18
fw/hello-world/Makefile
Normal file
@ -0,0 +1,18 @@
|
||||
|
||||
TARGET = hello
|
||||
C_SRCS = $(wildcard *.c)
|
||||
HEADERS = $(wildcard *.h)
|
||||
CFLAGS += -O0 -g
|
||||
|
||||
BOARD=tgfs-vp
|
||||
LINK_TARGET=flash
|
||||
RISCV_ARCH:=rv32i
|
||||
RISCV_ABI:=ilp32
|
||||
LDFLAGS := -march=$(RISCV_ARCH) -mabi=$(RISCV_ABI)
|
||||
|
||||
compiler := $(shell which riscv32-unknown-elf-gcc)
|
||||
TOOL_DIR=$(dir $(compiler))
|
||||
|
||||
TRIPLET=riscv32-unknown-elf
|
||||
BSP_BASE = ../bsp
|
||||
include $(BSP_BASE)/env/common-gcc.mk
|
26
fw/hello-world/hello.c
Normal file
26
fw/hello-world/hello.c
Normal file
@ -0,0 +1,26 @@
|
||||
#include <stdint.h>
|
||||
#include <stdio.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include "platform.h"
|
||||
#include "encoding.h"
|
||||
|
||||
int factorial(int i){
|
||||
|
||||
volatile int result = 1;
|
||||
for (int ii = 1; ii <= i; ii++) {
|
||||
result = result * ii;
|
||||
}
|
||||
return result;
|
||||
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
*(uint32_t*)(GPIO_CTRL_ADDR+GPIO_IOF_SEL) &= ~IOF0_UART0_MASK;
|
||||
*(uint32_t*)(GPIO_CTRL_ADDR+GPIO_IOF_EN) |= IOF0_UART0_MASK;
|
||||
volatile int result = factorial (10);
|
||||
printf("Factorial is %d\n", result);
|
||||
printf("End of execution");
|
||||
return 0;
|
||||
}
|
BIN
fw/hello-world/prebuilt/hello.elf
Executable file
BIN
fw/hello-world/prebuilt/hello.elf
Executable file
Binary file not shown.
Reference in New Issue
Block a user