Я хочу использовать библиотеку Crypto ++ на ARM Cortex M3 микроконтроллер с использованием Keil uVision IDE.
В Crypto ++ есть страница вики на кросс-компиляции для платформы. См. ARM Embedded (Bare Metal) в вики Crypto ++. Он использует кросс-компилятор ARM/Terry Guo, поэтому он имеет самую последнюю поддержку процессора.
Fro Cortex M3, вы хотите добавить -mthumb -mcpu=cortex-m3
или -mthumb -march=armv7-m
на номер CXXFLAGS
. Вам также необходимо связать с armv7-m
multilib. (Я не уверен, что используется среда выполнения C++).
В вики Crypto ++ также есть 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 МГц до 150 МГц или около того, Cortex M3 будет весьма болезненным :) Не говоря уже о давлении памяти для 3,5 МБ двоичных на ресурс contrained борта ....
You может исправить жестко закодированные пути с помощью DataDir Patch. Он предоставлен сообществом, но я думаю, что он должен быть частью библиотеки. Это вызывает каждый помощник по дистрибутиву, который я знаю о проблемах.
Кто-нибудь пытался это раньше?
Возможно, но не то, что я знаю. Если вы получите результаты, сообщите об этом. Мне не хватает иллюстративной платформы, поэтому я не мог добавить типичные результаты на страницу вики.
Почему бы вам не попробовать, а затем спросить о любых проблемах, которые у вас есть? В противном случае это будет привлекать голоса или закрытие, поскольку это спекулятивно. – Clifford
Потому что я не знаю с чего начать.В противном случае я бы сделал это сам – user1204481
Ответ на заданный вопрос, вероятно, «да», хотя это может быть «нет». В любом случае, это иллюстрирует, насколько полезен вопрос. Основополагающим аргументом может быть что угодно: «Как импортировать внешний проект в uVision?» на "Как я могу решить <ошибка компиляции> построения Crypto ++ для Cortex-M?" to «Является ли МГц Cortex-M3 достаточно быстрым, чтобы запускать <алгоритм криптографии>?», поэтому мы не имеем представления о том, какая конкретная область компетенции имеет значение. Конкретный вопрос подотчетен; смутные ведущие вопросы, просто надеющиеся соблазнить кого-то, знакомого с диалогом, - это не то, что происходит с переполнением стека. –
Notlikethat