[bsp][bl][tools] add dist function (#7278)

This commit is contained in:
Liu,Yuan 2023-05-12 12:14:55 +08:00 committed by GitHub
parent 5e4a95f54d
commit df85bdeeee
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 48 additions and 1 deletions

View File

@ -4,6 +4,7 @@ import os
ARCH ='risc-v'
CPU ='e9xx'
CROSS_TOOL ='gcc'
BSP_LIBRARY_TYPE = 'bouffalo_lab'
if os.getenv('RTT_ROOT'):
RTT_ROOT = os.getenv('RTT_ROOT')
@ -59,4 +60,11 @@ if PLATFORM == 'gcc':
DUMP_ACTION = OBJDUMP + ' -D -S $TARGET > rtt.asm\n'
POST_ACTION = OBJCPY + ' -O binary $TARGET rtthread_m0.bin\n' + SIZE + ' $TARGET \n'
POST_ACTION += 'sh combine.sh bl808 ./rtthread_m0.bin\n'
POST_ACTION += 'sh combine.sh bl808 ./rtthread_m0.bin\n'
def dist_handle(BSP_ROOT, dist_dir):
import sys
cwd_path = os.getcwd()
sys.path.append(os.path.join(os.path.dirname(BSP_ROOT), 'tools'))
from sdk_dist import dist_do_building
dist_do_building(BSP_ROOT, dist_dir)

View File

@ -0,0 +1,39 @@
import os
import sys
import shutil
cwd_path = os.getcwd()
sys.path.append(os.path.join(os.path.dirname(cwd_path), 'rt-thread', 'tools'))
# BSP dist function
def dist_do_building(BSP_ROOT, dist_dir):
from mkdist import bsp_copy_files
import rtconfig
library_path = os.path.join(os.path.dirname(BSP_ROOT), '../libraries')
print("library_path ",library_path)
library_dir = os.path.join(dist_dir, 'libraries')
print("library_dir ",library_dir)
print("=> copy bsp drivers")
bsp_copy_files(os.path.join(library_path, 'rt_drivers'), os.path.join(library_dir, 'rt_drivers'))
print("=> copy bsp CMSIS")
bsp_copy_files(os.path.join(library_path, 'bl_mcu_sdk'), os.path.join(library_dir, 'bl_mcu_sdk'))
print("=> copy bsp library")
shutil.copyfile(os.path.join(library_path, 'Kconfig'), os.path.join(library_dir, 'Kconfig'))
# change RTT_ROOT in Kconfig
if not os.path.isfile(os.path.join(dist_dir, 'Kconfig')):
return
with open(os.path.join(dist_dir, 'Kconfig'), 'r') as f:
data = f.readlines()
with open(os.path.join(dist_dir, 'Kconfig'), 'w') as f:
found = 0
for line in data:
if line.find('RTT_ROOT') != -1:
found = 1
if line.find('../../libraries') != -1 and found:
position = line.find('../../libraries')
line = line[0:position] + 'libraries"\n'
found = 0
f.write(line)