工具与软件:
我知道引导加载程序(在 SDK 示例中)使用的是 TI 版本的 MCUBOOT。 与 MCUBOOT 的宣传版本相比、它使用 TI 加密库。
但是、加密部分不是开源且不可配置的。
我对 SDK 进行了一点更改、只需用 uECC (micro-ECC)替换公钥验证。 我进一步优化了 uECC 的构建选项,删除了未使用的签名类型(签名方法,我们只使用 secp256r1,又名)。 我发现引导加载程序的大小 可以减少3784字节 . 我正在思考的问题、可能原因如下:
- uECC 的 ECC 签名验证效率更高。
- TI 当前库具有多种加密支持(例如 RSA)、并且/或者针对 ECC 和 RSA 的不同位支持。 由于我们根本不使用其他加密套件、因此我们的优势是使用自定义 uECC
因此、如果出现以下情况、就需要考虑这一点:
- TI 能否提供相关源代码和相应的构建脚本(makefile 等) 具有进一步构建选项来减小加密库的大小?
- 通过设置不同的标志、可能不支持某些加密、因此可以节省大小。
- 如果未提供开源、TI 能否提供多个仅支持特定(/w 组合)加密套件的库?
- 例如、 bimsupport-ecc256.a、 bimsupport-rsapss2048.a、...