Standalone LGPL-2.1 parser for BSDL (IEEE 1149.1), shared by essim and bs_explorer. The parser is ported from the Viveris JTAG Core loader, decoupled from jtag_core, and extended with two extractions the original lacks: - PIN_MAP_STRING -> per-port physical package pin, scalar and vector; - TAP_SCAN_* -> TAP signal roles (TDI/TDO/TMS/TCK/TRST). Exposes a stable C ABI (bsdl_parse_file/buffer -> bsdl_t, bsdl_to_json) with a dependency-free JSON serializer and a bsdl2json CLI. CMake builds a versioned shared library with install/export rules for find_package(bsdl). Verified against m2gl010t, xcku040 and xcku15p (100% pin mapping, correct IDCODEs and TAP roles); api and parse regression tests pass, clean build. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
8 lines
245 B
CMake
8 lines
245 B
CMake
add_executable(test_api test_api.c)
|
|
target_link_libraries(test_api PRIVATE bsdl)
|
|
add_test(NAME api COMMAND test_api)
|
|
|
|
add_executable(test_parse test_parse.c)
|
|
target_link_libraries(test_parse PRIVATE bsdl)
|
|
add_test(NAME parse COMMAND test_parse)
|