correct flash/ram for v307 and v305

This commit is contained in:
hathach
2025-07-28 11:43:20 +07:00
parent 9005f126e0
commit aeb21c2407
8 changed files with 31 additions and 22 deletions

View File

@@ -86,8 +86,8 @@ body:
- type: checkboxes
attributes:
label: I have checked existing issues, dicussion and documentation
label: I have checked existing issues, discussion and documentation
description: You agree to check all the resources above before opening a new issue.
options:
- label: I confirm I have checked existing issues, dicussion and documentation.
- label: I confirm I have checked existing issues, discussion and documentation.
required: true

View File

@@ -1,4 +1,5 @@
set(LD_FLASH_SIZE 256K)
set(LD_RAM_SIZE 64K)
function(update_board TARGET)
# target_compile_definitions(${TARGET} PUBLIC
# )
endfunction()

View File

@@ -1 +1,3 @@
LD_FILE = $(FAMILY_PATH)/ch32v307.ld
LDFLAGS += \
-Wl,--defsym=__FLASH_SIZE=256K \
-Wl,--defsym=__RAM_SIZE=64K \

View File

@@ -1,4 +1,5 @@
set(LD_FLASH_SIZE 128K)
set(LD_RAM_SIZE 32K)
function(update_board TARGET)
# target_compile_definitions(${TARGET} PUBLIC
# )
endfunction()

View File

@@ -1 +1,3 @@
LD_FILE = $(FAMILY_PATH)/ch32v307.ld
LDFLAGS += \
-Wl,--defsym=__FLASH_SIZE=128K \
-Wl,--defsym=__RAM_SIZE=32K \

View File

@@ -29,7 +29,7 @@ function(add_board_target BOARD_TARGET)
endif()
if (NOT DEFINED LD_FILE_GNU)
set(LD_FILE_GNU ${CMAKE_CURRENT_FUNCTION_LIST_DIR}/ch32v307.ld)
set(LD_FILE_GNU ${CMAKE_CURRENT_FUNCTION_LIST_DIR}/linker/ch32v30x.ld)
endif ()
set(LD_FILE_Clang ${LD_FILE_GNU})
@@ -74,12 +74,14 @@ function(add_board_target BOARD_TARGET)
-fsigned-char
)
target_link_options(${BOARD_TARGET} PUBLIC
"LINKER:--script=${LD_FILE_GNU}"
-nostartfiles
--specs=nosys.specs --specs=nano.specs
-Wl,--defsym=__FLASH_SIZE=${LD_FLASH_SIZE}
-Wl,--defsym=__RAM_SIZE=${LD_RAM_SIZE}
"LINKER:--script=${LD_FILE_GNU}"
)
elseif (CMAKE_C_COMPILER_ID STREQUAL "Clang")
message(FATAL_ERROR "Clang is not supported for MSP432E4")
message(FATAL_ERROR "Clang is not supported for CH32v")
elseif (CMAKE_C_COMPILER_ID STREQUAL "IAR")
target_link_options(${BOARD_TARGET} PUBLIC
"LINKER:--config=${LD_FILE_IAR}"
@@ -120,9 +122,8 @@ function(family_configure_example TARGET RTOS)
)
target_link_libraries(${TARGET} PUBLIC board_${BOARD})
# Flashing
family_add_bin_hex(${TARGET})
family_flash_openocd_wch(${TARGET})
family_flash_wlink_rs(${TARGET})
endfunction()

View File

@@ -57,6 +57,8 @@ INC += \
$(TOP)/$(SDK_SRC_DIR)/Core \
$(TOP)/$(SDK_SRC_DIR)/Peripheral/inc
LD_FILE ?= $(FAMILY_PATH)/linker/ch32v30x.ld
# For freeRTOS port source
FREERTOS_PORTABLE_SRC = $(FREERTOS_PORTABLE_PATH)/RISC-V

View File

@@ -1,20 +1,20 @@
ENTRY( _start )
__stack_size = 4096;
PROVIDE( _stack_size = __stack_size );
/* Define default values if not already defined */
__flash_size = DEFINED(__FLASH_SIZE) ? __FLASH_SIZE : 128K;
__ram_size = DEFINED(__RAM_SIZE) ? __RAM_SIZE : 32K;
__stack_size = DEFINED(__STACK_SIZE) ? __STACK_SIZE : 2048;
MEMORY
{
FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 288K
RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 32K
FLASH (rx) : ORIGIN = 0x00000000, LENGTH = __flash_size
RAM (xrw) : ORIGIN = 0x20000000, LENGTH = __ram_size
}
ENTRY( _start )
PROVIDE( _stack_size = __stack_size );
SECTIONS
{
.init :
{
_sinit = .;