mirror of
https://github.com/bouffalolab/bouffalo_sdk.git
synced 2025-05-09 03:11:58 +08:00
[fix] fix cmake files
This commit is contained in:
parent
72ccc03bf9
commit
064e9c91f7
@ -7,16 +7,33 @@ PROJECT(${BOARD} C CXX ASM)
|
||||
|
||||
include_directories(${CMAKE_SOURCE_DIR}/common/misc)
|
||||
include_directories(${CMAKE_SOURCE_DIR}/bsp/bsp_common/platform)
|
||||
|
||||
if(IS_DIRECTORY ${CMAKE_SOURCE_DIR}/bsp/board/${BOARD})
|
||||
include_directories(${CMAKE_SOURCE_DIR}/bsp/board/${BOARD})
|
||||
else()
|
||||
message(FATAL_ERROR "${CMAKE_SOURCE_DIR}/bsp/board/${BOARD} is not exist")
|
||||
endif()
|
||||
|
||||
add_subdirectory(common)
|
||||
add_subdirectory(components/fatfs)
|
||||
add_subdirectory(components/usb_stack)
|
||||
add_subdirectory(drivers/${mcu}_driver)
|
||||
|
||||
if(${SUPPORT_SHELL} STREQUAL "ENABLE")
|
||||
if(IS_DIRECTORY ${CMAKE_SOURCE_DIR}/drivers/${mcu}_driver)
|
||||
add_subdirectory(drivers/${mcu}_driver)
|
||||
else()
|
||||
message(FATAL_ERROR "${CMAKE_SOURCE_DIR}/drivers/${mcu}_driver is not exist")
|
||||
endif()
|
||||
|
||||
if(${SUPPORT_SHELL} STREQUAL "y")
|
||||
add_subdirectory(components/shell)
|
||||
else()
|
||||
endif()
|
||||
|
||||
if(${SUPPORT_FREERTOS} STREQUAL "y")
|
||||
add_subdirectory(components/freertos)
|
||||
endif()
|
||||
|
||||
if(${SUPPORT_LVGL} STREQUAL "y")
|
||||
add_subdirectory(components/lvgl)
|
||||
endif()
|
||||
|
||||
search_application(${CMAKE_SOURCE_DIR}/examples)
|
||||
|
10
Makefile
10
Makefile
@ -4,8 +4,18 @@ CHIP?=bl702
|
||||
INTERFACE?=jlink
|
||||
BAUDRATE ?=12000
|
||||
|
||||
SUPPORT_SHELL?=n
|
||||
SUPPORT_FREERTOS?=n
|
||||
SUPPORT_LVGL?=n
|
||||
SUPPORT_FLOAT?=n
|
||||
|
||||
export BOARD
|
||||
export APP
|
||||
export SUPPORT_SHELL
|
||||
export SUPPORT_FREERTOS
|
||||
export SUPPORT_LVGL
|
||||
export SUPPORT_FLOAT
|
||||
|
||||
# The command to remove a file.
|
||||
RM = cmake -E rm -rf
|
||||
|
||||
|
@ -31,34 +31,35 @@ file(GLOB_RECURSE sources
|
||||
|
||||
#aux_source_directory(. sources)
|
||||
list(APPEND ADD_SRCS ${sources})
|
||||
list(REMOVE_ITEM ADD_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/libc/src/strtox.c" "${CMAKE_CURRENT_SOURCE_DIR}/libc/src/atox.c")
|
||||
list(REMOVE_ITEM ADD_SRCS
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/libc/src/strtox.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/libc/src/atox.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/libc/src/stdlib.c")
|
||||
#######################################################
|
||||
|
||||
########### Add required/dependent components #########
|
||||
#list(APPEND ADD_REQUIREMENTS BSP_${BOARD}_Driver)
|
||||
#list(APPEND ADD_REQUIREMENTS xxx)
|
||||
#######################################################
|
||||
|
||||
############ Add static libs ##########################
|
||||
# if(CONFIG_COMPONENT1_INCLUDE_STATIC_LIB)
|
||||
# list(APPEND ADD_STATIC_LIB "lib/libtest.a")
|
||||
# list(APPEND ADD_STATIC_LIB "libxxx.a")
|
||||
# endif()
|
||||
#######################################################
|
||||
|
||||
############ Add dynamic libs #########################
|
||||
# list(APPEND ADD_DYNAMIC_LIB "lib/arch/v831/libmaix_nn.so"
|
||||
# "lib/arch/v831/libmaix_cam.so"
|
||||
# list(APPEND ADD_DYNAMIC_LIB "libxxx.so"
|
||||
# )
|
||||
#######################################################
|
||||
|
||||
############ Add global compile option ################
|
||||
#add components denpend on this component
|
||||
# list(APPEND ADD_DEFINITIONS -D${BOARD} -DARCH_RISCV)
|
||||
# list(APPEND ADD_DEFINITIONS -Dxxx)
|
||||
#######################################################
|
||||
|
||||
############ Add private compile option ################
|
||||
#add compile option for this component that won't affect other modules
|
||||
#list(APPEND ADD_DEFINITIONS_PRIVATE -D${BOARD}_DRIVER)
|
||||
# list(APPEND ADD_DEFINITIONS_PRIVATE -Dxxx)
|
||||
#######################################################
|
||||
|
||||
|
||||
generate_library()
|
||||
|
@ -6,12 +6,6 @@ list(APPEND ADD_INCLUDE
|
||||
|
||||
################# Add private include #################
|
||||
# list(APPEND ADD_PRIVATE_INCLUDE
|
||||
# "${CMAKE_SOURCE_DIR}/BSP_Common/ring_buffer"
|
||||
# "${CMAKE_SOURCE_DIR}/BSP_Driver/BSP_${BOARD}_Driver/StdDriver/Inc"
|
||||
# "${CMAKE_SOURCE_DIR}/BSP_Driver/BSP_${BOARD}_Driver/StdDriver/Inc"
|
||||
# "${CMAKE_SOURCE_DIR}/BSP_Driver/BSP_${BOARD}_Driver/Peripherals"
|
||||
# "${CMAKE_SOURCE_DIR}/BSP_Driver/BSP_${BOARD}_Driver/RISCV/Device/Bouffalo/${BOARD}/Startup"
|
||||
# "${CMAKE_SOURCE_DIR}/BSP_Driver/BSP_${BOARD}_Driver/RISCV/Core/Include"
|
||||
# )
|
||||
#######################################################
|
||||
|
||||
@ -23,30 +17,27 @@ list(APPEND ADD_SRCS ${sources})
|
||||
#######################################################
|
||||
|
||||
########### Add required/dependent components #########
|
||||
#list(APPEND ADD_REQUIREMENTS BSP_${BOARD}_Driver BSP_Common)
|
||||
#list(APPEND ADD_REQUIREMENTS xxx)
|
||||
#######################################################
|
||||
|
||||
############ Add static libs ##########################
|
||||
# if(CONFIG_COMPONENT1_INCLUDE_STATIC_LIB)
|
||||
# list(APPEND ADD_STATIC_LIB "lib/libtest.a")
|
||||
# list(APPEND ADD_STATIC_LIB "libxxx.a")
|
||||
# endif()
|
||||
#######################################################
|
||||
|
||||
############ Add dynamic libs #########################
|
||||
# list(APPEND ADD_DYNAMIC_LIB "lib/arch/v831/libmaix_nn.so"
|
||||
# "lib/arch/v831/libmaix_cam.so"
|
||||
# )
|
||||
# list(APPEND ADD_DYNAMIC_LIB "libxxx.so")
|
||||
#######################################################
|
||||
|
||||
############ Add global compile option ################
|
||||
#add components denpend on this component
|
||||
# list(APPEND ADD_DEFINITIONS -DAAAAA222=1
|
||||
# -DAAAAA333=1)
|
||||
# list(APPEND ADD_DEFINITIONS -Dxxx)
|
||||
#######################################################
|
||||
|
||||
############ Add private compile option ################
|
||||
#add compile option for this component that won't affect other modules
|
||||
# list(APPEND ADD_DEFINITIONS_PRIVATE -DAAAAA=1)
|
||||
# list(APPEND ADD_DEFINITIONS_PRIVATE -Dxxx)
|
||||
#######################################################
|
||||
|
||||
generate_library()
|
||||
|
@ -1,18 +1,13 @@
|
||||
################# Add global include #################
|
||||
list(APPEND ADD_INCLUDE
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/include"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/include"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/portable/gcc/risc-v/${mcu}"
|
||||
)
|
||||
#######################################################
|
||||
|
||||
################# Add private include #################
|
||||
# list(APPEND ADD_PRIVATE_INCLUDE
|
||||
# "${CMAKE_SOURCE_DIR}/BSP_Common/ring_buffer"
|
||||
# "${CMAKE_SOURCE_DIR}/BSP_Driver/BSP_${BOARD}_Driver/StdDriver/Inc"
|
||||
# "${CMAKE_SOURCE_DIR}/BSP_Driver/BSP_${BOARD}_Driver/StdDriver/Inc"
|
||||
# "${CMAKE_SOURCE_DIR}/BSP_Driver/BSP_${BOARD}_Driver/Peripherals"
|
||||
# "${CMAKE_SOURCE_DIR}/BSP_Driver/BSP_${BOARD}_Driver/RISCV/Device/Bouffalo/${BOARD}/Startup"
|
||||
# "${CMAKE_SOURCE_DIR}/BSP_Driver/BSP_${BOARD}_Driver/RISCV/Core/Include"
|
||||
# )
|
||||
#######################################################
|
||||
|
||||
@ -24,7 +19,9 @@ file(GLOB_RECURSE sources "${CMAKE_CURRENT_SOURCE_DIR}/croutine.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/queue.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/tasks.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/timers.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/portable/MemMang/heap_5.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/portable/memmang/heap_5.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/portable/gcc/risc-v/${mcu}/port.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/portable/gcc/risc-v/${mcu}/portASM.S"
|
||||
)
|
||||
list(APPEND ADD_SRCS ${sources})
|
||||
# aux_source_directory(src ADD_SRCS)
|
||||
@ -32,30 +29,28 @@ list(APPEND ADD_SRCS ${sources})
|
||||
#######################################################
|
||||
|
||||
########### Add required/dependent components #########
|
||||
#list(APPEND ADD_REQUIREMENTS BSP_${BOARD}_Driver)
|
||||
#list(APPEND ADD_REQUIREMENTS xxx)
|
||||
#######################################################
|
||||
|
||||
############ Add static libs ##########################
|
||||
# if(CONFIG_COMPONENT1_INCLUDE_STATIC_LIB)
|
||||
# list(APPEND ADD_STATIC_LIB "lib/libtest.a")
|
||||
# list(APPEND ADD_STATIC_LIB "libxxx.a")
|
||||
# endif()
|
||||
#######################################################
|
||||
|
||||
############ Add dynamic libs #########################
|
||||
# list(APPEND ADD_DYNAMIC_LIB "lib/arch/v831/libmaix_nn.so"
|
||||
# "lib/arch/v831/libmaix_cam.so"
|
||||
# list(APPEND ADD_DYNAMIC_LIB "libxxx.so"
|
||||
# )
|
||||
#######################################################
|
||||
|
||||
############ Add global compile option ################
|
||||
#add components denpend on this component
|
||||
# list(APPEND ADD_DEFINITIONS -DAAAAA222=1
|
||||
# -DAAAAA333=1)
|
||||
list(APPEND ADD_DEFINITIONS -DportasmHANDLE_INTERRUPT=FreeRTOS_Interrupt_Handler)
|
||||
#######################################################
|
||||
|
||||
############ Add private compile option ################
|
||||
#add compile option for this component that won't affect other modules
|
||||
# list(APPEND ADD_DEFINITIONS_PRIVATE -DAAAAA=1)
|
||||
# list(APPEND ADD_DEFINITIONS_PRIVATE -Dxxx)
|
||||
#######################################################
|
||||
|
||||
generate_library()
|
||||
|
@ -20,30 +20,28 @@ list(APPEND ADD_SRCS ${sources})
|
||||
#######################################################
|
||||
|
||||
########### Add required/dependent components #########
|
||||
#list(APPEND ADD_REQUIREMENTS BSP_${BOARD}_Driver)
|
||||
#list(APPEND ADD_REQUIREMENTS xxx)
|
||||
#######################################################
|
||||
|
||||
############ Add static libs ##########################
|
||||
# if(CONFIG_COMPONENT1_INCLUDE_STATIC_LIB)
|
||||
# list(APPEND ADD_STATIC_LIB "lib/libtest.a")
|
||||
# list(APPEND ADD_STATIC_LIB "libxxx.a")
|
||||
# endif()
|
||||
#######################################################
|
||||
|
||||
############ Add dynamic libs #########################
|
||||
# list(APPEND ADD_DYNAMIC_LIB "lib/arch/v831/libmaix_nn.so"
|
||||
# "lib/arch/v831/libmaix_cam.so"
|
||||
# list(APPEND ADD_DYNAMIC_LIB "libxxx.so"
|
||||
# )
|
||||
#######################################################
|
||||
|
||||
############ Add global compile option ################
|
||||
#add components denpend on this component
|
||||
#list(APPEND ADD_DEFINITIONS -D${BOARD} -DARCH_RISCV)
|
||||
# list(APPEND ADD_DEFINITIONS -Dxxx)
|
||||
#######################################################
|
||||
|
||||
############ Add private compile option ################
|
||||
#add compile option for this component that won't affect other modules
|
||||
#list(APPEND ADD_DEFINITIONS_PRIVATE -D${BOARD}_DRIVER)
|
||||
# list(APPEND ADD_DEFINITIONS_PRIVATE -Dxxx)
|
||||
#######################################################
|
||||
|
||||
|
||||
generate_library()
|
||||
|
@ -6,6 +6,7 @@ list(APPEND ADD_INCLUDE
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/class/hid"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/class/msc"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/class/video"
|
||||
#"${CMAKE_CURRENT_SOURCE_DIR}/class/vendor"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/class/winusb"
|
||||
)
|
||||
#######################################################
|
||||
@ -24,30 +25,28 @@ list(APPEND ADD_SRCS ${sources})
|
||||
#######################################################
|
||||
|
||||
########### Add required/dependent components #########
|
||||
#list(APPEND ADD_REQUIREMENTS BSP_${BOARD}_Driver)
|
||||
#list(APPEND ADD_REQUIREMENTS xxx)
|
||||
#######################################################
|
||||
|
||||
############ Add static libs ##########################
|
||||
# if(CONFIG_COMPONENT1_INCLUDE_STATIC_LIB)
|
||||
# list(APPEND ADD_STATIC_LIB "lib/libtest.a")
|
||||
# list(APPEND ADD_STATIC_LIB "libxxx.a")
|
||||
# endif()
|
||||
#######################################################
|
||||
|
||||
############ Add dynamic libs #########################
|
||||
# list(APPEND ADD_DYNAMIC_LIB "lib/arch/v831/libmaix_nn.so"
|
||||
# "lib/arch/v831/libmaix_cam.so"
|
||||
# list(APPEND ADD_DYNAMIC_LIB "libxxx.so"
|
||||
# )
|
||||
#######################################################
|
||||
|
||||
############ Add global compile option ################
|
||||
#add components denpend on this component
|
||||
# list(APPEND ADD_DEFINITIONS -DAAAAA222=1
|
||||
# -DAAAAA333=1)
|
||||
# list(APPEND ADD_DEFINITIONS -Dxxx)
|
||||
#######################################################
|
||||
|
||||
############ Add private compile option ################
|
||||
#add compile option for this component that won't affect other modules
|
||||
# list(APPEND ADD_DEFINITIONS_PRIVATE -DAAAAA=1)
|
||||
# list(APPEND ADD_DEFINITIONS_PRIVATE -Dxxx)
|
||||
#######################################################
|
||||
|
||||
generate_library()
|
||||
|
@ -1,4 +1,4 @@
|
||||
PHONY := __build
|
||||
__build:
|
||||
cmake -DBOARD=$(BOARD) -DSUPPORT_SHELL=DISABLE -DAPP=$(APP) ..
|
||||
cmake -DBOARD=$(BOARD) -DSUPPORT_SHELL=$(SUPPORT_SHELL) -DSUPPORT_FREERTOS=$(SUPPORT_FREERTOS) -DSUPPORT_LVGL=$(SUPPORT_LVGL) -DSUPPORT_FLOAT=$(SUPPORT_FLOAT) -DAPP=$(APP) ..
|
||||
make -j
|
||||
|
@ -10,21 +10,25 @@
|
||||
# -g Produce debugging information in the operating system’s native format.
|
||||
# -Os Optimize for size. -Os enables all -O2 optimizations.
|
||||
# -flto Runs the standard link-time optimizer.
|
||||
|
||||
SET(MARCH "rv32imafc")
|
||||
SET(MCPU "riscv-e24")
|
||||
if(${SUPPORT_FLOAT} STREQUAL "y")
|
||||
SET(MARCH "rv32imafc")
|
||||
SET(MABI "ilp32f")
|
||||
else()
|
||||
SET(MARCH "rv32imac")
|
||||
SET(MABI "ilp32")
|
||||
endif()
|
||||
SET(MCU_FLAG "-march=${MARCH} -mabi=${MABI}")
|
||||
|
||||
SET(COMMON_FLAGS "-O2 -g3 -fshort-enums -fno-common \
|
||||
|
||||
SET(COMMON_FLAGS "-Os -g3 -fshort-enums -fno-common \
|
||||
-fms-extensions -ffunction-sections -fdata-sections -fstrict-volatile-bitfields \
|
||||
-Wall -Wshift-negative-value -Wchar-subscripts -Wformat -Wuninitialized -Winit-self -fno-jump-tables \
|
||||
-Wignored-qualifiers -Wswitch-default -Wunused -Wundef -msmall-data-limit=4")
|
||||
-Wall -Wshift-negative-value -Wchar-subscripts -Wformat -Wuninitialized -Winit-self \
|
||||
-Wignored-qualifiers -Wunused -Wundef -msmall-data-limit=4")
|
||||
|
||||
# compiler: language specific flags
|
||||
set(CMAKE_C_FLAGS "${MCU_FLAG} ${COMMON_FLAGS} -std=c99" CACHE INTERNAL "c compiler flags")
|
||||
set(CMAKE_C_FLAGS_DEBUG "-Og -g" CACHE INTERNAL "c compiler flags: Debug")
|
||||
set(CMAKE_C_FLAGS_RELEASE "-Os -flto" CACHE INTERNAL "c compiler flags: Release")
|
||||
set(CMAKE_C_FLAGS_RELEASE "-Os" CACHE INTERNAL "c compiler flags: Release")
|
||||
|
||||
# message("")
|
||||
# message("-----------------------------------------------------------------------------------------------------------------------------------------------------")
|
||||
@ -37,7 +41,7 @@ set(CMAKE_C_FLAGS_RELEASE "-Os -flto" CACHE INTERNAL "c compiler flags: Release"
|
||||
|
||||
set(CMAKE_CXX_FLAGS "${MCU_FLAG} ${COMMON_FLAGS} -std=c++11 " CACHE INTERNAL "cxx compiler flags")
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "-Og -g" CACHE INTERNAL "cxx compiler flags: Debug")
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "-Os -flto" CACHE INTERNAL "cxx compiler flags: Release")
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "-Os" CACHE INTERNAL "cxx compiler flags: Release")
|
||||
|
||||
# message("")
|
||||
# message("-----------------------------------------------------------------------------------------------------------------------------------------------------")
|
||||
@ -50,7 +54,7 @@ set(CMAKE_CXX_FLAGS_RELEASE "-Os -flto" CACHE INTERNAL "cxx compiler flags: Rele
|
||||
|
||||
set(CMAKE_ASM_FLAGS "${MCU_FLAG} ${COMMON_FLAGS}" CACHE INTERNAL "asm compiler flags")
|
||||
set(CMAKE_ASM_FLAGS_DEBUG "-Og -g" CACHE INTERNAL "asm compiler flags: Debug")
|
||||
set(CMAKE_ASM_FLAGS_RELEASE "-Os -flto" CACHE INTERNAL "asm compiler flags: Release")
|
||||
set(CMAKE_ASM_FLAGS_RELEASE "-Os" CACHE INTERNAL "asm compiler flags: Release")
|
||||
|
||||
# message("")
|
||||
# message("-----------------------------------------------------------------------------------------------------------------------------------------------------")
|
||||
@ -64,7 +68,12 @@ set(CMAKE_ASM_FLAGS_RELEASE "-Os -flto" CACHE INTERNAL "asm compiler flags: Rele
|
||||
# --specs=nano.specs Link with newlib-nano.
|
||||
# --specs=nosys.specs No syscalls, provide empty implementations for the POSIX system calls.
|
||||
|
||||
if(${SUPPORT_SHELL} STREQUAL "ENABLE")
|
||||
if(${SUPPORT_FLOAT} STREQUAL "y")
|
||||
add_definitions(-DBFLB_PRINT_FLOAT_SUPPORT)
|
||||
else()
|
||||
endif()
|
||||
|
||||
if(${SUPPORT_SHELL} STREQUAL "y")
|
||||
add_definitions(-DSHELL_SUPPORT)
|
||||
else()
|
||||
endif()
|
||||
|
@ -114,7 +114,8 @@ function(generate_bin)
|
||||
set(HEX_FILE ${OUTPUT_DIR}/main.hex)
|
||||
set(BIN_FILE ${OUTPUT_DIR}/main.bin)
|
||||
set(MAP_FILE ${OUTPUT_DIR}/main.map)
|
||||
|
||||
set(ASM_FILE ${OUTPUT_DIR}/main.asm)
|
||||
|
||||
if(TARGET_REQUIRED_SRCS)
|
||||
list(APPEND SRCS ${TARGET_REQUIRED_SRCS})
|
||||
endif()
|
||||
@ -143,7 +144,7 @@ function(generate_bin)
|
||||
# Add libs
|
||||
target_link_libraries(${target_name}.elf ${mcu}_driver)
|
||||
|
||||
if(${SUPPORT_SHELL} STREQUAL "ENABLE")
|
||||
if(${SUPPORT_SHELL} STREQUAL "y")
|
||||
target_link_libraries(${target_name}.elf shell)
|
||||
else()
|
||||
include_directories(${CMAKE_SOURCE_DIR}/components/shell)
|
||||
@ -157,6 +158,7 @@ function(generate_bin)
|
||||
|
||||
add_custom_command(TARGET ${target_name}.elf POST_BUILD
|
||||
COMMAND ${CMAKE_OBJCOPY} -Obinary $<TARGET_FILE:${target_name}.elf> ${BIN_FILE}
|
||||
COMMAND ${CMAKE_OBJDUMP} -d -S $<TARGET_FILE:${target_name}.elf> >${ASM_FILE}
|
||||
# COMMAND ${CMAKE_OBJCOPY} -Oihex $<TARGET_FILE:${mainname}.elf> ${HEX_FILE}
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${BIN_FILE} ${CMAKE_SOURCE_DIR}/tools/bflb_flash_tool/img/project.bin
|
||||
COMMENT "Generate ${BIN_FILE}\r\nCopy ${BIN_FILE} into download path")
|
||||
|
@ -1,15 +1,15 @@
|
||||
set architecture riscv:rv32
|
||||
#target remote :3333
|
||||
#set disassemble-next-line on
|
||||
set mem inaccessible-by-default off
|
||||
#gdb_breakpoint_override [hard|soft|disable]
|
||||
|
||||
mem 0x22008000 0x22014000 rw
|
||||
mem 0x42008000 0x42014000 rw
|
||||
mem 0x22014000 0x22020000 rw
|
||||
mem 0x42014000 0x42020000 rw
|
||||
mem 0x22020000 0x22030000 rw
|
||||
mem 0x42020000 0x42030000 rw
|
||||
mem 0x22030000 0x2204C000 rw
|
||||
mem 0x42030000 0x4204C000 rw
|
||||
mem 0x23000000 0x23400000 ro
|
||||
set architecture riscv:rv32
|
||||
#target remote :3333
|
||||
#set disassemble-next-line on
|
||||
set mem inaccessible-by-default off
|
||||
#gdb_breakpoint_override [hard|soft|disable]
|
||||
|
||||
mem 0x22008000 0x22014000 rw
|
||||
mem 0x42008000 0x42014000 rw
|
||||
mem 0x22014000 0x22020000 rw
|
||||
mem 0x42014000 0x42020000 rw
|
||||
mem 0x22020000 0x22030000 rw
|
||||
mem 0x42020000 0x42030000 rw
|
||||
mem 0x22030000 0x2204C000 rw
|
||||
mem 0x42030000 0x4204C000 rw
|
||||
mem 0x23000000 0x23400000 ro
|
||||
|
@ -1,236 +1,236 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<device schemaVersion="1.1" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="CMSIS-SVD_Schema_1_0.xsd" >
|
||||
<vendor>bouffalolab</vendor>
|
||||
<vendorID>bouffalolab</vendorID>
|
||||
<name>602</name>
|
||||
<series>WiFi BT</series>
|
||||
<version></version>
|
||||
<description>high-performance, 32-bit RV32IMAFC core
|
||||
</description>
|
||||
|
||||
<addressUnitBits>8</addressUnitBits>
|
||||
<width>32</width>
|
||||
<size>32</size>
|
||||
<resetValue>0x00000000</resetValue>
|
||||
<resetMask>0xFFFFFFFF</resetMask>
|
||||
|
||||
<cpu>
|
||||
<name>602</name>
|
||||
<endian>little</endian>
|
||||
</cpu>
|
||||
|
||||
<peripherals>
|
||||
|
||||
<peripheral>
|
||||
<name>CLINT</name>
|
||||
<description>Core Local Interruptor.</description>
|
||||
<baseAddress>0x02000000</baseAddress>
|
||||
<groupName>CLINT</groupName>
|
||||
<size>32</size>
|
||||
<access>read-write</access>
|
||||
|
||||
<addressBlock>
|
||||
<offset>0</offset>
|
||||
<size>0x10000</size>
|
||||
<usage>registers</usage>
|
||||
</addressBlock>
|
||||
|
||||
<registers>
|
||||
|
||||
<register>
|
||||
<name>MSIP</name>
|
||||
<description>Machine Software Interrupt Pending Register.</description>
|
||||
<addressOffset>0x0000</addressOffset>
|
||||
</register>
|
||||
|
||||
<register>
|
||||
<name>MTIMECMP_LO</name>
|
||||
<description>Machine Timer Compare Register Low.</description>
|
||||
<addressOffset>0x4000</addressOffset>
|
||||
</register>
|
||||
|
||||
<register>
|
||||
<name>MTIMECMP_HI</name>
|
||||
<description>Machine Timer Compare Register High.</description>
|
||||
<addressOffset>0x4004</addressOffset>
|
||||
</register>
|
||||
|
||||
<register>
|
||||
<name>MTIME_LO</name>
|
||||
<description>Machine Timer Register Low.</description>
|
||||
<addressOffset>0xBFF8</addressOffset>
|
||||
</register>
|
||||
|
||||
<register>
|
||||
<name>MTIME_HI</name>
|
||||
<description>Machine Timer Register High.</description>
|
||||
<addressOffset>0xBFFC</addressOffset>
|
||||
</register>
|
||||
|
||||
</registers>
|
||||
</peripheral> <!-- CLINT -->
|
||||
|
||||
<peripheral>
|
||||
<name>CLIC</name>
|
||||
<description>Core Local Interrupter controller.</description>
|
||||
<baseAddress>0x02800000</baseAddress>
|
||||
<groupName>CLIC</groupName>
|
||||
<size>8</size>
|
||||
<access>read-write</access>
|
||||
|
||||
<addressBlock>
|
||||
<offset>0</offset>
|
||||
<size>0x10000</size>
|
||||
<usage>registers</usage>
|
||||
</addressBlock>
|
||||
|
||||
<registers>
|
||||
|
||||
<register>
|
||||
<dim>128</dim> <!-- 64 user interrupt sources o 602 -->
|
||||
<dimIncrement>1</dimIncrement>
|
||||
<name>PENDING[%s]</name>
|
||||
<description>CLIC Interrupt Pending Registers.</description>
|
||||
<addressOffset>0x0000</addressOffset>
|
||||
<fields>
|
||||
<field><name>PENDING</name><lsb>0</lsb><msb>0</msb></field>
|
||||
</fields>
|
||||
</register>
|
||||
|
||||
<register>
|
||||
<dim>128</dim> <!-- 64 user interrupt sources o 602 -->
|
||||
<dimIncrement>1</dimIncrement>
|
||||
<name>ENABLE[%s]</name>
|
||||
<description>CLIC Interrupt enable Registers.</description>
|
||||
<addressOffset>0x0400</addressOffset>
|
||||
<fields>
|
||||
<field><name>ENABLE</name><lsb>0</lsb><msb>0</msb></field>
|
||||
</fields>
|
||||
</register>
|
||||
|
||||
<register>
|
||||
<dim>128</dim> <!-- 64 user interrupt sources o 602 -->
|
||||
<dimIncrement>1</dimIncrement>
|
||||
<name>INTCFG[%s]</name>
|
||||
<description>CLIC Interrupt config Registers.</description>
|
||||
<addressOffset>0x0800</addressOffset>
|
||||
<fields>
|
||||
<field><name>INTCFG</name><lsb>3</lsb><msb>7</msb></field>
|
||||
</fields>
|
||||
</register>
|
||||
|
||||
<register>
|
||||
<name>clic_cfg</name>
|
||||
<description>clic_cfg.</description>
|
||||
<addressOffset>0x0C00</addressOffset>
|
||||
<fields>
|
||||
<field><name>nvbits</name><lsb>0</lsb><msb>0</msb></field>
|
||||
<field><name>nlbits</name><lsb>1</lsb><msb>3</msb></field>
|
||||
<field><name>nmbits</name><lsb>4</lsb><msb>5</msb></field>
|
||||
</fields>
|
||||
</register>
|
||||
|
||||
</registers>
|
||||
</peripheral> <!-- CLIC -->
|
||||
|
||||
<peripheral>
|
||||
<name>GLB</name>
|
||||
<description>GLB.</description>
|
||||
<baseAddress>0x40000000</baseAddress>
|
||||
<groupName>GLB</groupName>
|
||||
<size>32</size>
|
||||
<access>read-write</access>
|
||||
|
||||
<addressBlock>
|
||||
<offset>0</offset>
|
||||
<size>0x1000</size>
|
||||
<usage>registers</usage>
|
||||
</addressBlock>
|
||||
|
||||
<registers>
|
||||
|
||||
<register>
|
||||
<name>clk_cfg0</name>
|
||||
<description>clk_cfg0.</description>
|
||||
<addressOffset>0x0000</addressOffset>
|
||||
<fields>
|
||||
<field><name>pll_en</name><lsb>0</lsb><msb>0</msb></field>
|
||||
<field><name>fclk_en</name><lsb>1</lsb><msb>1</msb></field>
|
||||
<field><name>hclk_en</name><lsb>2</lsb><msb>2</msb></field>
|
||||
<field><name>bclk_en</name><lsb>3</lsb><msb>3</msb></field>
|
||||
<field><name>pll_set</name><lsb>4</lsb><msb>5</msb></field>
|
||||
<field><name>hbn_root_clk_set</name><lsb>6</lsb><msb>7</msb></field>
|
||||
<field><name>hclk_div</name><lsb>8</lsb><msb>15</msb></field>
|
||||
<field><name>bclk_div</name><lsb>16</lsb><msb>23</msb></field>
|
||||
<field><name>fclk_sw_state</name><lsb>24</lsb><msb>26</msb></field>
|
||||
<field><name>chip_rdy</name><lsb>27</lsb><msb>27</msb></field>
|
||||
<field><name>glb_id</name><lsb>28</lsb><msb>31</msb></field>
|
||||
</fields>
|
||||
</register>
|
||||
|
||||
</registers>
|
||||
|
||||
</peripheral> <!-- GLB -->
|
||||
|
||||
<peripheral>
|
||||
<name>eFuse</name>
|
||||
<description>eFuse Programmable Memory.</description>
|
||||
<baseAddress>0x40007000</baseAddress>
|
||||
<groupName>eFuse</groupName>
|
||||
<size>32</size>
|
||||
<access>read-only</access>
|
||||
|
||||
<addressBlock>
|
||||
<offset>0</offset>
|
||||
<size>0x1000</size>
|
||||
<usage>registers</usage>
|
||||
</addressBlock>
|
||||
|
||||
<registers>
|
||||
|
||||
<register>
|
||||
<name>ef_cfg_0</name>
|
||||
<description>ef_cfg_0.</description>
|
||||
<addressOffset>0x0000</addressOffset>
|
||||
<fields>
|
||||
<field><name>ef_sboot_en</name><lsb>4</lsb><msb>5</msb></field>
|
||||
<field><name>ef_boot_sel</name><lsb>8</lsb><msb>11</msb></field>
|
||||
<field><name>ef_cpu0_enc_en</name><lsb>7</lsb><msb>7</msb></field>
|
||||
<field><name>ef_cpu1_enc_en</name><lsb>6</lsb><msb>6</msb></field>
|
||||
<field><name>ef_sboot_en</name><lsb>4</lsb><msb>5</msb></field>
|
||||
<field><name>ef_sboot_sign_mode</name><lsb>2</lsb><msb>3</msb></field>
|
||||
<field><name>ef_sf_aes_mode</name><lsb>0</lsb><msb>1</msb></field>
|
||||
</fields>
|
||||
</register>
|
||||
|
||||
<register>
|
||||
<name>ef_wifi_mac_low</name>
|
||||
<description>ef_wifi_mac_low.</description>
|
||||
<addressOffset>0x0014</addressOffset>
|
||||
<fields>
|
||||
<field><name>mac_addr1</name><lsb>0</lsb><msb>31</msb></field>
|
||||
</fields>
|
||||
</register>
|
||||
|
||||
<register>
|
||||
<name>ef_wifi_mac_high</name>
|
||||
<description>ef_wifi_mac_high.</description>
|
||||
<addressOffset>0x0018</addressOffset>
|
||||
<fields>
|
||||
<field><name>dev_info7</name><lsb>31</lsb><msb>31</msb></field>
|
||||
<field><name>dev_info6</name><lsb>30</lsb><msb>30</msb></field>
|
||||
<field><name>dev_info5</name><lsb>29</lsb><msb>29</msb></field>
|
||||
<field><name>dev_info4_3</name><lsb>27</lsb><msb>28</msb></field>
|
||||
<field><name>dev_info2_0</name><lsb>24</lsb><msb>26</msb></field>
|
||||
<field><name>cust_id1_0</name><lsb>22</lsb><msb>23</msb></field>
|
||||
<field><name>mac_addr1_crc5_0</name><lsb>16</lsb><msb>21</msb></field>
|
||||
<field><name>mac_addr1</name><lsb>0</lsb><msb>15</msb></field>
|
||||
</fields>
|
||||
</register>
|
||||
|
||||
</registers>
|
||||
|
||||
</peripheral> <!-- eFuse -->
|
||||
|
||||
</peripherals>
|
||||
</device>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<device schemaVersion="1.1" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="CMSIS-SVD_Schema_1_0.xsd" >
|
||||
<vendor>bouffalolab</vendor>
|
||||
<vendorID>bouffalolab</vendorID>
|
||||
<name>602</name>
|
||||
<series>WiFi BT</series>
|
||||
<version></version>
|
||||
<description>high-performance, 32-bit RV32IMAFC core
|
||||
</description>
|
||||
|
||||
<addressUnitBits>8</addressUnitBits>
|
||||
<width>32</width>
|
||||
<size>32</size>
|
||||
<resetValue>0x00000000</resetValue>
|
||||
<resetMask>0xFFFFFFFF</resetMask>
|
||||
|
||||
<cpu>
|
||||
<name>602</name>
|
||||
<endian>little</endian>
|
||||
</cpu>
|
||||
|
||||
<peripherals>
|
||||
|
||||
<peripheral>
|
||||
<name>CLINT</name>
|
||||
<description>Core Local Interruptor.</description>
|
||||
<baseAddress>0x02000000</baseAddress>
|
||||
<groupName>CLINT</groupName>
|
||||
<size>32</size>
|
||||
<access>read-write</access>
|
||||
|
||||
<addressBlock>
|
||||
<offset>0</offset>
|
||||
<size>0x10000</size>
|
||||
<usage>registers</usage>
|
||||
</addressBlock>
|
||||
|
||||
<registers>
|
||||
|
||||
<register>
|
||||
<name>MSIP</name>
|
||||
<description>Machine Software Interrupt Pending Register.</description>
|
||||
<addressOffset>0x0000</addressOffset>
|
||||
</register>
|
||||
|
||||
<register>
|
||||
<name>MTIMECMP_LO</name>
|
||||
<description>Machine Timer Compare Register Low.</description>
|
||||
<addressOffset>0x4000</addressOffset>
|
||||
</register>
|
||||
|
||||
<register>
|
||||
<name>MTIMECMP_HI</name>
|
||||
<description>Machine Timer Compare Register High.</description>
|
||||
<addressOffset>0x4004</addressOffset>
|
||||
</register>
|
||||
|
||||
<register>
|
||||
<name>MTIME_LO</name>
|
||||
<description>Machine Timer Register Low.</description>
|
||||
<addressOffset>0xBFF8</addressOffset>
|
||||
</register>
|
||||
|
||||
<register>
|
||||
<name>MTIME_HI</name>
|
||||
<description>Machine Timer Register High.</description>
|
||||
<addressOffset>0xBFFC</addressOffset>
|
||||
</register>
|
||||
|
||||
</registers>
|
||||
</peripheral> <!-- CLINT -->
|
||||
|
||||
<peripheral>
|
||||
<name>CLIC</name>
|
||||
<description>Core Local Interrupter controller.</description>
|
||||
<baseAddress>0x02800000</baseAddress>
|
||||
<groupName>CLIC</groupName>
|
||||
<size>8</size>
|
||||
<access>read-write</access>
|
||||
|
||||
<addressBlock>
|
||||
<offset>0</offset>
|
||||
<size>0x10000</size>
|
||||
<usage>registers</usage>
|
||||
</addressBlock>
|
||||
|
||||
<registers>
|
||||
|
||||
<register>
|
||||
<dim>128</dim> <!-- 64 user interrupt sources o 602 -->
|
||||
<dimIncrement>1</dimIncrement>
|
||||
<name>PENDING[%s]</name>
|
||||
<description>CLIC Interrupt Pending Registers.</description>
|
||||
<addressOffset>0x0000</addressOffset>
|
||||
<fields>
|
||||
<field><name>PENDING</name><lsb>0</lsb><msb>0</msb></field>
|
||||
</fields>
|
||||
</register>
|
||||
|
||||
<register>
|
||||
<dim>128</dim> <!-- 64 user interrupt sources o 602 -->
|
||||
<dimIncrement>1</dimIncrement>
|
||||
<name>ENABLE[%s]</name>
|
||||
<description>CLIC Interrupt enable Registers.</description>
|
||||
<addressOffset>0x0400</addressOffset>
|
||||
<fields>
|
||||
<field><name>ENABLE</name><lsb>0</lsb><msb>0</msb></field>
|
||||
</fields>
|
||||
</register>
|
||||
|
||||
<register>
|
||||
<dim>128</dim> <!-- 64 user interrupt sources o 602 -->
|
||||
<dimIncrement>1</dimIncrement>
|
||||
<name>INTCFG[%s]</name>
|
||||
<description>CLIC Interrupt config Registers.</description>
|
||||
<addressOffset>0x0800</addressOffset>
|
||||
<fields>
|
||||
<field><name>INTCFG</name><lsb>3</lsb><msb>7</msb></field>
|
||||
</fields>
|
||||
</register>
|
||||
|
||||
<register>
|
||||
<name>clic_cfg</name>
|
||||
<description>clic_cfg.</description>
|
||||
<addressOffset>0x0C00</addressOffset>
|
||||
<fields>
|
||||
<field><name>nvbits</name><lsb>0</lsb><msb>0</msb></field>
|
||||
<field><name>nlbits</name><lsb>1</lsb><msb>3</msb></field>
|
||||
<field><name>nmbits</name><lsb>4</lsb><msb>5</msb></field>
|
||||
</fields>
|
||||
</register>
|
||||
|
||||
</registers>
|
||||
</peripheral> <!-- CLIC -->
|
||||
|
||||
<peripheral>
|
||||
<name>GLB</name>
|
||||
<description>GLB.</description>
|
||||
<baseAddress>0x40000000</baseAddress>
|
||||
<groupName>GLB</groupName>
|
||||
<size>32</size>
|
||||
<access>read-write</access>
|
||||
|
||||
<addressBlock>
|
||||
<offset>0</offset>
|
||||
<size>0x1000</size>
|
||||
<usage>registers</usage>
|
||||
</addressBlock>
|
||||
|
||||
<registers>
|
||||
|
||||
<register>
|
||||
<name>clk_cfg0</name>
|
||||
<description>clk_cfg0.</description>
|
||||
<addressOffset>0x0000</addressOffset>
|
||||
<fields>
|
||||
<field><name>pll_en</name><lsb>0</lsb><msb>0</msb></field>
|
||||
<field><name>fclk_en</name><lsb>1</lsb><msb>1</msb></field>
|
||||
<field><name>hclk_en</name><lsb>2</lsb><msb>2</msb></field>
|
||||
<field><name>bclk_en</name><lsb>3</lsb><msb>3</msb></field>
|
||||
<field><name>pll_set</name><lsb>4</lsb><msb>5</msb></field>
|
||||
<field><name>hbn_root_clk_set</name><lsb>6</lsb><msb>7</msb></field>
|
||||
<field><name>hclk_div</name><lsb>8</lsb><msb>15</msb></field>
|
||||
<field><name>bclk_div</name><lsb>16</lsb><msb>23</msb></field>
|
||||
<field><name>fclk_sw_state</name><lsb>24</lsb><msb>26</msb></field>
|
||||
<field><name>chip_rdy</name><lsb>27</lsb><msb>27</msb></field>
|
||||
<field><name>glb_id</name><lsb>28</lsb><msb>31</msb></field>
|
||||
</fields>
|
||||
</register>
|
||||
|
||||
</registers>
|
||||
|
||||
</peripheral> <!-- GLB -->
|
||||
|
||||
<peripheral>
|
||||
<name>eFuse</name>
|
||||
<description>eFuse Programmable Memory.</description>
|
||||
<baseAddress>0x40007000</baseAddress>
|
||||
<groupName>eFuse</groupName>
|
||||
<size>32</size>
|
||||
<access>read-only</access>
|
||||
|
||||
<addressBlock>
|
||||
<offset>0</offset>
|
||||
<size>0x1000</size>
|
||||
<usage>registers</usage>
|
||||
</addressBlock>
|
||||
|
||||
<registers>
|
||||
|
||||
<register>
|
||||
<name>ef_cfg_0</name>
|
||||
<description>ef_cfg_0.</description>
|
||||
<addressOffset>0x0000</addressOffset>
|
||||
<fields>
|
||||
<field><name>ef_sboot_en</name><lsb>4</lsb><msb>5</msb></field>
|
||||
<field><name>ef_boot_sel</name><lsb>8</lsb><msb>11</msb></field>
|
||||
<field><name>ef_cpu0_enc_en</name><lsb>7</lsb><msb>7</msb></field>
|
||||
<field><name>ef_cpu1_enc_en</name><lsb>6</lsb><msb>6</msb></field>
|
||||
<field><name>ef_sboot_en</name><lsb>4</lsb><msb>5</msb></field>
|
||||
<field><name>ef_sboot_sign_mode</name><lsb>2</lsb><msb>3</msb></field>
|
||||
<field><name>ef_sf_aes_mode</name><lsb>0</lsb><msb>1</msb></field>
|
||||
</fields>
|
||||
</register>
|
||||
|
||||
<register>
|
||||
<name>ef_wifi_mac_low</name>
|
||||
<description>ef_wifi_mac_low.</description>
|
||||
<addressOffset>0x0014</addressOffset>
|
||||
<fields>
|
||||
<field><name>mac_addr1</name><lsb>0</lsb><msb>31</msb></field>
|
||||
</fields>
|
||||
</register>
|
||||
|
||||
<register>
|
||||
<name>ef_wifi_mac_high</name>
|
||||
<description>ef_wifi_mac_high.</description>
|
||||
<addressOffset>0x0018</addressOffset>
|
||||
<fields>
|
||||
<field><name>dev_info7</name><lsb>31</lsb><msb>31</msb></field>
|
||||
<field><name>dev_info6</name><lsb>30</lsb><msb>30</msb></field>
|
||||
<field><name>dev_info5</name><lsb>29</lsb><msb>29</msb></field>
|
||||
<field><name>dev_info4_3</name><lsb>27</lsb><msb>28</msb></field>
|
||||
<field><name>dev_info2_0</name><lsb>24</lsb><msb>26</msb></field>
|
||||
<field><name>cust_id1_0</name><lsb>22</lsb><msb>23</msb></field>
|
||||
<field><name>mac_addr1_crc5_0</name><lsb>16</lsb><msb>21</msb></field>
|
||||
<field><name>mac_addr1</name><lsb>0</lsb><msb>15</msb></field>
|
||||
</fields>
|
||||
</register>
|
||||
|
||||
</registers>
|
||||
|
||||
</peripheral> <!-- eFuse -->
|
||||
|
||||
</peripherals>
|
||||
</device>
|
||||
|
@ -1,15 +1,15 @@
|
||||
set architecture riscv:rv32
|
||||
#target remote :3333
|
||||
#set disassemble-next-line on
|
||||
set mem inaccessible-by-default off
|
||||
#gdb_breakpoint_override [hard|soft|disable]
|
||||
|
||||
mem 0x22008000 0x22014000 rw
|
||||
mem 0x42008000 0x42014000 rw
|
||||
mem 0x22014000 0x22020000 rw
|
||||
mem 0x42014000 0x42020000 rw
|
||||
mem 0x22020000 0x22030000 rw
|
||||
mem 0x42020000 0x42030000 rw
|
||||
mem 0x22030000 0x2204C000 rw
|
||||
mem 0x42030000 0x4204C000 rw
|
||||
mem 0x23000000 0x23400000 ro
|
||||
set architecture riscv:rv32
|
||||
#target remote :3333
|
||||
#set disassemble-next-line on
|
||||
set mem inaccessible-by-default off
|
||||
#gdb_breakpoint_override [hard|soft|disable]
|
||||
|
||||
mem 0x22008000 0x22014000 rw
|
||||
mem 0x42008000 0x42014000 rw
|
||||
mem 0x22014000 0x22020000 rw
|
||||
mem 0x42014000 0x42020000 rw
|
||||
mem 0x22020000 0x22030000 rw
|
||||
mem 0x42020000 0x42030000 rw
|
||||
mem 0x22030000 0x2204C000 rw
|
||||
mem 0x42030000 0x4204C000 rw
|
||||
mem 0x23000000 0x23400000 ro
|
||||
|
@ -1,16 +1,16 @@
|
||||
# BouffaloLab USB-JTAG/TTL adapter
|
||||
interface ftdi
|
||||
ftdi_vid_pid 0x0403 0x6010
|
||||
|
||||
ftdi_channel 1
|
||||
ftdi_tdo_sample_edge falling
|
||||
transport select jtag
|
||||
adapter_khz 10000
|
||||
|
||||
ftdi_layout_init 0x00f8 0x00fb
|
||||
#ftdi_layout_signal nTRST -data 0x0400
|
||||
#ftdi_layout_signal nSRST -ndata 0x0020
|
||||
|
||||
#reset_config srst_only srst_push_pull
|
||||
#adapter_nsrst_delay 100
|
||||
#adapter_nsrst_assert_width 100
|
||||
# BouffaloLab USB-JTAG/TTL adapter
|
||||
interface ftdi
|
||||
ftdi_vid_pid 0x0403 0x6010
|
||||
|
||||
ftdi_channel 1
|
||||
ftdi_tdo_sample_edge falling
|
||||
transport select jtag
|
||||
adapter_khz 10000
|
||||
|
||||
ftdi_layout_init 0x00f8 0x00fb
|
||||
#ftdi_layout_signal nTRST -data 0x0400
|
||||
#ftdi_layout_signal nSRST -ndata 0x0020
|
||||
|
||||
#reset_config srst_only srst_push_pull
|
||||
#adapter_nsrst_delay 100
|
||||
#adapter_nsrst_assert_width 100
|
||||
|
@ -1,16 +1,16 @@
|
||||
# BouffaloLab USB-JTAG/TTL adapter
|
||||
interface ftdi
|
||||
ftdi_vid_pid 0x0403 0x6010
|
||||
|
||||
ftdi_channel 1
|
||||
ftdi_tdo_sample_edge falling
|
||||
transport select jtag
|
||||
adapter_khz 30000
|
||||
|
||||
ftdi_layout_init 0x00f8 0x00fb
|
||||
#ftdi_layout_signal nTRST -data 0x0400
|
||||
#ftdi_layout_signal nSRST -ndata 0x0020
|
||||
|
||||
#reset_config srst_only srst_push_pull
|
||||
#adapter_nsrst_delay 100
|
||||
#adapter_nsrst_assert_width 100
|
||||
# BouffaloLab USB-JTAG/TTL adapter
|
||||
interface ftdi
|
||||
ftdi_vid_pid 0x0403 0x6010
|
||||
|
||||
ftdi_channel 1
|
||||
ftdi_tdo_sample_edge falling
|
||||
transport select jtag
|
||||
adapter_khz 30000
|
||||
|
||||
ftdi_layout_init 0x00f8 0x00fb
|
||||
#ftdi_layout_signal nTRST -data 0x0400
|
||||
#ftdi_layout_signal nSRST -ndata 0x0020
|
||||
|
||||
#reset_config srst_only srst_push_pull
|
||||
#adapter_nsrst_delay 100
|
||||
#adapter_nsrst_assert_width 100
|
||||
|
@ -1,15 +1,15 @@
|
||||
# USB-JTAG/TTL based on FT2232D
|
||||
interface ftdi
|
||||
ftdi_vid_pid 0x0403 0x6010
|
||||
|
||||
ftdi_channel 0
|
||||
transport select jtag
|
||||
adapter_khz 2000
|
||||
|
||||
ftdi_layout_init 0x0508 0x0f2b
|
||||
#ftdi_layout_signal nTRST -data 0x0400
|
||||
ftdi_layout_signal nSRST -ndata 0x0020
|
||||
|
||||
reset_config srst_only srst_push_pull
|
||||
adapter_nsrst_delay 100
|
||||
adapter_nsrst_assert_width 100
|
||||
# USB-JTAG/TTL based on FT2232D
|
||||
interface ftdi
|
||||
ftdi_vid_pid 0x0403 0x6010
|
||||
|
||||
ftdi_channel 0
|
||||
transport select jtag
|
||||
adapter_khz 2000
|
||||
|
||||
ftdi_layout_init 0x0508 0x0f2b
|
||||
#ftdi_layout_signal nTRST -data 0x0400
|
||||
ftdi_layout_signal nSRST -ndata 0x0020
|
||||
|
||||
reset_config srst_only srst_push_pull
|
||||
adapter_nsrst_delay 100
|
||||
adapter_nsrst_assert_width 100
|
||||
|
@ -1,7 +1,7 @@
|
||||
# USB-JTAG/TTL based on FT2232D
|
||||
interface jlink
|
||||
|
||||
transport select jtag
|
||||
adapter_khz 12000
|
||||
|
||||
|
||||
# USB-JTAG/TTL based on FT2232D
|
||||
interface jlink
|
||||
|
||||
transport select jtag
|
||||
adapter_khz 12000
|
||||
|
||||
|
||||
|
@ -1,40 +1,40 @@
|
||||
# SiPEED USB-JTAG/TTL based on FT2232D
|
||||
interface ftdi
|
||||
ftdi_vid_pid 0x0403 0x6010
|
||||
# http://blog.sipeed.com/p/727.html
|
||||
ftdi_channel 0
|
||||
transport select jtag
|
||||
adapter_khz 10000
|
||||
|
||||
ftdi_layout_init 0x0508 0x0f1b
|
||||
ftdi_layout_signal nTRST -data 0x0200 -noe 0x0100
|
||||
ftdi_layout_signal nSRST -data 0x0800 -noe 0x0400
|
||||
|
||||
set _CHIPNAME riscv
|
||||
#jtag newtap $_CHIPNAME cpu -irlen 5 -expected-id 0x20000001
|
||||
jtag newtap $_CHIPNAME cpu -irlen 5 -expected-id 0x0
|
||||
|
||||
set _TARGETNAME $_CHIPNAME.cpu
|
||||
target create $_TARGETNAME.0 riscv -chain-position $_TARGETNAME
|
||||
#$_TARGETNAME.0 configure -work-area-phys 0x80000000 -work-area-size 10000 -work-area-backup 1
|
||||
#$_TARGETNAME.0 configure -work-area-phys 0x50000000 -work-area-size 32768 -work-area-backup 0
|
||||
|
||||
echo "SiPEED USB-JTAG/TTL Ready for Remote Connections"
|
||||
|
||||
proc install_bootrom {} {
|
||||
# sleep 1000
|
||||
init
|
||||
reset init
|
||||
load_image chiptest_bootrom.bin 0x21000000 bin
|
||||
sleep 500
|
||||
reg pc 0x21000000
|
||||
# sleep 500
|
||||
# bp 0x21002f0c 4 hw
|
||||
# resume
|
||||
}
|
||||
|
||||
echo "Start loading BOOTROM under project folder"
|
||||
install_bootrom
|
||||
echo "flash the XIP code before debugging"
|
||||
echo "ONLY load symbol in GDB"
|
||||
echo "use [gdb_breakpoint_override hard] for XIP debugging"
|
||||
# SiPEED USB-JTAG/TTL based on FT2232D
|
||||
interface ftdi
|
||||
ftdi_vid_pid 0x0403 0x6010
|
||||
# http://blog.sipeed.com/p/727.html
|
||||
ftdi_channel 0
|
||||
transport select jtag
|
||||
adapter_khz 10000
|
||||
|
||||
ftdi_layout_init 0x0508 0x0f1b
|
||||
ftdi_layout_signal nTRST -data 0x0200 -noe 0x0100
|
||||
ftdi_layout_signal nSRST -data 0x0800 -noe 0x0400
|
||||
|
||||
set _CHIPNAME riscv
|
||||
#jtag newtap $_CHIPNAME cpu -irlen 5 -expected-id 0x20000001
|
||||
jtag newtap $_CHIPNAME cpu -irlen 5 -expected-id 0x0
|
||||
|
||||
set _TARGETNAME $_CHIPNAME.cpu
|
||||
target create $_TARGETNAME.0 riscv -chain-position $_TARGETNAME
|
||||
#$_TARGETNAME.0 configure -work-area-phys 0x80000000 -work-area-size 10000 -work-area-backup 1
|
||||
#$_TARGETNAME.0 configure -work-area-phys 0x50000000 -work-area-size 32768 -work-area-backup 0
|
||||
|
||||
echo "SiPEED USB-JTAG/TTL Ready for Remote Connections"
|
||||
|
||||
proc install_bootrom {} {
|
||||
# sleep 1000
|
||||
init
|
||||
reset init
|
||||
load_image chiptest_bootrom.bin 0x21000000 bin
|
||||
sleep 500
|
||||
reg pc 0x21000000
|
||||
# sleep 500
|
||||
# bp 0x21002f0c 4 hw
|
||||
# resume
|
||||
}
|
||||
|
||||
echo "Start loading BOOTROM under project folder"
|
||||
install_bootrom
|
||||
echo "flash the XIP code before debugging"
|
||||
echo "ONLY load symbol in GDB"
|
||||
echo "use [gdb_breakpoint_override hard] for XIP debugging"
|
||||
|
@ -1,24 +1,24 @@
|
||||
# SiPEED USB-JTAG/TTL based on FT2232D
|
||||
interface ftdi
|
||||
ftdi_vid_pid 0x0403 0x6010
|
||||
# http://blog.sipeed.com/p/727.html
|
||||
ftdi_channel 0
|
||||
transport select jtag
|
||||
adapter_khz 1000
|
||||
|
||||
ftdi_layout_init 0x0508 0x0f1b
|
||||
ftdi_layout_signal nTRST -data 0x0200 -noe 0x0100
|
||||
ftdi_layout_signal nSRST -data 0x0800 -noe 0x0400
|
||||
|
||||
set _CHIPNAME riscv
|
||||
#jtag newtap $_CHIPNAME cpu -irlen 5 -expected-id 0x20000001
|
||||
jtag newtap $_CHIPNAME cpu -irlen 5 -expected-id 0x0
|
||||
|
||||
set _TARGETNAME $_CHIPNAME.cpu
|
||||
target create $_TARGETNAME.0 riscv -chain-position $_TARGETNAME
|
||||
#$_TARGETNAME.0 configure -work-area-phys 0x80000000 -work-area-size 10000 -work-area-backup 1
|
||||
#$_TARGETNAME.0 configure -work-area-phys 0x50000000 -work-area-size 32768 -work-area-backup 0
|
||||
|
||||
riscv set_prefer_sba on
|
||||
|
||||
echo "SiPEED USB-JTAG/TTL Ready for Remote Connections"
|
||||
# SiPEED USB-JTAG/TTL based on FT2232D
|
||||
interface ftdi
|
||||
ftdi_vid_pid 0x0403 0x6010
|
||||
# http://blog.sipeed.com/p/727.html
|
||||
ftdi_channel 0
|
||||
transport select jtag
|
||||
adapter_khz 1000
|
||||
|
||||
ftdi_layout_init 0x0508 0x0f1b
|
||||
ftdi_layout_signal nTRST -data 0x0200 -noe 0x0100
|
||||
ftdi_layout_signal nSRST -data 0x0800 -noe 0x0400
|
||||
|
||||
set _CHIPNAME riscv
|
||||
#jtag newtap $_CHIPNAME cpu -irlen 5 -expected-id 0x20000001
|
||||
jtag newtap $_CHIPNAME cpu -irlen 5 -expected-id 0x0
|
||||
|
||||
set _TARGETNAME $_CHIPNAME.cpu
|
||||
target create $_TARGETNAME.0 riscv -chain-position $_TARGETNAME
|
||||
#$_TARGETNAME.0 configure -work-area-phys 0x80000000 -work-area-size 10000 -work-area-backup 1
|
||||
#$_TARGETNAME.0 configure -work-area-phys 0x50000000 -work-area-size 32768 -work-area-backup 0
|
||||
|
||||
riscv set_prefer_sba on
|
||||
|
||||
echo "SiPEED USB-JTAG/TTL Ready for Remote Connections"
|
||||
|
@ -1,45 +1,45 @@
|
||||
#target chip
|
||||
|
||||
set _CHIPNAME riscv
|
||||
jtag newtap $_CHIPNAME cpu -irlen 5 -expected-id 0x20000c05
|
||||
|
||||
set _TARGETNAME $_CHIPNAME.cpu
|
||||
target create $_TARGETNAME.0 riscv -chain-position $_TARGETNAME
|
||||
$_TARGETNAME.0 configure -work-area-phys 0x22020000 -work-area-size 0x10000 -work-area-backup 1
|
||||
#$_TARGETNAME.0 configure -rtos auto
|
||||
|
||||
echo "Ready for Remote Connections"
|
||||
|
||||
$_TARGETNAME.0 configure -event reset-assert-pre {
|
||||
echo "reset-assert-pre"
|
||||
adapter_khz 100
|
||||
}
|
||||
|
||||
$_TARGETNAME.0 configure -event reset-deassert-post {
|
||||
echo "reset-deassert-post"
|
||||
adapter_khz 4000
|
||||
reg mstatus 0x7800
|
||||
reg mie 0x0
|
||||
# reg pc 0x22008000
|
||||
}
|
||||
|
||||
$_TARGETNAME.0 configure -event reset-init {
|
||||
echo "reset-init"
|
||||
# 4MHz for FPGA
|
||||
adapter_khz 4000
|
||||
}
|
||||
|
||||
gdb_memory_map enable
|
||||
gdb_flash_program disable
|
||||
|
||||
riscv set_prefer_sba on
|
||||
riscv set_command_timeout_sec 1
|
||||
|
||||
init
|
||||
reset init
|
||||
|
||||
#jtag arp_init
|
||||
|
||||
#resume
|
||||
#exit
|
||||
|
||||
#target chip
|
||||
|
||||
set _CHIPNAME riscv
|
||||
jtag newtap $_CHIPNAME cpu -irlen 5 -expected-id 0x20000c05
|
||||
|
||||
set _TARGETNAME $_CHIPNAME.cpu
|
||||
target create $_TARGETNAME.0 riscv -chain-position $_TARGETNAME
|
||||
$_TARGETNAME.0 configure -work-area-phys 0x22020000 -work-area-size 0x10000 -work-area-backup 1
|
||||
#$_TARGETNAME.0 configure -rtos auto
|
||||
|
||||
echo "Ready for Remote Connections"
|
||||
|
||||
$_TARGETNAME.0 configure -event reset-assert-pre {
|
||||
echo "reset-assert-pre"
|
||||
adapter_khz 100
|
||||
}
|
||||
|
||||
$_TARGETNAME.0 configure -event reset-deassert-post {
|
||||
echo "reset-deassert-post"
|
||||
adapter_khz 4000
|
||||
reg mstatus 0x7800
|
||||
reg mie 0x0
|
||||
# reg pc 0x22008000
|
||||
}
|
||||
|
||||
$_TARGETNAME.0 configure -event reset-init {
|
||||
echo "reset-init"
|
||||
# 4MHz for FPGA
|
||||
adapter_khz 4000
|
||||
}
|
||||
|
||||
gdb_memory_map enable
|
||||
gdb_flash_program disable
|
||||
|
||||
riscv set_prefer_sba on
|
||||
riscv set_command_timeout_sec 1
|
||||
|
||||
init
|
||||
reset init
|
||||
|
||||
#jtag arp_init
|
||||
|
||||
#resume
|
||||
#exit
|
||||
|
||||
|
@ -1,45 +1,45 @@
|
||||
#target chip
|
||||
|
||||
set _CHIPNAME riscv
|
||||
jtag newtap $_CHIPNAME cpu -irlen 5 -expected-id 0x20000e05
|
||||
|
||||
set _TARGETNAME $_CHIPNAME.cpu
|
||||
target create $_TARGETNAME.0 riscv -chain-position $_TARGETNAME
|
||||
$_TARGETNAME.0 configure -work-area-phys 0x22020000 -work-area-size 0x10000 -work-area-backup 1
|
||||
#$_TARGETNAME.0 configure -rtos auto
|
||||
|
||||
echo "Ready for Remote Connections"
|
||||
|
||||
$_TARGETNAME.0 configure -event reset-assert-pre {
|
||||
echo "reset-assert-pre"
|
||||
adapter_khz 100
|
||||
}
|
||||
|
||||
$_TARGETNAME.0 configure -event reset-deassert-post {
|
||||
echo "reset-deassert-post"
|
||||
adapter_khz 4000
|
||||
reg mstatus 0x7800
|
||||
reg mie 0x0
|
||||
# reg pc 0x22008000
|
||||
}
|
||||
|
||||
$_TARGETNAME.0 configure -event reset-init {
|
||||
echo "reset-init"
|
||||
# 4MHz for FPGA
|
||||
adapter_khz 4000
|
||||
}
|
||||
|
||||
gdb_memory_map enable
|
||||
gdb_flash_program disable
|
||||
|
||||
riscv set_prefer_sba on
|
||||
riscv set_command_timeout_sec 1
|
||||
|
||||
init
|
||||
reset init
|
||||
|
||||
#jtag arp_init
|
||||
|
||||
#resume
|
||||
#exit
|
||||
|
||||
#target chip
|
||||
|
||||
set _CHIPNAME riscv
|
||||
jtag newtap $_CHIPNAME cpu -irlen 5 -expected-id 0x20000e05
|
||||
|
||||
set _TARGETNAME $_CHIPNAME.cpu
|
||||
target create $_TARGETNAME.0 riscv -chain-position $_TARGETNAME
|
||||
$_TARGETNAME.0 configure -work-area-phys 0x22020000 -work-area-size 0x10000 -work-area-backup 1
|
||||
#$_TARGETNAME.0 configure -rtos auto
|
||||
|
||||
echo "Ready for Remote Connections"
|
||||
|
||||
$_TARGETNAME.0 configure -event reset-assert-pre {
|
||||
echo "reset-assert-pre"
|
||||
adapter_khz 100
|
||||
}
|
||||
|
||||
$_TARGETNAME.0 configure -event reset-deassert-post {
|
||||
echo "reset-deassert-post"
|
||||
adapter_khz 4000
|
||||
reg mstatus 0x7800
|
||||
reg mie 0x0
|
||||
# reg pc 0x22008000
|
||||
}
|
||||
|
||||
$_TARGETNAME.0 configure -event reset-init {
|
||||
echo "reset-init"
|
||||
# 4MHz for FPGA
|
||||
adapter_khz 4000
|
||||
}
|
||||
|
||||
gdb_memory_map enable
|
||||
gdb_flash_program disable
|
||||
|
||||
riscv set_prefer_sba on
|
||||
riscv set_command_timeout_sec 1
|
||||
|
||||
init
|
||||
reset init
|
||||
|
||||
#jtag arp_init
|
||||
|
||||
#resume
|
||||
#exit
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user