diff --git a/cmake/ide.cmake b/cmake/ide.cmake index 0c3db5f..36106c6 100644 --- a/cmake/ide.cmake +++ b/cmake/ide.cmake @@ -5,3 +5,12 @@ FILE(GLOB_RECURSE ASSEMBLY_FILES SET_PROPERTY(SOURCE ${ASSEMBLY_FILES} PROPERTY LANGUAGE C) SET_SOURCE_FILES_PROPERTIES(${ASSEMBLY_FILES} PROPERTIES COMPILE_FLAGS "-x assembler-with-cpp -D __riscv64") + +# execute_process(COMMAND ${CMAKE_C_COMPILER} -print-file-name=crt0.o OUTPUT_STRIP_TRAILING_WHITESPACE OUTPUT_VARIABLE CRT0_OBJ) +# execute_process(COMMAND ${CMAKE_C_COMPILER} -print-file-name=crtbegin.o OUTPUT_STRIP_TRAILING_WHITESPACE OUTPUT_VARIABLE CRTBEGIN_OBJ) +# execute_process(COMMAND ${CMAKE_C_COMPILER} -print-file-name=crtend.o OUTPUT_STRIP_TRAILING_WHITESPACE OUTPUT_VARIABLE CRTEND_OBJ) +# execute_process(COMMAND ${CMAKE_C_COMPILER} -print-file-name=crti.o OUTPUT_STRIP_TRAILING_WHITESPACE OUTPUT_VARIABLE CRTI_OBJ) +# execute_process(COMMAND ${CMAKE_C_COMPILER} -print-file-name=crtn.o OUTPUT_STRIP_TRAILING_WHITESPACE OUTPUT_VARIABLE CRTN_OBJ) + +#list(INSERT SOURCE_FILES 0 ${CRT0_OBJ} ${CRTI_OBJ} ${CRTBEGIN_OBJ}) +#list(APPEND SOURCE_FILES ${CRTEND_OBJ} ${CRTN_OBJ}) diff --git a/kendryte-package.json b/kendryte-package.json index 654f649..f57fcbb 100644 --- a/kendryte-package.json +++ b/kendryte-package.json @@ -65,7 +65,8 @@ "link_flags": [ "-static", "-Wl,-static", - "-Wl,-EL" + "-Wl,-EL", + "-mcmodel=medany" ], "ld_file": "lds/kendryte.ld", "properties": { @@ -85,9 +86,13 @@ "c", "atomic", "stdc++", - "freertos", - "bsp", - "drivers", - "posix", + "fatfs", + "lwipcore" + ], + "linkArgumentPrefix": [ + "-Wl,--whole-archive" + ], + "linkArgumentSuffix": [ + "-Wl,--no-whole-archive" ] }