From 9458dc3c7c9fef76183c9c3f53dc81ef26794d17 Mon Sep 17 00:00:00 2001 From: Chun-Chieh Li Date: Mon, 22 May 2023 16:48:03 +0800 Subject: [PATCH] M2354: Fix debug failure in Mbed Studio In Mbed Studio, debugging, based on pyOCD, requires Mbed OS application code starting on the sector boundary. Modification list: 1. Update TF-M import assets with MCUboot header padding to sector aligned 2. Following above, change header size argument (-H) in wrapper.py command line 3. Following below, fix min-write-size (--align) to 4 (per flash_area_align()) in wrapper.py command line https://docs.mcuboot.com/design.html#image-trailer Related issue: https://github.com/ARMmbed/mbed-os/issues/15417 --- .../COMPONENT_TFM_S_FW/README.md | 1 + .../partition/flash_layout.h | 2 ++ .../partition/region_defs.h | 31 ++++++++++++++++-- .../COMPONENT_TFM_S_FW/s_veneers.o | Bin 644 -> 644 bytes .../COMPONENT_TFM_S_FW/tfm_s.axf | Bin 448472 -> 442328 bytes .../COMPONENT_TFM_S_FW/tfm_s.bin | Bin 323872 -> 314656 bytes targets/TARGET_NUVOTON/scripts/NUVOTON.py | 4 +-- 7 files changed, 33 insertions(+), 5 deletions(-) diff --git a/targets/TARGET_NUVOTON/TARGET_M2354/TARGET_TFM/TARGET_NU_M2354/COMPONENT_TFM_S_FW/README.md b/targets/TARGET_NUVOTON/TARGET_M2354/TARGET_TFM/TARGET_NU_M2354/COMPONENT_TFM_S_FW/README.md index 5b03c916e63..20196bcb4d5 100644 --- a/targets/TARGET_NUVOTON/TARGET_M2354/TARGET_TFM/TARGET_NU_M2354/COMPONENT_TFM_S_FW/README.md +++ b/targets/TARGET_NUVOTON/TARGET_M2354/TARGET_TFM/TARGET_NU_M2354/COMPONENT_TFM_S_FW/README.md @@ -136,6 +136,7 @@ Below summarize the copy paths from TF-M into Mbed: - trusted-firmware-m/cmake_build/install/outputs/NUVOTON/M2354/tfm_s.bin → tfm_s.bin - trusted-firmware-m/cmake_build/install/interface/lib/s_veneers.o → s_veneers.o - trusted-firmware-m/platform/ext/target/nuvoton/m2354/partition/flash_layout.h → partition/flash_layout.h +- trusted-firmware-m/platform/ext/target/nuvoton/m2354/partition/partition_M2354.h → partition/partition_M2354_im.h - trusted-firmware-m/platform/ext/target/nuvoton/m2354/partition/region_defs.h → partition/region_defs.h - trusted-firmware-m/cmake_build/install/image_signing/layout_files/signing_layout_s.o → partition/signing_layout_s_preprocessed.h - trusted-firmware-m/cmake_build/install/image_signing/layout_files/signing_layout_ns.o → partition/signing_layout_ns_preprocessed.h diff --git a/targets/TARGET_NUVOTON/TARGET_M2354/TARGET_TFM/TARGET_NU_M2354/COMPONENT_TFM_S_FW/partition/flash_layout.h b/targets/TARGET_NUVOTON/TARGET_M2354/TARGET_TFM/TARGET_NU_M2354/COMPONENT_TFM_S_FW/partition/flash_layout.h index 97561f51a97..582d855ee61 100644 --- a/targets/TARGET_NUVOTON/TARGET_M2354/TARGET_TFM/TARGET_NU_M2354/COMPONENT_TFM_S_FW/partition/flash_layout.h +++ b/targets/TARGET_NUVOTON/TARGET_M2354/TARGET_TFM/TARGET_NU_M2354/COMPONENT_TFM_S_FW/partition/flash_layout.h @@ -2,6 +2,8 @@ * Copyright (c) 2017-2020 Arm Limited. All rights reserved. * Copyright (c) 2020 Nuvoton Technology Corp. All rights reserved. * + * SPDX-License-Identifier: Apache-2.0 + * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at diff --git a/targets/TARGET_NUVOTON/TARGET_M2354/TARGET_TFM/TARGET_NU_M2354/COMPONENT_TFM_S_FW/partition/region_defs.h b/targets/TARGET_NUVOTON/TARGET_M2354/TARGET_TFM/TARGET_NU_M2354/COMPONENT_TFM_S_FW/partition/region_defs.h index a1441a8dc22..704e73e7485 100644 --- a/targets/TARGET_NUVOTON/TARGET_M2354/TARGET_TFM/TARGET_NU_M2354/COMPONENT_TFM_S_FW/partition/region_defs.h +++ b/targets/TARGET_NUVOTON/TARGET_M2354/TARGET_TFM/TARGET_NU_M2354/COMPONENT_TFM_S_FW/partition/region_defs.h @@ -2,6 +2,8 @@ * Copyright (c) 2017-2020 Arm Limited. All rights reserved. * Copyright (c) 2020 Nuvoton Technology Corp. All rights reserved. * + * SPDX-License-Identifier: Apache-2.0 + * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at @@ -69,12 +71,35 @@ * by the bootloader. */ #ifdef BL2 -#define BL2_HEADER_SIZE (0x400) /* 1 KB */ -#define BL2_TRAILER_SIZE (0x800) /* 2 KB */ +#define BL2_HEADER_SIZE (0x1000) /* 4 KB */ +/* Evaluate image trailer size for 'SWAP' upgrade strategy + * + * Check the link below for necessary trailer size: + * https://www.mcuboot.com/documentation/design/ + * + * With the formula: + * Swap status (BOOT_MAX_IMG_SECTORS * min-write-size * 3) + * + * Where for the platform: + * BOOT_MAX_IMG_SECTORS = 512 (= 1MiB / 2KiB) + * min-write-size = 4 bytes (per flash_area_align()) + * Swap status = 512 * 4 * 3 = 6KiB + * + * 6KiB plus other fields for image trailer plus TLV, we reserve 8KiB in total. + * + * Notes for above estimation: + * 1. In image signing such as bl2/ext/mcuboot/CMakeLists.txt, `--align` must fix to 4 and `--max-sectors` must specify as 512 to catch trailer size overrun error. + * 2. 2KiB is taken from smaller of internal/external Flash's sector sizes. + * 3. Continuing above, SDH Flash's sector size should have adapted to larger from 512 bytes. + * 4. BL2_TRAILER_SIZE must include TLV area, though not mentioned. + * 5. For consistency, BL2_TRAILER_SIZE doesn't change across 'OVERWRITE_ONLY' and "SWAP" upgrade strategies. + * 6. For consistency, (BL2_HEADER_SIZE + BL2_TRAILER_SIZE) doesn't change across w/ and w/o BL2. + */ +#define BL2_TRAILER_SIZE (0x2000) /* 8 KB */ #else /* No header if no bootloader, but keep IMAGE_CODE_SIZE the same */ #define BL2_HEADER_SIZE (0x0) -#define BL2_TRAILER_SIZE (0x800) +#define BL2_TRAILER_SIZE (0x3000) #endif /* BL2 */ #define IMAGE_S_CODE_SIZE (FLASH_S_PARTITION_SIZE - BL2_HEADER_SIZE - BL2_TRAILER_SIZE) diff --git a/targets/TARGET_NUVOTON/TARGET_M2354/TARGET_TFM/TARGET_NU_M2354/COMPONENT_TFM_S_FW/s_veneers.o b/targets/TARGET_NUVOTON/TARGET_M2354/TARGET_TFM/TARGET_NU_M2354/COMPONENT_TFM_S_FW/s_veneers.o index c963835056bf7e9b24239f77a26747c901081ffe..da13cd5e8fb89260ccc82530b8d73c0017a7b50e 100644 GIT binary patch delta 157 zcmZo+ZDF0@S$~I(frEj8L5Shwe)+$B-o4_hX delta 157 zcmZo+ZDF0@S^tHNfrEj8L5Shwe diff --git a/targets/TARGET_NUVOTON/TARGET_M2354/TARGET_TFM/TARGET_NU_M2354/COMPONENT_TFM_S_FW/tfm_s.axf b/targets/TARGET_NUVOTON/TARGET_M2354/TARGET_TFM/TARGET_NU_M2354/COMPONENT_TFM_S_FW/tfm_s.axf index c623aedfdb20b53dfc87fbe539dad595c80e1dea..0b98be608fd75b1fdbae4180ed0b936dde97030d 100644 GIT binary patch delta 74208 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

