Compare commits
6 Commits
6cd7ea887a
...
fbe6560e79
Author | SHA1 | Date | |
---|---|---|---|
fbe6560e79 | |||
0464b3b589 | |||
242c506e41 | |||
0a3b25cc6d | |||
4d15523a74 | |||
e652e59dac |
@ -18,11 +18,12 @@ target_include_directories(startup PUBLIC env include)
|
||||
|
||||
add_subdirectory(libwrap)
|
||||
|
||||
add_library(bsp INTERFACE)
|
||||
target_link_libraries(bsp INTERFACE startup wrap)
|
||||
target_include_directories(bsp INTERFACE env/${BOARD_BASE})
|
||||
add_library(bsp STATIC env/${BOARD_BASE}/init.c)
|
||||
target_link_libraries(bsp PUBLIC startup wrap)
|
||||
target_include_directories(bsp PUBLIC env/${BOARD_BASE})
|
||||
target_link_options(bsp INTERFACE LINKER:--no-warn-rwx-segments -nostartfiles -T ${CMAKE_CURRENT_SOURCE_DIR}/env/${BOARD_BASE}/link.lds)
|
||||
|
||||
if(SEMIHOSTING)
|
||||
target_include_directories(bsp INTERFACE /include)
|
||||
target_include_directories(bsp INTERFACE include)
|
||||
target_sources(bsp INTERFACE env/semihosting.c env/trap.c)
|
||||
endif()
|
||||
|
@ -36,7 +36,7 @@ STRING(REGEX REPLACE "\-gcc" "-" CROSS_COMPILE ${RISCV_TOOLCHAIN_BIN_GCC})
|
||||
# The Generic system name is used for embedded targets (targets without OS)
|
||||
set(CMAKE_SYSTEM_NAME Generic )
|
||||
set(CMAKE_EXECUTABLE_SUFFIX_C ".elf")
|
||||
set(RISCV_ARCH rv32imc_zicsr )
|
||||
set(RISCV_ARCH rv32imc_zicsr_zifencei )
|
||||
set(RISCV_ABI ilp32)
|
||||
|
||||
|
||||
@ -52,7 +52,6 @@ set( CMAKE_OBJCOPY ${RISCV_TOOLCHAIN_BIN_PATH}/${CROSS_COMPILE}objcopy
|
||||
set( CMAKE_OBJDUMP ${RISCV_TOOLCHAIN_BIN_PATH}/${CROSS_COMPILE}objdump
|
||||
CACHE FILEPATH "The toolchain objdump command " FORCE )
|
||||
|
||||
set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g" )
|
||||
set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=${RISCV_ARCH} -mabi=${RISCV_ABI}" )
|
||||
|
||||
set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS}" CACHE STRING "" )
|
||||
|
3
env/common-gcc.mk
vendored
3
env/common-gcc.mk
vendored
@ -16,7 +16,8 @@ BOARD?=iss
|
||||
|
||||
ASM_SRCS += $(ENV_DIR)/start.S $(ENV_DIR)/entry.S
|
||||
C_SRCS += $(PLATFORM_DIR)/init.c
|
||||
C_SRCS += $(PLATFORM_DIR)/write.c
|
||||
C_SRCS += $(PLATFORM_DIR)/bsp_write.c $(PLATFORM_DIR)/bsp_read.c
|
||||
|
||||
|
||||
LINKER_SCRIPT ?= $(PLATFORM_DIR)/$(LINK_TARGET).lds
|
||||
|
||||
|
@ -25,11 +25,11 @@ set(LIB_SOURCES
|
||||
stdlib/malloc.c
|
||||
# Miscellaneous
|
||||
misc/write_hex.c
|
||||
)
|
||||
)
|
||||
set(WRAP_ARGS "")
|
||||
foreach(FILE ${LIB_SOURCES})
|
||||
get_filename_component(DIR ${FILE} DIRECTORY)
|
||||
if(DIR STREQUAL "sys")
|
||||
if(NOT DIR STREQUAL "misc")
|
||||
get_filename_component(BASE_NAME ${FILE} NAME_WE)
|
||||
list(APPEND WRAP_ARGS "LINKER:--wrap=${BASE_NAME}")
|
||||
endif()
|
||||
|
@ -9,6 +9,7 @@ LIBWRAP_SRCS := \
|
||||
sys/open.c \
|
||||
sys/lseek.c \
|
||||
sys/read.c \
|
||||
sys/write.c \
|
||||
sys/fstat.c \
|
||||
sys/stat.c \
|
||||
sys/close.c \
|
||||
|
@ -2,18 +2,16 @@
|
||||
|
||||
#include <stdint.h>
|
||||
#include <unistd.h>
|
||||
#include "platform.h"
|
||||
|
||||
void write_hex(int fd, uint32_t hex)
|
||||
{
|
||||
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--) {
|
||||
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));
|
||||
uint8_t digit = ((hex & (0xF << (jj * 4))) >> (jj * 4));
|
||||
towrite = digit < 0xA ? ('0' + digit) : ('A' + (digit - 0xA));
|
||||
write(fd, &towrite, 1);
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,5 @@
|
||||
/* See LICENSE of license details. */
|
||||
|
||||
#include "platform.h"
|
||||
#include "weak_under_alias.h"
|
||||
#include <unistd.h>
|
||||
#if defined(SEMIHOSTING)
|
||||
|
Reference in New Issue
Block a user