1234567891011121314151617181920212223242526272829303132333435363738 |
- #! /usr/bin/env python3
- import os
- import sys
- import shutil
- # get the path of current file
- cmd = os.path.split(os.path.realpath(__file__))[0]
- if not os.path.exists(os.path.join(cmd, '../packages/raspberrypi-pico-sdk-latest')):
- print('Error: raspberrypi-pico-sdk not found, please run "pkgs --update" first')
- exit(1)
- if os.path.exists(os.path.join(cmd, 'build')):
- shutil.rmtree(os.path.join(cmd, 'build'))
- os.mkdir(os.path.join(cmd, 'build'))
- os.chdir(os.path.join(cmd, 'build'))
- # run cmake
- os.system('cmake ' + os.path.join(cmd, '../packages/raspberrypi-pico-sdk-latest'))
- os.system('make ELF2UF2Build bs2_default_padded_checksummed_asm')
- # copy header files
- shutil.copytree(os.path.join(cmd, 'build', 'generated'), os.path.join(cmd, 'generated'), dirs_exist_ok = True)
- # copy the generated files to the destination
- if "linux" in sys.platform:
- shutil.copyfile(os.path.join(cmd, 'build', 'elf2uf2', 'elf2uf2'), os.path.join(cmd, 'elf2uf2'))
- if "win32" in sys.platform:
- shutil.copyfile(os.path.join(cmd, 'build', 'elf2uf2', 'elf2uf2.exe'), os.path.join(cmd, 'elf2uf2.exe'))
- # copy bs2_default_padded_checksummed_asm
- shutil.copyfile(os.path.join(cmd, 'build', 'src', 'rp2_common', 'boot_stage2', 'bs2_default_padded_checksummed.S'), \
- os.path.join(cmd, 'generated', 'bs2_default_padded_checksummed.S'))
- # clean up
- shutil.rmtree(os.path.join(cmd, 'build'))
|