summaryrefslogtreecommitdiff
path: root/tools/get_deps.py
diff options
context:
space:
mode:
Diffstat (limited to 'tools/get_deps.py')
-rwxr-xr-xtools/get_deps.py110
1 files changed, 78 insertions, 32 deletions
diff --git a/tools/get_deps.py b/tools/get_deps.py
index 36ed98a62..ebbf9b871 100755
--- a/tools/get_deps.py
+++ b/tools/get_deps.py
@@ -8,12 +8,21 @@ from multiprocessing import Pool
# Mandatory Dependencies that is always fetched
# path, url, commit, family (Alphabet sorted by path)
deps_mandatory = {
+ 'lib/fatfs': ['https://github.com/abbrev/fatfs.git',
+ '30ca13c62615df0d2e9104ab41256985b96590c1',
+ 'all'],
'lib/FreeRTOS-Kernel': ['https://github.com/FreeRTOS/FreeRTOS-Kernel.git',
- 'cc0e0707c0c748713485b870bb980852b210877f',
+ '9b777ae5c5b8e9e456065a00294d1e5f5f9facf5',
'all'],
'lib/lwip': ['https://github.com/lwip-tcpip/lwip.git',
'159e31b689577dbf69cf0683bbaffbd71fa5ee10',
'all'],
+ 'lib/threadx': ['https://github.com/eclipse-threadx/threadx.git',
+ '4b6e8100d932a3a67b34c6eb17f84f3bffb9e2ae',
+ 'all'],
+ 'tools/linkermap': ['https://github.com/hathach/linkermap.git',
+ '8e1f440fa15c567aceb5aa0d14f6d18c329cc67f',
+ 'all'],
'tools/uf2': ['https://github.com/microsoft/uf2.git',
'c594542b2faa01cc33a2b97c9fbebc38549df80a',
'all'],
@@ -29,8 +38,8 @@ deps_optional = {
'b20b398d3e5e2007594e54a74ba3d2a2e50ddd75',
'maxim'],
'hw/mcu/bridgetek/ft9xx/ft90x-sdk': ['https://github.com/BRTSG-FOSS/ft90x-sdk.git',
- '91060164afe239fcb394122e8bf9eb24d3194eb1',
- 'brtmm90x'],
+ '03f74eac84645178fdde7f2e5ca9acdcb7bd9dcd',
+ 'ft9xx'],
'hw/mcu/broadcom': ['https://github.com/adafruit/broadcom-peripherals.git',
'08370086080759ed54ac1136d62d2ad24c6fa267',
'broadcom_32bit broadcom_64bit'],
@@ -42,22 +51,40 @@ deps_optional = {
'xmc4000'],
'hw/mcu/microchip': ['https://github.com/hathach/microchip_driver.git',
'9e8b37e307d8404033bb881623a113931e1edf27',
- 'sam3x samd11 samd21 samd51 samd5x_e5x same5x same7x saml2x samg'],
+ 'sam3x samd11 samd21 samd51 samd5x_e5x same5x same7x samd2x_l2x samg'],
'hw/mcu/mindmotion/mm32sdk': ['https://github.com/hathach/mm32sdk.git',
'b93e856211060ae825216c6a1d6aa347ec758843',
'mm32'],
'hw/mcu/nordic/nrfx': ['https://github.com/NordicSemiconductor/nrfx.git',
- '7c47cc0a56ce44658e6da2458e86cd8783ccc4a2',
+ '11f57e578c7feea13f21c79ea0efab2630ac68c7',
'nrf'],
'hw/mcu/nuvoton': ['https://github.com/majbthrd/nuc_driver.git',
'2204191ec76283371419fbcec207da02e1bc22fa',
- 'nuc'],
+ 'nuc100_120 nuc121_125 nuc126 nuc505'],
'hw/mcu/nxp/lpcopen': ['https://github.com/hathach/nxp_lpcopen.git',
'b41cf930e65c734d8ec6de04f1d57d46787c76ae',
'lpc11 lpc13 lpc15 lpc17 lpc18 lpc40 lpc43'],
+ 'hw/mcu/nxp/mcuxsdk-core': ['https://github.com/nxp-mcuxpresso/mcuxsdk-core',
+ '0c5c6b16deb211110e06bde896cdff59ab213e16',
+ 'imxrt kinetis_k32l lpc51 lpc55 mcx'],
'hw/mcu/nxp/mcux-sdk': ['https://github.com/nxp-mcuxpresso/mcux-sdk',
'a1bdae309a14ec95a4f64a96d3315a4f89c397c6',
- 'kinetis_k kinetis_k32l2 kinetis_kl lpc51 lpc54 lpc55 mcx imxrt'],
+ 'kinetis_k kinetis_kl lpc54 rw61x'],
+ 'hw/mcu/nxp/mcux-devices-kinetis': ['https://github.com/nxp-mcuxpresso/mcux-devices-kinetis',
+ '98a155e666c54f396e528ec3131f27a5d5b71f76',
+ 'kinetis_k32l'],
+ 'hw/mcu/nxp/mcux-devices-lpc': ['https://github.com/nxp-mcuxpresso/mcux-devices-lpc',
+ '8096b783ec09d0d1c8629025a5f9d8e7df26e520',
+ 'lpc51 lpc55'],
+ 'hw/mcu/nxp/mcux-devices-mcx': ['https://github.com/nxp-mcuxpresso/mcux-devices-mcx',
+ 'ada1c97c761123ec0c179bb9bb9f744bf9a11475',
+ 'mcx'],
+ 'hw/mcu/nxp/mcux-devices-rt': ['https://github.com/nxp-mcuxpresso/mcux-devices-rt',
+ 'dba2b523c9df61f3330bd186242f8210a8e47c45',
+ 'imxrt'],
+ 'hw/mcu/raspberry_pi/FreeRTOS-Kernel': ['https://github.com/raspberrypi/FreeRTOS-Kernel.git',
+ '4f7299d6ea746b27a9dd19e87af568e34bd65b15',
+ 'rp2040'],
'hw/mcu/raspberry_pi/Pico-PIO-USB': ['https://github.com/sekigon-gonnoc/Pico-PIO-USB.git',
'675543bcc9baa8170f868ab7ba316d418dbcf41f',
'rp2040'],
@@ -136,12 +163,15 @@ deps_optional = {
'hw/mcu/st/cmsis-device-wba': ['https://github.com/STMicroelectronics/cmsis-device-wba.git',
'647d8522e5fd15049e9a1cc30ed19d85e5911eaf',
'stm32wba'],
+ 'hw/mcu/st/stm32c5xx-dfp': ['https://github.com/STMicroelectronics/stm32c5xx-dfp.git',
+ '6d0940882511d9430f83af9bd3da6bcb77f79239',
+ 'stm32c5'],
'hw/mcu/st/stm32-mfxstm32l152': ['https://github.com/STMicroelectronics/stm32-mfxstm32l152.git',
'7f4389efee9c6a655b55e5df3fceef5586b35f9b',
'stm32h7'],
'hw/mcu/st/stm32-tcpp0203': ['https://github.com/STMicroelectronics/stm32-tcpp0203.git',
'9918655bff176ac3046ccf378b5c7bbbc6a38d15',
- 'stm32h7rs stm32n6'],
+ 'stm32h5 stm32h7rs stm32n6'],
'hw/mcu/st/stm32c0xx_hal_driver': ['https://github.com/STMicroelectronics/stm32c0xx_hal_driver.git',
'c283b143bef6bdaacf64240ee6f15eb61dad6125',
'stm32c0'],
@@ -205,8 +235,11 @@ deps_optional = {
'hw/mcu/st/stm32wbaxx_hal_driver': ['https://github.com/STMicroelectronics/stm32wbaxx_hal_driver.git',
'9442fbb71f855ff2e64fbf662b7726beba511a24',
'stm32wba'],
+ 'hw/mcu/st/stm32c5xx-drivers': ['https://github.com/STMicroelectronics/stm32c5xx-drivers.git',
+ '79b901285a7efeaf87c4c25db81d24cb5d8c9465',
+ 'stm32c5'],
'hw/mcu/ti': ['https://github.com/hathach/ti_driver.git',
- '143ed6cc20a7615d042b03b21e070197d473e6e5',
+ '083944907e7d08fcb1f614b47598ce45935b8da1',
'msp430 msp432e4 tm4c'],
'hw/mcu/wch/ch32v103': ['https://github.com/openwch/ch32v103.git',
'7578cae0b21f86dd053a1f781b2fc6ab99d0ec17',
@@ -220,6 +253,9 @@ deps_optional = {
'hw/mcu/wch/ch32f20x': ['https://github.com/openwch/ch32f20x.git',
'77c4095087e5ed2c548ec9058e655d0b8757663b',
'ch32f20x'],
+ 'hw/mcu/wch/ch583': ['https://github.com/openwch/ch583.git',
+ 'bd508ad7ceed48377619837051412a651952857f',
+ 'ch583'],
'hw/mcu/artery/at32f403a_407': ['https://github.com/ArteryTek/AT32F403A_407_Firmware_Library.git',
'f2cb360c3d28fada76b374308b8c4c61d37a090b',
'at32f403a_407'],
@@ -241,22 +277,33 @@ deps_optional = {
'hw/mcu/artery/at32f413': ['https://github.com/ArteryTek/AT32F413_Firmware_Library.git',
'f6fe62dfec9fd40c5b63d92fc5ef2c2b5e77a450',
'at32f413'],
+ 'hw/mcu/artery/at32f45x': ['https://github.com/ArteryTek/AT32F45x_Firmware_Library.git',
+ '3d4a1b38be8ebac292e2350ca53bc4bfa4430233',
+ 'at32f45x'],
+ 'hw/mcu/hpmicro/hpm_sdk': ['https://github.com/hpmicro/hpm_sdk',
+ '8d2af741ecc4aaa82d7ee395dc1ce25d7070c3ff',
+ 'hpmicro'],
'lib/CMSIS_5': ['https://github.com/ARM-software/CMSIS_5.git',
'2b7495b8535bdcb306dac29b9ded4cfb679d7e5c',
- 'imxrt kinetis_k32l2 kinetis_kl lpc51 lpc54 lpc55 mcx mm32 msp432e4 nrf saml2x '
+ 'kinetis_k kinetis_kl lpc54 rw61x mm32 msp432e4 nrf samd2x_l2x '
'lpc11 lpc13 lpc15 lpc17 lpc18 lpc40 lpc43 '
'stm32c0 stm32f0 stm32f1 stm32f2 stm32f3 stm32f4 stm32f7 stm32g0 stm32g4 stm32h5 '
- 'stm32h7 stm32h7rs stm32l0 stm32l1 stm32l4 stm32l5 stm32n6 stm32u0 stm32u5 stm32wb stm32wba'
- 'sam3x samd11 samd21 samd51 samd5x_e5x same5x same7x saml2x samg '
+ 'stm32h7 stm32h7rs stm32l0 stm32l1 stm32l4 stm32l5 stm32u0 stm32u5 stm32wb stm32wba '
+ 'sam3x samd11 samd21 samd2x_l2x samd51 samd5x_e5x same5x same7x samg '
'tm4c '],
'lib/CMSIS_6': ['https://github.com/ARM-software/CMSIS_6.git',
- 'b0bbb0423b278ca632cfe1474eb227961d835fd2',
- 'ra'],
+ '6f0a58d01aa9bd2feba212097f9afe7acd991d52',
+ 'imxrt kinetis_k32l ra stm32n6 lpc51 lpc55 mcx stm32c5'],
'lib/sct_neopixel': ['https://github.com/gsteiert/sct_neopixel.git',
'e73e04ca63495672d955f9268e003cffe168fcd8',
'lpc55'],
}
+# Files to remove after cloning to avoid conflicts with TinyUSB's custom versions
+deps_remove_files = {
+ 'lib/fatfs': ['source/ffconf.h'],
+}
+
# combined 2 deps
deps_all = {**deps_mandatory, **deps_optional}
@@ -302,6 +349,13 @@ def get_a_dep(d):
run_cmd(f"{git_cmd} fetch --depth 1 origin {commit}")
run_cmd(f"{git_cmd} checkout FETCH_HEAD")
+ # Remove files that conflict with TinyUSB's custom versions
+ if d in deps_remove_files:
+ for f in deps_remove_files[d]:
+ fp = p / f
+ if fp.exists():
+ fp.unlink()
+
return 0
@@ -321,18 +375,18 @@ def main():
parser.add_argument('-b', '--board', action='append', default=[], help='Boards to fetch')
parser.add_argument('-D', '--define', action='append', default=[], help='Have no effect')
parser.add_argument('-f1', '--build-flags-on', action='append', default=[], help='Have no effect')
- parser.add_argument('--print', action='store_true', help='Print commit hash only')
+ parser.add_argument('--build-name', default=None, help='Have no effect')
+ parser.add_argument('--cflag', action='append', default=[], help='Have no effect')
args = parser.parse_args()
families = args.families
boards = args.board
- print_only = args.print
status = 0
- deps = list(deps_mandatory.keys())
+ deps = []
if 'all' in families:
- deps += deps_optional.keys()
+ deps.extend(deps_optional.keys())
else:
families = list(families)
if boards is not None:
@@ -340,24 +394,16 @@ def main():
f = find_family(b)
if f is not None:
families.append(f)
-
for f in families:
for d in deps_optional:
- if d not in deps and f in deps_optional[d][2]:
+ if d not in deps and f in deps_optional[d][2].split():
deps.append(d)
+ if len(deps) == 0:
+ print('WARN: no additional dependencies found for given boards or families')
- if print_only:
- pvalue = {}
- # print only without arguments, always add CMSIS_5
- if len(families) == 0 and len(boards) == 0:
- deps.append('lib/CMSIS_5')
- for d in deps:
- commit = deps_all[d][1]
- pvalue[d] = commit
- print(pvalue)
- else:
- with Pool() as pool:
- status = sum(pool.map(get_a_dep, deps))
+ deps.extend(deps_mandatory.keys())
+ with Pool() as pool:
+ status = sum(pool.map(get_a_dep, deps))
return status