a@(n 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 B1_S^A delta 74195 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 Lxc`_p_uu~m0852O diff --git a/targets/TARGET_NUVOTON/TARGET_M2354/TARGET_TFM/TARGET_NU_M2354/COMPONENT_TFM_S_FW/tfm_s.bin b/targets/TARGET_NUVOTON/TARGET_M2354/TARGET_TFM/TARGET_NU_M2354/COMPONENT_TFM_S_FW/tfm_s.bin index 321ac85e7557a2da23610ac9996343b0d8e29788..9bdac860b6bde4dd568e3781925eae75a5e064ed 100644 GIT binary patch delta 11167 zcmb`Ndw3K@*2b%=dvYTa5<*B6gn@7g%WWXIunIB+4D5;+R{TH~LlVLg1a&lAf?Q@m z5c~iQbf7_^go_%K%isV57}!J>MF|*`U|fQPn*)k5^1ap7p$p`X&*#~Bo|kj# zSEs5@RoC=XHz_z5UGQdfQxZaK-$YR|s2L@I1Idj!@G0*$V$j)Qy7v0gZ#k zLldEa&}8TZC>xpq&4OIeE6^fn3G@b}LK?IdS_f@}-h)1XwnJXX2Yu9xy2!ua9E3iF zjzC{PUqN3(r=T;?dFT@K19T1g5xN2W3N=7-G*2)Xwh7b}iZ)m*Y)hyO6c2TRxfMHn>(;%Zf1okoL3Ft{^6!Z^h95f!92u+3>+r41;*|0O9S&$2Q z1zH3R>}Cwm*x+uv1VInH&O212)sxaFD@d`SifHdcbi8yQu@FKfTNN&(?Ha245u1Zu z)NAT)xrY?1ekUhN8S4E?8!1tJNa+-lp^!)x%VN+}g4vm&PDi~{U8OwiGV0TW`bsbx z%IN~D26LdCA+VcZZj{FhEM&Z*50WV`B8?j-Vc<40Ar~E#xPw?F|EMXJm}k(2<>+L{ z$T0!ThT@9?>kZ~W`6Yo31#_dEEig8oVvILol=`tHzOylcLx{>TMi?lt-0^BeP#ftP zwR=#P2}YX&p}xpyvtD4OU=EZw2&@v!jq*l;)qt_(-y|?4Q$2w3T42-ms9z6*;gc z$vYfv4;nDzR5 zz0zC`kdfZ$LzV=~f$$VndEzIwOUZ$}l(vMkck35{eFfGvMSbM&lVVWE zYbNS7m8hvm@fQ94xFiQ`>1yuCw`7E<_NQXxz|9nO=u#i+Gt zkl~#^x-ES$U>}c8WnycRb^{&qQejc z1v?M+9k9z#x6YKLL(jCMWDWFJ8|t9z&@*i**$Y|0qdHJB4f+iJU*aj*4E+qHx2I%3 zG_MUM7om9%P;vz-Z$-(2u&$?DQ&IwTL*>FhQ4-Sy13+7$L(oyE9J&adhW0~Opk2_< z(9>NJ3q^IKWCGN!I|hehdY}$k4$ZNn+za;~*hA23Jt>)l^3h(j3Au&YJ<4X^QQbYZ zPgF8;h89Abp{>c@`mueafz{ZQgvmnW354{%%zXB-5SmGdqSptb97>ei_3W!3N-TO= zou1kYo6%0aTT)BHuu)(1Iww6EBnPUU>Yf)qj~H6JOy4nN$iP}6dvl$=Wo3A6R<`$W z_ArTiant5=PknoOg^tvhXE@+&nXVp~k-(g(>i09+!70r4M&@K8IzVJKGN-wkJ2MZs zF58>%@=xeEP)JnU+?X~2`yjS&;!^4+ZFr!-t}b5sECO~Ws)40xaHr@VhIjX;H<~`Un34`qXXr0be`pzW9C{pj3QC8puTk`Z9hV)fkD@h*_%(AFiCtb|JJs|EH6-EbF0n1iSL|??;!Ld^bFJ!TBsuL6&PYU@<#bl zXhg0z^_#C~RAex|CBcym4NW79^)b|>%6JR+o~>Ns`V1*TanMkxAJiM_3gtmdp#{*( zkQ4eRlnRZ62=vQgO8ihY^ewde56bmN8~m5!UF5_c%=o{Xfa{Mh*?%*E5DTtheyke! zw#$9hjkjEO+r^0^s10*)>s22*^HL8-?Nr=9amK15|B~Y4oss*ClktU?i=oI}kL_>- z21l`&k833fao$sBYGn&{gGa(hgsJh!iZr28BsYn#Ej^$zP$A z7|C`xRHEn&xukUk25Z81hV z6Dm#c1;$I!?W8PU*sId426Y*FccnIA_r0Lt2TmC(=QPl5aJ_EgT+T@D~o-X<=8TXz5q2^;KyAOzKtXVQjoNuSydwbqcw^P7At*T~p`l zeoYDvl7933`DbaJ1@`1G7|-$>a{oT?{D=|ODU#aA)O)j z!G;F+wT6bF@YCykFE>b!b&%?PpR}i61i`NALYGLe?YhzPR1UO%Nei*lPR#N3veQ#k zYS1DQDUS6;*}krc)Pi5_(rm4FANn*70oht^9~KN}UmyCQ9#q?h#zx42%9nlN$#fkK z#+5UD+lJ8X=*gG*HyUigkD+hk6ZEQL_2c3|agfdL%NR*#1iL1K={FIg+g8sjq+TakAq2-R#3L3s%|c9-YdV z1*_YIy2cNi1)D_EAYOO#t^wI31|Yl`agN{h=~75AyQ!n&g}JH!4DZ3P5 zm<6jFeUEllOoG)#-lL8^J+r#as3R`;?9(`lNX&v&*4#B9n}vf-8g;$z(J7n5#P?+~ z3K|IYgjzz;P!s6K%`!O;u{iOw+!hkG4xH&VXeNun)2^!=4%2>UD}!j|n4++Q7g3&5 z2+QR#ESqQ<5@LDhp`JZ}j0R^57lLvqY$xCv;9{+ zMd?GVaJC>I0(LAan!?&pW-E08wj*o}2JQswL45-3)aSH^#?f^y{Emc>R{GP@aQOJj z5jPet6@D;jsry;*WfH3|Xb${v(n9y=!w(|&>;6*sIO^i}oREC@O-OUye;2+)qV+B1 zfgeVi>Ha?Wq2vLyz+nGI!Ae?_V)#ek6KzBWZEnTQ8bDtjk5hX+jXq}0HjzDBJGP#- zu$E0VnO|G}EREKxJk(;HW@7s^t$R9+6_InAHaz1_z+kPkVPt%ThXl(d&p)alN zWDMa*rxp=AIZn&C6MHx=-hLZ9Z7*GkXXd|GTDxecE!I6D_G%ed2R#uT`xhynMm9~Bs z7AS2J27T4Uj#stUC!?`|3SQN&?nPq(5v}KJG%m}+dMz>=r*Z5@pCT^iIC3(E5~6L3 z^`xxA^r~iS!&&Nc%sw4+ctQdyn4>2oMv=MN0Zh<3*KC+JmoI~Wisx$e&)ykjb7`%o z0O79LxR!1g&r3j6E}oaL$__VALO^65Phy_gSK2(Dgn)|Y@gxLfo6nP&Z#Hz#=Sc{t zYQCOC_$y|VLyKY;u>dP8;sPD7+K2TPg2@7&p0F>{7U;Qz3&_Uzg?$Pd3){uL(3doY z_OWW^b7*vHar?2mms90AG2f$VS6{}8t~QZXmys1Zp3&^gOtioifW@0jH zg-9K*nsq0&Ya_JA;CwNdVLe!&c5VI2#^ATaV20nrfKr5ixykJ-c)BZ02Ie*fYhp0Ndayw4 z+VR`L!bS3!*t$mOV-25xfb4Jj&ds3*qr%toF!n?FlNPm>Mn^HX>qZj~*46`S_FSr1 z#|nI^z?TYq(`{}E7x0POSh3a!T+w>wH+J7@lR0c}fe#aSCg;Vu*h~V>6T-I${NDl( z-(Ys%UMsmhY(IgIYa6!>g`=LviZ=eAXtv4AUu@Sg-8uFc!f zIBfg(&2;(+e5AmqaPC3(R$323Pi zwn<<`g}&(;eM7cxD0p;_kA^}x$R41TT+KA0~ikmH@pTAX`yB7TmsB)|JcK)5H)i!nrYZ1{; znB-W4%@$bxHr|_nD!2K%zeQEW>NO`2x09_|taX=(Dt2jeH)1;qC{DYMqms4nZZm2$ zM>zso&CwnKRd94uKylh}c0BCs6Z_Ipj(}G4s67Iz&{0I+okGK%d@*tawtAsAm z-waFG&)HCcWr1NUSOrwLpZ6x9YNKVy0im}8MsEVk0%N@isL%)t`ABH`k{soOlIcPHHL4H^lkmn#jtP9A0 zkRR6nZ8o%P^Y-Fir61M>?BrN~f)KEWWBmz2zcd3pjW{!-5+{3~-5H{T`>JW5&x zT=kW2!#)~p?ODk~n_51^V7ZIp1rKe10bi z`GG~Xh)DUt3|nomDuE@`Xs;he(;72uPYrKMu9$4-73~-sK|mE(c$i0+(#=Y(HB0xj z*>dq|E%gX~9t9MqwPi!5eQQP)>L|i5puT7L)X$hvhtKFkS|h7WHd@=kIx7%RwT>d} zXU(XbvwVdF6mpK|UnMMe!g;F3;`?reO#TtC+*&!vYFNeQActTrb~ma0(bukujt^~roxe_80jr{ITXeSu zK08frfZYytVDBc249MQSF|jQ^8vg;o-bJ$abWH4hHz58D%B ztIrslP=DBA5L^9!z_KpVVJFpU+t9QFMqmq>2>T>NJ77@_HVbwwWAV$QT11r9;XkOL z0?1LPHLIbCF1WD`G8q7MmK3sIPa3`9^9Fnk+6p~@dNzJPBR&-6#}R+}uK1ZKPcq`! zlKk0-?}_-kKdk?U#0G5AZ1U3(TwX7e4hXmme-|_ldJY-|4S_D!`|4}x!_+lIA+-bk zf67Z%$g7Uu$KH!I_BmVV|3kEAeEMLs4;nd0+jot2>NW=d{{;OR>IjA1r6iPDeLtw< z7%jq2--y8)+HmKH48x{XuFUTD8x`_ND0rAyjLKkXETYdsQbjz9fq>!%}vOYo-| zE3eT->DQ?*{koifN-Op&%Gi<{!}hu^yDlHN@zMcqm+H3UMv~4;ZVbMozT`$BSoI|wx<#w{w|J_Z={og0>2cm8;^hanoG!hyG zb%n-2e}cwClc1@P7kUet1I>dLLOR5tWzY&}HS`x~9kdbhLjmZoVbn`@!}%QA4}Ags z13C(wgib?WL+7B2(7&N;(D%@7=x692q=t(DhQro^YC~}*OMqf!ncWw0Hj+*DP#zcU@F)VrY(LKSBX4y5xOs=E-Un;+D3 z`d0M`rI!A!nyS2{*Vh^=E%eS>i};r`;^477#zu$&^XW_aMAT>NOSNabW__kqUk&C& zIZI-fz}zU0kk}7k1t^b{Sj1qA51nL7j3~p0D`1UPLN0Wmq#%q}il3fti+=@e_!vDL znPW@=bD}s_VjaNTD36m^Z?FQC$4iX&rpdteKT(T z!S-*}QA4DTe`2qB;c6(_p=2kac0$MKQ#2Lw*e*f8sbV?pOU`t zUxb|wy9Vq#sLkV)WI?agrR06+cXdz)U58$Yr(_#s2al~s$s5oC_)jNLvKG1tWhGLw z6Pg}J$pvV7EG1W<;|@xmg!R7s7$tk4HmID{h?4lm=m7cz+6(<1Iu2cczJhi_SD-D> zP3UDOVxib1N?wK9G(qQ3d@|~wMbNaSC^yIT2X-&?b~8$HQT}^#T8sRM+4bPFudi<% z)-kp-#thAZ)PHfr zQPwABw8v(2rTN!q?1{ogZRhvo_6So$mt1<;pAN?K3N3K+eL;G;L!_I((9=OhcuuOn zVtgM(c!_V!5T3q#VwHjPDU;lA)<321nv}ww4*I_)HGxx_>UZSj@MzLacjVR43nwo| z;ZCYQWy%enxYVsX-;8e@a;bdZB<6T}^)vkjIlNTflb8L2-puDo4t3X$d3jH+fjpbP zbwN=rlrjhE74vw%aBj?-9v6x*Ha%}0o2+K`y;b7T=guFEfKSKkx8`TUxinrMx*!A2 zvGMwj1@+-*-SsaQ%;Zj*KH}Zh-07je_wH-l>88_#bFj;aK7ZlH#-SbjEYzCiEJ%C0 zs%NMs2_+>mub!u`zh|gCNgrC+O67KL;WOO&_Z2>$q=x!Xf5hf7xFX~eed5++HS{Ub zi?`xZF)h`9YwJiQF_hVUT`p2lEPRBX7J0OPs35I8r0HYJda9vgMBiR^QK|8-+IBHo z4c$oA=kJ?}Gc#F_+P_u}-D%?Ay8m|VC-W(32DOBqhMt8MKu4gy(2GzOWS>UK>#&od z>G}FMCzHJ(i=a=ulq`XLA6f%__a-tx@z9Sb+hF(3r9^of40;y&I~4g2wlDMsv<5m3 z+2-Nof?kD|KzpH^P>=a2Lwlg(&;_VT`~p-!Z$N9HmhWN;&|WBMA%?n8|EQ`}{TpG# zc{9wob`$e@orx=T!3|CScU2SHNJ^X&^v6ymx15P{5E=`;0=0u?&B3^5ql;M>H_APr z0Wr;gHCEgWY_xZ~cv+KzIg4?V3q*(SWv)$_bNF+?a4>J4>)IzX+V#n60cCNu@| zK>rP8K!YFx{j`IUAan^j18x0{^8VHa|KWHqIrbYz{GS~FcIAII;cv?qVZ$*juBG2P z)2d$e{Yx&t?BaD4=bJ?@GAp$WKt0@sk;N^-Ktv9r7s_*H-!2B=0?;{KIVU-!5g0h6exapr{J$i6@n}8o&-6p!_ugw(d~n z>qzD0z^#!=ToYwjAZoTUHAWf1W-nG+C?f(J7AuXlq@^mk4)tIvxd~-Kv!El;vqdU7 z%K}%6l+$+QO5or}O5><{BQ@OMwBBl7t!;_K(@RggQyJ~LeX(+6fNoL-N7}MAGBZ1n zv0Z7^*juHN^UG0&4ndzn#ZVurIJ>{EkynnZBxk)wepm+v>w@Y)WotCDu2LnA?HVcE zrja023HhLOzeZLZREg&cln-je4eNkv;JXn2Eb3h6@YMK?M!c8tPbriQl^|#f2Gsg} zjZ_z*0aOS69oX|wu@0f*y@=@o>xS~7OsG3_2LnHjIu`~|u^AJB9Pop%mC#%a+&2ac zazTY-v~I)$CmpK9s<@}Y&&P8yw_wJ19To-1p6K=NSn9;AN#L>vKhkRj#m% zD@qIX%6+(Az+D_(6|f15x~jw}*I1*g%JVQ8SCwb5@&0^O8D$GlpiW*66O15D)itXg>52^cnQ+^}z4%Dh-tQkVaZU1)tx$ zS8(m#z25M%LV+pwloy&Qp}@YT^dDicOIy)-3T%@$^c+<~P1~~w7j40vKzkQGO_lFi zOe)1={f^W?>r`sPUHecf>(G(DjE8_!R@jjT!`a@EK4}DnI?{v~HB{X>5Z#lmz=Lu1 z(}4}W=tg7;Wc;3n+vp7~FseVjs@c!u;6RCx^L${$AUY}BI~>foh!Ddz9HEis5rhVc!$%}lF$-R| z1$Fm-d=`8XwZlZ+4-a+7C-FSO%Ms`PRZg!)@D0FN<5|C|)JO_u!Pmdyp``p!L}3=Z zZpb6r*)a)T=XgXNe|zS2Yf(qM@cHllEF72xue|(FhkO=pK55i-ctlb@hf&K_G8pO# zwSyW!aZoMj`wvud4&rh0Z;>-1b_F=s+t6elgSTDpaX4H%p-(tOD|e>GAH0Z`r4c@s z3RphTN(_jPdok+y3&;>~zHkvJN5US0je;!%e-1Ve<>z6$pzMYvm|QKGrr>=4UCPut z5<8sr2#A3lhKky-PL%mdori4>dl?pYyU@ZvraK^huwOa0*Elp_UL zxD5E=q=Dh*z*k9vv7mYIqe)%Ep8-FN)HnS3@bRdN`#B-S@N1DehW`UpG?68j}*mEu9%4Kb{9z>p8)^Egv$d}7DYvq$2^Eirm(Bq9z+valyDNI6T2G_a9UqORE@OU z5w-kQc*FGN4ZwM8X2o=81E%rKT}U3xpp~Ys{dWrqbWYJ5lbWN9vF1ko;&{Fo?BBYbhOf#%lVxOAq zki^cL?2g3hu)yI()T_FdS=|Ggqy8-5^0+(BY}OqMON ze3LDf*!mAx%u>uuLe*y24T(iB7hN=6ZgtzmWP>F3+H$s>r;{djXqjkwUSf9yv)7R( z*IG=@*g4%LK1^^o!_`2-^R4ih4<){%I53gXg=+LlF;f0eGK_6n$j|@-vEY1Mb_rLn3bg%z z>YDv8*3=S9`J-M!^jZs5v6V~so?VUB5>EVB48POIR_G9umQW0tWBQ<6~C$L!73 z52D0%X0~-wHk0K^tZ1FcCZQ@3X75xgHDv?X{T0fSc#+_qRXETRt`e9}QO1d4=Em;o zBu#yY#bfd$UbHswuhsM~ntg*cl1m%d@=`3Q&qAfF9S*3yLPD1e6ce$@ib~leR;0JY za=_N2sf0>5v3?&vh%T8eBQ{IfHk;WbmIKDKNvKqW*&{YeP1#DmC3{OKN1(Y9Dix?g zLYD-Jkmi{p=Gj|9IljR5kLe1{zQyX&x5aqju%`zs=3%jX&lF0?Cs3t?f(D9llvxd3 zWqj%hb_sdP#8bS4d}ZQ|KtjPX@kX#s%C$}8l8|Sc(J)#XevnF%D^tu0UYMCK}LOyF`BeVo_uI^38|y%FnDA!j5djNx`3H?fWe3 z+%F#PD=g%$5YMI(Dyb09rV=6t#IxxEt6}B=@o+Dp@&n>=RYJ~#;&Jt$)v(~87{qQ1 zxp#{}NT_7D7=(mKxfn#b)iASM3_?QX*kd&;*dyM2BviA<7+18kjBa+_ zhh;3`F9i}V5!iUM_}t2wDHh#$vygDPbu6MK>||LyxAA82H!Dejz{Z<}glhyg-YoW7 z(eAxs;UrYDS1g=_$Ud=f(oV?SCl*dZ<@>}c?YGhw>=&yfp_=`HRoiK}yRZRjUi_(*840wjQn;9Rh>1$>^^BiKd|ZB_^~;F)8~lQdhQXH@dZXF zp+pwDou6nGcq+;KrxjXi@tB~*I~^6vaMTK|I4TCvzciLjMv13I%gobOSgFZ^66<7ak-B!rS618*))gJpE0NG8)5o5} zXRfR>v{xYe5M2`2^1S@PTO(sG;+tDTHz|VEoNlrg*5)c8p^JegHFRWT(+lEz;(M?< z+9o00`|$a5=_=TbP&58Pu$L^F_oIppFugTv^UfBEEJ5Ub$x zSHFuU<6j=H!{=X0$+seof2E9q&;Qd=-!5igPuLFu`KZ%PHWc-fC11lmu!kU?@RZ5EfxQCpgg==~MdKKVCu{)A+wx=c#08e|Z`$BV zbI{4K?I6DTobd@g3)=_ctN%w>o+1l2_gl6BO`D+yzL2S~10mWBi)yl|u**10UKEQj zph5hF3MzrzLH5{Xn(Bp{@V!c&hg#mmr|BDfBI36YK7&4i9!EXzzl#|kiE>}WfAvuO zWR!Ewc%JDgGrk?-AO7+Do#h66(tPr7AozGlCCw1<9sDiObm(W1=XJ)wKY%@?J+n}B2+2$ZkR!*}MLE0kfhDHWKb#7=ZDM$x| z@4^4gSaOce$+}JhS=ZI!rvskrls0AMhcs>2uG@Wfd%yF3x8wG>9m38x?5^8s2H$nN Y`vdj6Zg(=vBh2_2W_;V-4h($ diff --git a/targets/TARGET_NUVOTON/scripts/NUVOTON.py b/targets/TARGET_NUVOTON/scripts/NUVOTON.py index e5b080671d1..5fd79845445 100644 --- a/targets/TARGET_NUVOTON/scripts/NUVOTON.py +++ b/targets/TARGET_NUVOTON/scripts/NUVOTON.py @@ -107,14 +107,14 @@ def tfm_sign_image(tfm_import_path, signing_key, signing_key_1, non_secure_bin): "--public-key-format", 'full', "--align", - '1', + '4', # Reasons for removing padding and boot magic option "--pad": # 1. PSA FWU API psa_fwu_install() will be responsible for writing boot magic to enable upgradeable. # 2. The image size gets smaller instead of slot size. #"--pad", "--pad-header", "-H", - '0x400', + '0x1000', "--overwrite-only", "-s", 'auto', # Or modified_timestamp