2323
2424SCRIPT_DIR = dirname (abspath (__file__ ))
2525MBED_OS_ROOT = abspath (path_join (SCRIPT_DIR , os .pardir , os .pardir ))
26- MUSCA_B1_BASE = path_join (MBED_OS_ROOT , 'targets' , 'TARGET_ARM_SSG' , 'TARGET_MUSCA_B1' )
2726
28- def musca_tfm_bin (t_self , non_secure_bin , secure_bin ):
27+ def musca_tfm_bin (t_self , non_secure_bin , secure_bin , target_name ):
2928
29+ MUSCA_BASE = path_join (MBED_OS_ROOT , 'targets' , 'TARGET_ARM_SSG' , ('TARGET_' + target_name ))
3030 assert os .path .isfile (secure_bin )
3131 assert os .path .isfile (non_secure_bin )
3232
3333 build_dir = dirname (non_secure_bin )
3434 tempdir = path_join (build_dir , 'temp' )
3535 if not isdir (tempdir ):
3636 os .makedirs (tempdir )
37- flash_layout = path_join (MUSCA_B1_BASE , 'partition' , 'flash_layout.h' )
38- mcuboot_bin = path_join (MUSCA_B1_BASE , 'bl2.bin' )
39- image_macros_s = path_join (MUSCA_B1_BASE , 'partition' , 'signing_layout_s.c' )
40- image_macros_ns = path_join (MUSCA_B1_BASE , 'partition' , 'signing_layout_ns.c' )
37+ flash_layout = path_join (MUSCA_BASE , 'partition' , 'flash_layout.h' )
38+ mcuboot_bin = path_join (MUSCA_BASE , 'bl2.bin' )
39+ image_macros_s = path_join (MUSCA_BASE , 'partition' , 'signing_layout_s.c' )
40+ image_macros_ns = path_join (MUSCA_BASE , 'partition' , 'signing_layout_ns.c' )
4141 s_bin_name , s_bin_ext = splitext (basename (secure_bin ))
4242 s_signed_bin = abspath (path_join (tempdir , s_bin_name + '_signed' + s_bin_ext ))
4343 ns_bin_name , ns_bin_ext = splitext (basename (non_secure_bin ))
@@ -54,7 +54,7 @@ def musca_tfm_bin(t_self, non_secure_bin, secure_bin):
5454 "-v" ,
5555 '1.2.0' ,
5656 "-k" ,
57- path_join (SCRIPT_DIR , 'musca_b1 -root-rsa-3072.pem' ),
57+ path_join (SCRIPT_DIR , ( target_name . lower () + ' -root-rsa-3072.pem') ),
5858 "--layout" ,
5959 image_macros_s ,
6060 "--public-key-format" ,
@@ -74,7 +74,11 @@ def musca_tfm_bin(t_self, non_secure_bin, secure_bin):
7474 s_signed_bin ,
7575 ]
7676
77- run_cmd (cmd , MBED_OS_ROOT )
77+ retcode = run_cmd (cmd , MBED_OS_ROOT )
78+ if retcode :
79+ raise Exception ("Unable to sign " + target_name +
80+ " secure binary, Error code: " + retcode )
81+ return
7882
7983 #2. Run wrapper to sign the non-secure mbed binary
8084 cmd = [
@@ -83,7 +87,7 @@ def musca_tfm_bin(t_self, non_secure_bin, secure_bin):
8387 "-v" ,
8488 '1.2.0' ,
8589 "-k" ,
86- path_join (SCRIPT_DIR , 'musca_b1 -root-rsa-3072_1.pem' ),
90+ path_join (SCRIPT_DIR , ( target_name . lower () + ' -root-rsa-3072_1.pem') ),
8791 "--layout" ,
8892 image_macros_ns ,
8993 "--public-key-format" ,
@@ -103,7 +107,11 @@ def musca_tfm_bin(t_self, non_secure_bin, secure_bin):
103107 ns_signed_bin ,
104108 ]
105109
106- run_cmd (cmd , MBED_OS_ROOT )
110+ retcode = run_cmd (cmd , MBED_OS_ROOT )
111+ if retcode :
112+ raise Exception ("Unable to sign " + target_name +
113+ " non-secure binary, Error code: " + retcode )
114+ return
107115
108116 #3. Concatenate signed secure TFM and non-secure mbed binaries
109117 cmd = [
@@ -119,7 +127,11 @@ def musca_tfm_bin(t_self, non_secure_bin, secure_bin):
119127 concatenated_bin ,
120128 ]
121129
122- run_cmd (cmd , MBED_OS_ROOT )
130+ retcode = run_cmd (cmd , MBED_OS_ROOT )
131+ if retcode :
132+ raise Exception ("Unable to concatenate " + target_name +
133+ " binaries, Error code: " + retcode )
134+ return
123135
124136 #4. Concatenate mcuboot and signed binary and overwrite mbed built binary file
125137 mcuboot_image_size = find_bl2_size (flash_layout )
@@ -145,7 +157,11 @@ def run_cmd(cmd, directory):
145157
146158 POPEN_INSTANCE = subprocess .Popen (
147159 cmd ,
160+ stdout = subprocess .PIPE ,
161+ stderr = subprocess .STDOUT ,
148162 cwd = directory ,
149163 )
150164
151165 POPEN_INSTANCE .communicate ()
166+ return POPEN_INSTANCE .returncode
167+
0 commit comments