3

我正在研究在 STM32F407 微控制器(基于 ARM Cortex M4)上开发支持 openSSL-FIPS 的嵌入式蓝牙应用程序的可行性。该应用程序不能在 Linux、Windows 或 Android 等通用操作系统上运行,但它可以在 CMSIS-RTX RTOS 上运行。我在 Windows 中使用 Keil 作为开发环境,内置 armc 编译器 (armcc) 进行编译。

在我的分析过程中,我发现了 OpenSSL wiki,它解释了如何构建和安装 openSSL 库:编译和安装。页面中虽然有 ARM 平台编译部分,但没有说明如何编译。

我还经历了 stackoverflow 中关于在 ARM 中交叉编译 openSSL 的一些讨论。但是所有这些讨论都是基于 ARM+Linux 的,没有一个是在 RTOS 上的。

我还浏览了以下关于使用 ARM 编译的链接

但是这里指定的编译器是 GCC。

  1. 是否有可以在上述平台中使用的库?

  2. 是否可以通过 RTOS 将 openSSL 移植到 ARM Cortex M4 平台?更具体地说,是否可以使用 CMSIS RTX 将其移植到 STM32F407 ?

  3. 如果可能的话,我应该从哪里开始,它有多复杂?

  4. 如果我在 GCC 编译器中编译 openSSL 库并在 armc 编译的应用程序中使用它,它会工作吗?(感觉不会)

  5. 我可以在嵌入式软件中使用哪些其他 SSL 库?(我听说 WolfSSL 可能是一个选择)

4

1 回答 1

6
  1. 是的,有可用的图书馆

  2. 如果设备有足够的闪存以适应编译的二进制文件,则可以将 openSSL 移植到 ARM cortex m4

    • OpenSSL 是一个非常大的库openssl-too-big 800K 在发布模式下。这通常不适用于任何 STM32F4,更不用说为您自己的应用留出空间。STM32F-数据表
  3. 您将从在 Windows 中编译 OpenSSL 并检查占用空间大小开始。执行此步骤并验证它不适合您设备上的可用闪存应该并不复杂。

  4. 它可能无法正常工作,因为它不适合设备。再次归结为尺寸问题,不是“它会起作用”,而是“它是否适合”。

  5. 其他 SSL 库:

于 2016-09-27T21:18:08.893 回答