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

Arm 使用KEIL uVision IDE在Cortex M3上构建并运行库,arm,embedded,crypto++,cortex-m3,Arm,Embedded,Crypto++,Cortex M3,我想使用Keil uVision IDE在ARM cortex M3微控制器上使用Crypto++库 如何使用KEIL uVision IDE在Cortex M3上构建和运行库 我想使用Keil uVision IDE在ARM cortex M3微控制器上使用Crypto++库 Crypto++有一个关于平台交叉编译的wiki页面。请参见Crypto++wiki上的。它使用ARM/Terry Guo的交叉编译器,因此具有最新的处理器支持 对于Cortex M3,您需要将-mthumb-mcpu=

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

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

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

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

对于Cortex M3,您需要将
-mthumb-mcpu=Cortex-M3
-mthumb-march=armv7-m
添加到
cxflags
。您还需要针对
armv7-m
multilib进行链接。(我不确定使用哪个C++运行时)。< /P> 在Crypto++维基上也有一个。但它使用了Debian的交叉工具,有时会留下很多不尽如人意的地方

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


如何构建和运行库

要构建库,请运行
makestaticdynamiccryptest.exe

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

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

+ Filesystem
|
+ --- cryptest.exe
|
+ --- TestData/
|
+ --- TestVectors/
|
...
然后您只需运行
/cryptest.exe v
即可执行测试

但在10兆赫到150兆赫左右的频率下,Cortex M3将非常痛苦:)更不用说资源受限板上3.5 MB二进制文件的内存压力了

您可以使用修复硬编码路径。它是由社区提供的,但我认为它应该是图书馆的一部分。这会给我认识的每个发行版维护人员带来麻烦


以前有人试过吗


可能吧,但我不知道。如果你得到结果,请向我汇报。我缺少一个示范性的平台,因此我无法将典型结果添加到wiki页面。

为什么不试试,然后询问您有什么问题?否则,这将吸引反对票或关闭,因为这是投机性的。因为我不知道从哪里开始。否则我会自己做的。对这个问题的回答可能是“是”,尽管可能是“否”。不管怎样,它都说明了这个问题是多么有用。潜在的推理可能是“如何将外部项目导入uVision?”到“如何解决为Cortex-M构建Crypto++的问题?”到“MHz Cortex-M3是否足够快,可以运行?”等等,因此我们不知道哪个专业领域是相关的。具体问题是可以回答的;模糊的引导性问题仅仅是希望诱使某个知识渊博的人进入对话并不是堆栈溢出的原因。@user1204481:当然,但您尝试这样做并不是不合理的。首先在uVision中创建一个通用Cortex-M3库项目,并向其中添加源代码。尝试构建它,看看会发生什么-修复问题,如果遇到问题,请提出具体问题。可能值得一看GCC构建makefile,看看这个构建是否有什么特别之处。@user1204481-您使用的是什么板?我想买一个做测试。我还需要添加在Crypto++上运行测试套件的示例