build hello fw with GCC Toolchain v2020.04.1 (set GPIO_IOF_EN). Remove obsolete function write_hex

This commit is contained in:
Stanislaw Kaushanski 2020-09-02 09:13:01 +02:00
parent 830c1382b9
commit ce24b0f2f2
8 changed files with 2151 additions and 2273 deletions

View File

@ -1,27 +0,0 @@
################################################################################
# Automatically-generated file. Do not edit!
################################################################################
# Add inputs and outputs from these tool invocations to the build variables
C_SRCS += \
../libwrap/misc/write_hex.c
O_SRCS += \
../libwrap/misc/write_hex.o
OBJS += \
./libwrap/misc/write_hex.o
C_DEPS += \
./libwrap/misc/write_hex.d
# Each subdirectory must supply rules for building sources it contributes
libwrap/misc/%.o: ../libwrap/misc/%.c
@echo 'Building file: $<'
@echo 'Invoking: Cross GCC Compiler'
riscv32-unknown-elf-gcc -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<"
@echo 'Finished building: $<'
@echo ' '

View File

@ -76,6 +76,4 @@
#define RTC_FREQ 32768
void write_hex(int fd, uint32_t hex);
#endif /* _SIFIVE_HIFIVE1_H */

View File

@ -25,8 +25,7 @@ LIBWRAP_SRCS := \
sys/isatty.c \
sys/times.c \
sys/sbrk.c \
sys/_exit.c \
misc/write_hex.c
sys/_exit.c
LIBWRAP_SRCS := $(foreach f,$(LIBWRAP_SRCS),$(LIBWRAP_DIR)/$(f))
LIBWRAP_OBJS := $(LIBWRAP_SRCS:.c=.o)

View File

@ -1,19 +0,0 @@
/* See LICENSE of license details. */
#include <stdint.h>
#include <unistd.h>
#include "platform.h"
void write_hex(int fd, uint32_t hex)
{
uint8_t ii;
uint8_t jj;
char towrite;
write(fd , "0x", 2);
for (ii = 8 ; ii > 0; ii--) {
jj = ii - 1;
uint8_t digit = ((hex & (0xF << (jj*4))) >> (jj*4));
towrite = digit < 0xA ? ('0' + digit) : ('A' + (digit - 0xA));
write(fd, &towrite, 1);
}
}

View File

@ -10,7 +10,6 @@ void __wrap__exit(int code)
//*leds = (~(code));
write(STDERR_FILENO, message, sizeof(message) - 1);
write_hex(STDERR_FILENO, code);
write(STDERR_FILENO, "\n", 1);
for (;;);

Binary file not shown.

View File

@ -57,14 +57,17 @@ unsigned read_adc(unsigned index){
return result&0x03ff;
}
extern void write_hex(int fd, uint32_t hex);
//int read_csr(int csr_num) __attribute__((always_inline)) {
// int result;
// asm("csrr %0, %1" : "=r"(result) : "I"(csr_num));
// return result;
//}
int main()
{
write_hex(1, 0x55aa);
volatile int result = factorial (10);
printf("Factorial is %d\n", result);
GPIO_REG(GPIO_IOF_EN) |= 0x30000;
int result = factorial (10);
printf("Factorial of 10 is %d\n", result);
for(unsigned i=0; i<8; ++i)
printf("ADC%u value read is %u\n", i, read_adc(i));
printf("End of execution");

File diff suppressed because it is too large Load Diff