使用KEIL uVision IDE在Cortex M3上构建和运行库

时间:2015-05-25 16:22:49

标签: arm embedded crypto++ cortex-m3

我想使用Keil uVision IDE在ARM cortex M3微控制器上使用Crypto ++库。

如何使用KEIL uVision IDE在Cortex M3上构建和运行库

1 个答案:

答案 0 :(得分:0)

  

我想使用Keil uVision IDE在ARM cortex M3微控制器上使用Crypto ++库。

Crypto ++有一个关于平台交叉编译的维基页面。请参阅Crypto ++ wiki上的ARM Embedded (Bare Metal)。它使用ARM / Terry Guo的交叉编译器,因此它具有最新的处理器支持。

Fro Cortex M3,您要将-mthumb -mcpu=cortex-m3-mthumb -march=armv7-m添加到CXXFLAGS。您还需要链接armv7-m multilib。 (我不确定使用了哪个C ++运行时)。

Crypto ++ wiki上还有ARM Embedded (Command Line)。但它使用了Debian的交叉工具,有时会留下很多不足之处。

不幸的是,我对Keil uVision IDE一无所知,所以我不知道痛点在哪里。

  

如何构建和运行库

要构建库,请运行make static dynamic cryptest.exe

构建库后,除了 cryptest.exeTestVectors中的测试向量和数据外,还需要在电路板上安装TestData

您必须维护目录结构,因为测试数据和向量的路径是硬编码的。一旦电路板被加载:

+ Filesystem
|
+ --- cryptest.exe
|
+ --- TestData/
|
+ --- TestVectors/
|
...

然后你只需运行./cryptest.exe v来执行测试。

但是在10 MHz到150 MHz左右,Cortex M3将会非常痛苦:)更不用说资源限制板上3.5 MB二进制文件的内存压力....

您可以使用DataDir Patch修复硬编码路径。它由社区提供,但我认为它应该是图书馆的一部分。它导致每个发行版维护者都知道麻烦。

  

以前有人试过吗?

可能,但不是我知道的。如果您得到结果,请报告回来。我缺少一个示例平台,所以我无法将典型结果添加到维基页面。