From 0d61cd598c1af64da1a5cd22e7b91c8a07a167ad Mon Sep 17 00:00:00 2001 From: Klagarge Date: Tue, 31 Dec 2024 11:54:14 +0100 Subject: [PATCH] ADD minimal bootloader --- .mbedignore | 3 +- mbed-bootloader-advembsof.bin | Bin 0 -> 57472 bytes mbed-os-bootloader/.gitignore | 8 +++++ mbed-os-bootloader/.mbedignore | 17 +++++++++++ .../GCC_ARM/mbed-os-bootloader.bin | Bin 0 -> 55836 bytes mbed-os-bootloader/mbed-os.lib | 1 + mbed-os-bootloader/mbed_app.json | 28 ++++++++++++++++++ mbed_app.json | 4 ++- 8 files changed, 59 insertions(+), 2 deletions(-) create mode 100644 mbed-bootloader-advembsof.bin create mode 100644 mbed-os-bootloader/.gitignore create mode 100644 mbed-os-bootloader/.mbedignore create mode 100644 mbed-os-bootloader/BUILD/DISCO_H747I/GCC_ARM/mbed-os-bootloader.bin create mode 100644 mbed-os-bootloader/mbed-os.lib create mode 100644 mbed-os-bootloader/mbed_app.json diff --git a/.mbedignore b/.mbedignore index ef3cf8a..a4c7376 100644 --- a/.mbedignore +++ b/.mbedignore @@ -14,4 +14,5 @@ mbed-os/features/FEATURE_BOOTLOADER/* mbed-os/features/frameworks/mbed-client-cli/* mbed-os/features/frameworks/COMPONENT_FPGA_CI_TEST_SHIELD/* mbed-os/platform/randlib/* -mbed-os/storage/kvstore/* \ No newline at end of file +mbed-os/storage/kvstore/* +mbed-os-bootloader/* \ No newline at end of file diff --git a/mbed-bootloader-advembsof.bin b/mbed-bootloader-advembsof.bin new file mode 100644 index 0000000000000000000000000000000000000000..5a505d091c8e456dd1fa1349656596efbbdeaf47 GIT binary patch literal 57472 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 literal 0 HcmV?d00001 diff --git a/mbed-os-bootloader/.gitignore b/mbed-os-bootloader/.gitignore new file mode 100644 index 0000000..8641c54 --- /dev/null +++ b/mbed-os-bootloader/.gitignore @@ -0,0 +1,8 @@ +.build +.mbed +projectfiles +*.py* +mbed-os +BUILD +!BUILD/DISCO_H747I/GCC_ARM/mbed-os-bootloader.bin + diff --git a/mbed-os-bootloader/.mbedignore b/mbed-os-bootloader/.mbedignore new file mode 100644 index 0000000..c45492f --- /dev/null +++ b/mbed-os-bootloader/.mbedignore @@ -0,0 +1,17 @@ +mbed-os/drivers/device_key/* +mbed-os/drivers/source/usb/USBMSD.cpp +mbed-os/drivers/source/SFDP.cpp +mbed-os/connectivity/cellular/* +mbed-os/connectivity/drivers/* +mbed-os/connectivity/FEATURE_BLE/* +mbed-os/connectivity/libraries/* +mbed-os/connectivity/lorawan/* +mbed-os/connectivity/lwipstack/* +mbed-os/connectivity/nanostack/* +mbed-os/connectivity/netsocket/* +mbed-os/connectivity/nfc/* +mbed-os/features/FEATURE_BOOTLOADER/* +mbed-os/features/frameworks/mbed-client-cli/* +mbed-os/features/frameworks/COMPONENT_FPGA_CI_TEST_SHIELD/* +mbed-os/platform/randlib/* +mbed-os/storage/kvstore/* diff --git a/mbed-os-bootloader/BUILD/DISCO_H747I/GCC_ARM/mbed-os-bootloader.bin b/mbed-os-bootloader/BUILD/DISCO_H747I/GCC_ARM/mbed-os-bootloader.bin new file mode 100644 index 0000000000000000000000000000000000000000..9d55c02092dcca8c33f8888f826e08be9a0dc074 GIT binary patch literal 55836 zcmdSBdwf$>x<9=3-nq3+X&`{5Es!P!N`siTs1Ot|+fSI9U2?CB+oCK%?RJ2-kw-j-Qwj{k}|GsOdWz?B@KkxZ` ze(xVId{+0~>+-B;t@W&DJ+~D?bXhBYO>{n_G1G}|JkkUtD-!w1zg$(k9?kv;@6ChX zwC(?ml)IkjW+B~%G!NmB+V(dqo0Bi+Z9a!R?bk>)Q)IV~IIAXZ(#=y;Cb z+wGlBGPm+6ys>0t*@(16X=`r^N=dM$c-Y{Rm`J9IB$MP4lFbJ7B`WE@o&;&bfQd{d zjC9L@N?O)O0z}yoI;H>a45FjB9JP_G_BrvrV)X0gGTRcRQT@y=mN)UNw7H)(t4i@! z-`Hj-WTi*neiUuW-Xc2AVeqSX&dEws`b@l`@lt^3c84D&S40vp`Z;NMG`WP6Zjb6q zlgkVyPI|0I@6gXRn9>D(8B=W$G^M24!gJEEdrbKIVLvgk^@c_gn8y(v3;1mfM5iJw z_AskU#y9Ovj+~IanI>K}*ymt>#NgM?O*AKD&hPp%pJIJqKVX)rN-54NspSyG8B?3} zYrq~SsZ#WT?>lwg?>iH`8{EUAYzCQ}7h?R|+ENTH#f@!b!P9LV$#PV;X~=fFF5oFn zbIxiQCmB)lRhO(c|amTGlaEB0c8K_tAVty3kLb zp2os?9YX60>r+kbNv;>7ci8p|Hr}$FNPp~S>l6@}3 zNN@FLyBKM2zrKW#hD8}^bu?dS*3J#E7S6J%bL5sl=c;E|i*@x8W&Ox^q=n*0&qovR zHTYAoo~+dfNKf`NmWtJZ&iT(Il`RxLAY9XYiMSRz_pVl9jC9Azk?)VJlCp!@sqj@nxVQ@Wxp}f63mLOQI0G?&2B(dVb@(1S7^cau&0$> zs?=<3(_uWb4$F}lN=*YFud8c(4RsCv8eic>hBHc9ZdmBL$%*F}r|uSmS)XcmZgwUu z*dUZSk2@JlDtI%o^of$+dvKR8PvW>Kp_E(_)~Pckt=7t4FWfD(r)5c;Dk1$DyXxFz zflTfU>3FG;7p51fgrCjkou=6fqN)sC!GGDe1bF8XA+>=E>zJj^4$%a@GbVNHf->hA zr!KcuB$;1|Hvcx?Ip6c>0llb*`Bi&TXkk=!s|9@&3F+xYPJ6?wsA>vhvNc)+Ge5(Z z!Cw*=Ms>Fuon4}i?-Wz{FrXauJ?T5<`^ZPK7>uOIb+nzavwck0*fDBXD$m@a3hhbT zwSdXg@wUdtQq|6EzDs2Ih&Y_@7RLYz#~b|nd?Y-QUDQTW3=M(K8=g_MFoL~}j8yr$ z!~&lxe{mbRVPQs*k`omTjW)mJJ1%Usr=R8ATkWam(3(pV5}kq0d!M0o^}ilV|bOI-e5Ke2bl) z;$!7KB3I!lj{2WitKy$I_^v=EF}ymg*JOjz+vG_e8=l+b{Q|L;1nIj+ro6!(%m%Mj z$29zO{uaD#kty%JD^^*l;Wr4Xu%0AHw-5AK{>NkSbPBDWOg+qB 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 BM&$qi literal 0 HcmV?d00001 diff --git a/mbed-os-bootloader/mbed-os.lib b/mbed-os-bootloader/mbed-os.lib new file mode 100644 index 0000000..91bb263 --- /dev/null +++ b/mbed-os-bootloader/mbed-os.lib @@ -0,0 +1 @@ +https://github.com/ARMmbed/mbed-os.git#17dc3dc2e6e2817a8bd3df62f38583319f0e4fed \ No newline at end of file diff --git a/mbed-os-bootloader/mbed_app.json b/mbed-os-bootloader/mbed_app.json new file mode 100644 index 0000000..9dd117b --- /dev/null +++ b/mbed-os-bootloader/mbed_app.json @@ -0,0 +1,28 @@ +{ + "macros": [ + "MBED_CONF_MBED_TRACE_FEA_IPV6=0" + ], + "config": { + "main-stack-size": { + "value": 4096 + } + }, + "target_overrides": { + "*": { + "mbed-trace.enable": false, + "platform.stdio-convert-newlines": true, + "platform.stdio-baud-rate": 115200, + "platform.default-serial-baud-rate": 115200, + "platform.stdio-buffered-serial": true, + "platform.all-stats-enabled": true, + "target.printf_lib":"minimal-printf", + "platform.minimal-printf-enable-floating-point": true, + "platform.minimal-printf-set-floating-point-max-decimals": 2 + }, + "DISCO_H747I": { + "target.restrict_size": "0x20000", + "mbed-trace.enable": true, + "mbed-trace.max-level": "TRACE_LEVEL_DEBUG" + } + } + } \ No newline at end of file diff --git a/mbed_app.json b/mbed_app.json index c42f542..89235e9 100644 --- a/mbed_app.json +++ b/mbed_app.json @@ -21,7 +21,9 @@ }, "DISCO_H747I": { "mbed-trace.enable": true, - "mbed-trace.max-level": "TRACE_LEVEL_DEBUG" + "mbed-trace.max-level": "TRACE_LEVEL_DEBUG", + "target.bootloader_img":"./mbed-os-bootloader/BUILD/DISCO_H747I/GCC_ARM/mbed-os-bootloader.bin", + "target.app_offset": "0x20000" } } } \ No newline at end of file