blackmagic/src/target
Mikaela Szekely c136b919cd target/cortex: dynamically generate tdesc strings to save code size
This commit removes the previous tdesc_cortex_a, tdesc_cortex_m, and
tdesc_cortex_mf XML string literals used for target description to GDB,
now instead programmatically generating them at runtime to significantly
deduplicate the characters that get embedded into the binary.

Output of ld's --print-memory-usage during final link before:
Memory region         Used Size  Region Size  %age Used
             rom:      116388 B       128 KB     88.80%
             ram:        3348 B        20 KB     16.35%

Output of ld's --print-memory-usage during final link now:
Memory region         Used Size  Region Size  %age Used
             rom:      113032 B       128 KB     86.24%
             ram:        3376 B        20 KB     16.48%

So all in all this saves 3356 bytes of flash.

Note: the exact size saved when compiled on your machine may differ, as
the size of the build seems at least partially non-deterministic.
We've gotten slightly different sizes (within 15 bytes of each other)
at different times, with the only differences being things like which
files were rebuilt in an incremental rebuild, or the order object files
were given to the linker command line. The numbers given above were the
numbers we got when testing the final builds from scratch, but all the
sizes we got were extremely similar to the sizes listed above.
2022-08-25 18:29:57 -04:00
..
flashstub misc: Cleanup include guards. 2022-08-23 15:06:21 -04:00
HACKING.md misc: Added a HACKING.md to provide an explanation of nomenclature and how we handle reset terminology 2022-06-26 16:51:58 -07:00
adiv5.c adiv5: Attempt to handle JTAG DPv0 devices 2022-08-18 18:58:29 -07:00
adiv5.h misc: Cleanup include guards. 2022-08-23 15:06:21 -04:00
adiv5_jtagdp.c adiv5: Attempt to handle JTAG DPv0 devices 2022-08-18 18:58:29 -07:00
adiv5_swdp.c adiv5: Attempt to handle JTAG DPv0 devices 2022-08-18 18:58:29 -07:00
ch32f1.c target/ch32f1: flash read write return bool 2022-08-25 18:10:41 -04:00
cortexa.c target/cortex: dynamically generate tdesc strings to save code size 2022-08-25 18:29:57 -04:00
cortexm.c target/cortex: dynamically generate tdesc strings to save code size 2022-08-25 18:29:57 -04:00
cortexm.h target: target_addr type name cleanup 2022-08-24 16:03:40 -04:00
efm32.c target/efm32: flash read write return bool 2022-08-25 18:10:41 -04:00
gdb_reg.c target/cortex: dynamically generate tdesc strings to save code size 2022-08-25 18:29:57 -04:00
gdb_reg.h target/cortex: dynamically generate tdesc strings to save code size 2022-08-25 18:29:57 -04:00
jtag_devs.c Removal of MFR descriptions as requested in #978 2022-03-14 21:37:44 -07:00
jtag_devs.h misc: Cleanup include guards. 2022-08-23 15:06:21 -04:00
jtag_scan.c jtag_scan: Cleaned up and reworked jtag_dev_shift_dr() 2022-07-30 18:00:08 -07:00
jtag_scan.h misc: Cleanup include guards. 2022-08-23 15:06:21 -04:00
jtagtap_generic.c jtag/swd: Rename defines/make variables to allow removal of weak attribute 2019-07-18 20:54:10 +02:00
kinetis.c target/kinetis: flash read write return bool 2022-08-25 18:10:41 -04:00
lmi.c target/lpc: flash read write return bool 2022-08-25 18:10:41 -04:00
lpc11xx.c target: target_flash type cleanup 2022-08-24 16:03:40 -04:00
lpc15xx.c target: target_flash type cleanup 2022-08-24 16:03:40 -04:00
lpc17xx.c target: target_flash type cleanup 2022-08-24 16:03:40 -04:00
lpc43xx.c target/lpc: flash read write return bool 2022-08-25 18:10:41 -04:00
lpc546xx.c target/lpc: flash read write return bool 2022-08-25 18:10:41 -04:00
lpc_common.c target/lpc: flash read write return bool 2022-08-25 18:10:41 -04:00
lpc_common.h target/lpc: flash read write return bool 2022-08-25 18:10:41 -04:00
msp432.c target/msp432: flash read write return bool 2022-08-25 18:10:41 -04:00
nrf51.c target/nrf51: flash read write return bool 2022-08-25 18:10:41 -04:00
nxpke04.c target/nxpke04: flash read write return bool 2022-08-25 18:10:41 -04:00
rp.c target/rp: flash read write return bool 2022-08-25 18:10:41 -04:00
sam3x.c target/sam: flash read write return bool 2022-08-25 18:10:41 -04:00
sam4l.c target/sam: flash read write return bool 2022-08-25 18:10:41 -04:00
samd.c target/sam: flash read write return bool 2022-08-25 18:10:41 -04:00
samx5x.c target/sam: flash read write return bool 2022-08-25 18:10:41 -04:00
semihosting.h misc: Cleanup include guards. 2022-08-23 15:06:21 -04:00
sfdp.c sfdp: Moved the read debugging into the implementation 2022-08-08 14:43:29 -07:00
sfdp.h misc: Cleanup include guards. 2022-08-23 15:06:21 -04:00
sfdp_internal.h misc: Cleanup include guards. 2022-08-23 15:06:21 -04:00
stm32f1.c target/stm: flash read write return bool 2022-08-25 18:10:41 -04:00
stm32f4.c target/stm: flash read write return bool 2022-08-25 18:10:41 -04:00
stm32g0.c target/stm: flash read write return bool 2022-08-25 18:10:41 -04:00
stm32h7.c target/stm: flash read write return bool 2022-08-25 18:10:41 -04:00
stm32l0.c target/stm32l0: macro cleanup 2022-08-25 18:10:41 -04:00
stm32l4.c target/stm: flash read write return bool 2022-08-25 18:10:41 -04:00
swdptap_generic.c swd: Remove swd_proc and swdptap.h. 2021-04-21 21:50:04 +02:00
target.c target_flash: flash read write return bool 2022-08-25 18:10:41 -04:00
target_flash.c target_flash: flash read write return bool 2022-08-25 18:10:41 -04:00
target_internal.h target_flash: flash read write return bool 2022-08-25 18:10:41 -04:00
target_probe.c Added support for AT32F403A/407/415. 2022-07-31 12:21:26 +01:00
target_probe.h misc: Cleanup include guards. 2022-08-23 15:06:21 -04:00