增加用户态

This commit is contained in:
zhangzheng
2024-04-03 16:08:09 +00:00
parent c73c35c5b2
commit 436c88f8ca
22 changed files with 392 additions and 408 deletions

View File

@@ -1,22 +1,32 @@
cmake_minimum_required(VERSION 3.13)
# -n -pie -fpie -fpic -msingle-pic-base -mno-pic-data-is-text-relative
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} \
-fPIC -fPIE -n -pie -fpie -fpic -msingle-pic-base -mno-pic-data-is-text-relative \
-D__arm__ -D__WORDSIZE=32 -D__ARM_ARCH_7M__ \
" )
set(CMAKE_ASM_FLAGS ${CMAKE_C_FLAGS})
# add_subdirectory(dietlibc)
add_subdirectory(sys)
add_subdirectory(sys_util)
add_subdirectory(sys_svr)
add_subdirectory(modbus)
add_subdirectory(stm32f1_bsp)
add_subdirectory(libc_backend)
add_subdirectory(mlibc)
add_subdirectory(cpio)
add_subdirectory(util)
add_subdirectory(mr)
add_subdirectory(lwip)
add_subdirectory(printf)
add_subdirectory(letter-shell/demo/mkrtos)
# add_subdirectory(at_device)
if (${CONFIG_ARCH} STREQUAL "cortex-m3" OR
${CONFIG_ARCH} STREQUAL "cortex-m4" OR
${CONFIG_ARCH} STREQUAL "cortex-m33"
)
# -n -pie -fpie -fpic -msingle-pic-base -mno-pic-data-is-text-relative
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} \
-fPIC -fPIE -n -pie -fpie -fpic -msingle-pic-base -mno-pic-data-is-text-relative \
" )
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} \
-fPIC -fPIE -n -pie -fpie -fpic -msingle-pic-base -mno-pic-data-is-text-relative \
" )
# add_subdirectory(dietlibc)
add_subdirectory(sys_util)
add_subdirectory(sys_svr)
add_subdirectory(modbus)
add_subdirectory(stm32f1_bsp)
add_subdirectory(libc_backend)
add_subdirectory(mlibc)
add_subdirectory(cpio)
add_subdirectory(util)
add_subdirectory(mr)
add_subdirectory(lwip)
add_subdirectory(printf)
add_subdirectory(letter-shell/demo/mkrtos)
# add_subdirectory(at_device)
elseif(${CONFIG_ARCH} STREQUAL "aarch64")
#TODO:
endif()

View File

@@ -1,14 +1,9 @@
cmake_minimum_required(VERSION 3.13)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} \
-fPIC -n -pie -fpie -fpic -msingle-pic-base -mno-pic-data-is-text-relative \
-D__dietlibc__ -D__arm__ -D__WORDSIZE=32 -D__ARM_ARCH_7M__ \
" )
set(CMAKE_ASM_FLAGS ${CMAKE_C_FLAGS})
file(GLOB_RECURSE deps *.c *.S)
file(GLOB deps src/*.c src/*.S)
file(GLOB deps_arch ${CONFIG_ARCH}/*.c ${CONFIG_ARCH}/*.S)
file(APPEND deps deps_arch)
add_library(
sys
STATIC

1
mkrtos_user/lib/sys/deps Normal file
View File

@@ -0,0 +1 @@
deps_archdeps_archdeps_archdeps_arch

View File

@@ -0,0 +1,10 @@
.text
/*
int mk_syscall(int nr, ...)
*/
.global mk_syscall
.type mk_syscall, %function
mk_syscall:
hvc 0
ret

View File

@@ -0,0 +1,19 @@
.syntax unified
.text
/*
int mk_syscall(int nr, ...)
*/
.global mk_syscall
.type mk_syscall, %function
mk_syscall:
push {r4-r7}
mov r7, r0
mov r0, r1
mov r1, r2
mov r2, r3
add r6, sp,#16
ldmia r6,{r3-r5}
svc 128
pop {r4-r7}
bx lr

View File

@@ -0,0 +1,19 @@
.syntax unified
.text
/*
int mk_syscall(int nr, ...)
*/
.global mk_syscall
.type mk_syscall, %function
mk_syscall:
push {r4-r7}
mov r7, r0
mov r0, r1
mov r1, r2
mov r2, r3
add r6, sp,#16
ldmia r6,{r3-r5}
svc 128
pop {r4-r7}
bx lr

View File

@@ -1,13 +1,16 @@
cmake_minimum_required(VERSION 3.13)
if (${CONFIG_ARCH} STREQUAL "cortex-m3" OR
${CONFIG_ARCH} STREQUAL "cortex-m4" OR
${CONFIG_ARCH} STREQUAL "cortex-m33"
)
# -n -pie -fpie -fpic
# -msingle-pic-base -mno-pic-data-is-text-relative
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} \
-fPIC -fPIE -n -pie -fpie -fpic -msingle-pic-base -mno-pic-data-is-text-relative \
-D__dietlibc__ -D__arm__ -D__WORDSIZE=32 -D__ARM_ARCH_7M__ \
")
set(CMAKE_ASM_FLAGS ${CMAKE_C_FLAGS})
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} \
-fPIC -fPIE -n -pie -fpie -fpic -msingle-pic-base -mno-pic-data-is-text-relative \
" )
include_directories(
${CMAKE_SOURCE_DIR}/mkrtos_user/lib/libc_backend/inc
)
@@ -22,3 +25,6 @@ add_subdirectory(test)
# add_subdirectory(net)
# add_subdirectory(tcc-0.9.27)
add_subdirectory(tinycc-arm-thumb)
elseif(${CONFIG_ARCH} STREQUAL "aarch64" )
#TODO:
endif()