我想使用Keil uVision IDE在ARM cortex M3微控制器上使用Crypto ++库。
如何使用KEIL uVision IDE在Cortex M3上构建和运行库
答案 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.exe
和TestVectors
中的测试向量和数据外,还需要在电路板上安装TestData
。
您必须维护目录结构,因为测试数据和向量的路径是硬编码的。一旦电路板被加载:
+ Filesystem
|
+ --- cryptest.exe
|
+ --- TestData/
|
+ --- TestVectors/
|
...
然后你只需运行./cryptest.exe v
来执行测试。
但是在10 MHz到150 MHz左右,Cortex M3将会非常痛苦:)更不用说资源限制板上3.5 MB二进制文件的内存压力....
您可以使用DataDir Patch修复硬编码路径。它由社区提供,但我认为它应该是图书馆的一部分。它导致每个发行版维护者都知道麻烦。
以前有人试过吗?
可能,但不是我知道的。如果您得到结果,请报告回来。我缺少一个示例平台,所以我无法将典型结果添加到维基页面。