)
Zephyr RTOS安全基础:加密算法库(mbedTLS)上周调试一个工业网关的OTA升级模块,设备上报固件哈希时总是校验失败。我盯着串口日志看了半小时,发现mbedTLS的SHA256计算结果和PC端对不上——后来才意识到,Zephyr的mbedTLS默认配置把某些算法裁剪掉了。这种坑,踩一次就记住了。为什么Zephyr选mbedTLS而不是OpenSSL嵌入式场景下,OpenSSL那套动辄几MB的库体积是灾难。mbedTLS(现在叫Mbed TLS,但老工程师还是习惯叫mbedTLS)专为资源受限设备设计,代码量可以裁剪到几十KB。Zephyr把它作为默认加密后端,不是因为它功能最全,而是因为它能按需“拆零件”——你只需要AES-128-CBC,就别把RSA和ECDSA的代码编译进来。Zephyr的mbedTLS集成在modules/crypto/mbedtls目录下,通过Kconfig控制编译粒度。别直接改mbedTLS源码,那是自找麻烦。所有配置都在prj.conf里搞定。最小化配置:从零跑通一个SHA256先看一个最简配置,验证mbedTLS是否正常加载:// prj.conf 里必须打开这几项CONFIG_MBEDTLS