Compare commits

..

No commits in common. "c3d9e5fa6f68acf8144677e5910c9294b9337802" and "427f8e8b0baab2fc04137766aa63c1ed1bd9c24b" have entirely different histories.

4 changed files with 35 additions and 11 deletions

30
env/iss/CMakeLists.txt vendored Normal file
View File

@ -0,0 +1,30 @@
#cmake_minimum_required(VERSION 3.12)
project(iss)
message(STATUS " here in iss")
# Create library for ISS board support
add_library(board_iss STATIC
init.c
write.c
)
# Include directories
target_include_directories(board_iss PUBLIC
${BSP_BASE}/include
${BSP_BASE}/env
${CMAKE_CURRENT_SOURCE_DIR}
)
# Set compile options
target_compile_options(board_iss PRIVATE
-march=${RISCV_ARCH}_zicsr_zifencei
-mabi=${RISCV_ABI}
-mcmodel=medany
-ffunction-sections
-fdata-sections
)
# Add compile definitions
target_compile_definitions(board_iss PRIVATE
BOARD_${BOARD}
)

View File

@ -1,4 +1,3 @@
#include "platform.h"
#include <stdint.h> #include <stdint.h>
#include <stdio.h> #include <stdio.h>
#include <sys/types.h> #include <sys/types.h>
@ -6,15 +5,14 @@
ssize_t _bsp_read(int fd, void *ptr, size_t len) { ssize_t _bsp_read(int fd, void *ptr, size_t len) {
uint8_t *current = (uint8_t *)ptr; uint8_t *current = (uint8_t *)ptr;
volatile uint32_t *uart_rx = (uint32_t *)0xFFFF0000;
ssize_t result = 0; ssize_t result = 0;
if (isatty(fd)) { if (isatty(fd)) {
for (current = (uint8_t *)ptr; (current < ((uint8_t *)ptr) + len) && for (current = (uint8_t *)ptr; (current < ((uint8_t *)ptr) + len);
(get_uart_rx_tx_reg_rx_avail(uart) > 0);
current++) { current++) {
*current = uart_read(uart); *current = *uart_rx;
result++; result++;
} }
return result; return result;
} }
return EOF; return EOF;

View File

@ -1,6 +1,5 @@
/* See LICENSE of license details. */ /* See LICENSE of license details. */
#include "platform.h"
#include <errno.h> #include <errno.h>
#include <stdint.h> #include <stdint.h>
#include <sys/types.h> #include <sys/types.h>
@ -10,12 +9,10 @@ ssize_t _bsp_write(int fd, const void *ptr, size_t len) {
const uint8_t *current = (const uint8_t *)ptr; const uint8_t *current = (const uint8_t *)ptr;
if (isatty(fd)) { if (isatty(fd)) {
for (size_t jj = 0; jj < len; jj++) { for (size_t jj = 0; jj < len; jj++) {
uart_write(uart, current[jj]); *((uint32_t *)0xFFFF0000) = current[jj];
if (current[jj] == '\n') {
uart_write(uart, '\r');
}
} }
return len; return len;
} }
return 1; return 1;
} }

View File

@ -36,6 +36,5 @@ foreach(FILE ${LIB_SOURCES})
endforeach() endforeach()
add_library(wrap STATIC ${LIB_SOURCES} ../env/${BOARD_BASE}/bsp_write.c ../env/${BOARD_BASE}/bsp_read.c) add_library(wrap STATIC ${LIB_SOURCES} ../env/${BOARD_BASE}/bsp_write.c ../env/${BOARD_BASE}/bsp_read.c)
target_include_directories(wrap PUBLIC ../include)
target_link_options(wrap INTERFACE ${WRAP_ARGS}) target_link_options(wrap INTERFACE ${WRAP_ARGS})