mirror of
https://github.com/eried/portapack-mayhem.git
synced 2024-10-01 01:26:06 -04:00
JTAG: Auto-generate HackRF CPLD data from SVF.
This commit is contained in:
parent
cd3a91b3af
commit
1d58f05163
@ -26,7 +26,12 @@ set(CHIBIOS_PORTAPACK ${PROJECT_SOURCE_DIR}/chibios-portapack)
|
|||||||
|
|
||||||
set(HACKRF_FIRMWARE_FILENAME hackrf_one_usb_ram.dfu)
|
set(HACKRF_FIRMWARE_FILENAME hackrf_one_usb_ram.dfu)
|
||||||
set(HACKRF_FIRMWARE_IMAGE ${PROJECT_SOURCE_DIR}/${HACKRF_FIRMWARE_FILENAME})
|
set(HACKRF_FIRMWARE_IMAGE ${PROJECT_SOURCE_DIR}/${HACKRF_FIRMWARE_FILENAME})
|
||||||
|
|
||||||
|
set(HACKRF_CPLD_SVF_FILENAME hackrf_cpld_default.svf)
|
||||||
|
set(HACKRF_CPLD_SVF_PATH ${PROJECT_SOURCE_DIR}/${HACKRF_CPLD_SVF_FILENAME})
|
||||||
|
|
||||||
set(EXTRACT_CPLD_DATA ${PROJECT_SOURCE_DIR}/tools/extract_cpld_data.py)
|
set(EXTRACT_CPLD_DATA ${PROJECT_SOURCE_DIR}/tools/extract_cpld_data.py)
|
||||||
|
set(EXTRACT_SVF_DATA_XC2C64A ${PROJECT_SOURCE_DIR}/tools/extract_svf_data_xc2c64a.py)
|
||||||
set(STRIP_DFU ${PROJECT_SOURCE_DIR}/tools/strip_dfu.py)
|
set(STRIP_DFU ${PROJECT_SOURCE_DIR}/tools/strip_dfu.py)
|
||||||
set(MAKE_SPI_IMAGE ${PROJECT_SOURCE_DIR}/tools/make_spi_image.py)
|
set(MAKE_SPI_IMAGE ${PROJECT_SOURCE_DIR}/tools/make_spi_image.py)
|
||||||
set(MAKE_IMAGE_CHUNK ${PROJECT_SOURCE_DIR}/tools/make_image_chunk.py)
|
set(MAKE_IMAGE_CHUNK ${PROJECT_SOURCE_DIR}/tools/make_image_chunk.py)
|
||||||
|
@ -74,6 +74,9 @@ set(USE_FPU no)
|
|||||||
set(CPLD_SVF_PATH ${HARDWARE_PATH}/portapack_h1/cpld/output_files/portapack_h1_cpld.svf)
|
set(CPLD_SVF_PATH ${HARDWARE_PATH}/portapack_h1/cpld/output_files/portapack_h1_cpld.svf)
|
||||||
set(CPLD_DATA_CPP ${CMAKE_CURRENT_BINARY_DIR}/portapack_cpld_data.cpp)
|
set(CPLD_DATA_CPP ${CMAKE_CURRENT_BINARY_DIR}/portapack_cpld_data.cpp)
|
||||||
|
|
||||||
|
set(HACKRF_CPLD_DATA_HPP ${CMAKE_CURRENT_BINARY_DIR}/hackrf_cpld_data.hpp)
|
||||||
|
set(HACKRF_CPLD_DATA_CPP ${CMAKE_CURRENT_BINARY_DIR}/hackrf_cpld_data.cpp)
|
||||||
|
|
||||||
# Imported source files and paths
|
# Imported source files and paths
|
||||||
include(${CHIBIOS_PORTAPACK}/boards/GSG_HACKRF_ONE/board.cmake)
|
include(${CHIBIOS_PORTAPACK}/boards/GSG_HACKRF_ONE/board.cmake)
|
||||||
include(${CHIBIOS_PORTAPACK}/os/hal/platforms/LPC43xx_M0/platform.cmake)
|
include(${CHIBIOS_PORTAPACK}/os/hal/platforms/LPC43xx_M0/platform.cmake)
|
||||||
@ -181,9 +184,12 @@ set(CPPSRC
|
|||||||
${COMMON}/lfsr_random.cpp
|
${COMMON}/lfsr_random.cpp
|
||||||
core_control.cpp
|
core_control.cpp
|
||||||
${COMMON}/cpld_max5.cpp
|
${COMMON}/cpld_max5.cpp
|
||||||
|
${COMMON}/cpld_xilinx.cpp
|
||||||
${COMMON}/jtag.cpp
|
${COMMON}/jtag.cpp
|
||||||
|
${COMMON}/jtag_tap.cpp
|
||||||
cpld_update.cpp
|
cpld_update.cpp
|
||||||
${CPLD_DATA_CPP}
|
${CPLD_DATA_CPP}
|
||||||
|
${HACKRF_CPLD_DATA_CPP}
|
||||||
)
|
)
|
||||||
|
|
||||||
# C sources to be compiled in ARM mode regardless of the global setting.
|
# C sources to be compiled in ARM mode regardless of the global setting.
|
||||||
@ -209,7 +215,7 @@ set(TCPPSRC)
|
|||||||
# List ASM source files here
|
# List ASM source files here
|
||||||
set(ASMSRC ${PORTASM})
|
set(ASMSRC ${PORTASM})
|
||||||
|
|
||||||
set(INCDIR ${COMMON} ${PORTINC} ${KERNINC} ${TESTINC}
|
set(INCDIR ${CMAKE_CURRENT_BINARY_DIR} ${COMMON} ${PORTINC} ${KERNINC} ${TESTINC}
|
||||||
${HALINC} ${PLATFORMINC} ${BOARDINC}
|
${HALINC} ${PLATFORMINC} ${BOARDINC}
|
||||||
${FATFSINC}
|
${FATFSINC}
|
||||||
${CHIBIOS}/os/various
|
${CHIBIOS}/os/various
|
||||||
@ -303,6 +309,12 @@ add_custom_command(
|
|||||||
DEPENDS ${EXTRACT_CPLD_DATA} ${CPLD_SVF_PATH}
|
DEPENDS ${EXTRACT_CPLD_DATA} ${CPLD_SVF_PATH}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
add_custom_command(
|
||||||
|
OUTPUT ${HACKRF_CPLD_DATA_HPP} ${HACKRF_CPLD_DATA_CPP}
|
||||||
|
COMMAND ${EXTRACT_SVF_DATA_XC2C64A} ${HACKRF_CPLD_SVF_PATH} hackrf::one::cpld::verify_blocks ${HACKRF_CPLD_DATA_HPP} ${HACKRF_CPLD_DATA_CPP}
|
||||||
|
DEPENDS ${EXTRACT_SVF_DATA_XC2C64A} ${HACKRF_CPLD_SVF_PATH}
|
||||||
|
)
|
||||||
|
|
||||||
add_executable(${PROJECT_NAME}.elf ${CSRC} ${CPPSRC} ${ASMSRC})
|
add_executable(${PROJECT_NAME}.elf ${CSRC} ${CPPSRC} ${ASMSRC})
|
||||||
set_target_properties(${PROJECT_NAME}.elf PROPERTIES LINK_DEPENDS ${LDSCRIPT})
|
set_target_properties(${PROJECT_NAME}.elf PROPERTIES LINK_DEPENDS ${LDSCRIPT})
|
||||||
add_definitions(${DEFS})
|
add_definitions(${DEFS})
|
||||||
|
Loading…
Reference in New Issue
Block a user