реклама на сайте
подробности

 
 
> Портирование кода с ПК на ARM926
Harvester
сообщение Oct 5 2014, 05:53
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 338
Регистрация: 1-02-06
Из: Королев, М.О.
Пользователь №: 13 846



Добрый день.
Имеется библиотека (криптография) которая писалась и отлаживалась на ПК в Visual C++. Нужно перенести получившийся код на процессор ARM926EJ-S. На что нужно (и можно) обратить внимание?
К сожалению, тупо вставить, ничего не меняя, не получилось - код компилируется, но система после запуска вылетает в Fatal Error (конкретное исключение вроде бы MisAligned, но не уверен). Ну а поскольку в коде так и так придется ковыряться, хотелось бы по максимуму ускорить его выполнение.


--------------------
-Да как так-то?/-Да как-то так/-Ну так-то да
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
AlexandrY
сообщение Oct 5 2014, 09:08
Сообщение #2


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(Harvester @ Oct 5 2014, 08:53) *
На что нужно (и можно) обратить внимание?


Если есть стабильное исключение, то установить где оно происходит с помощью JTAG дело пяти минут.
Обратите внимание на JTAG wink.gif
Go to the top of the page
 
+Quote Post
jcxz
сообщение Oct 5 2014, 15:34
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(AlexandrY @ Oct 5 2014, 15:08) *
Если есть стабильное исключение, то установить где оно происходит с помощью JTAG дело пяти минут.

И??... Установили что оно происходит к примеру в диапазоне адресов: 0x00000000...0xFFFFFFFF (каждый раз - в новом месте). Что дальше?
Как догадаться, что оно происходит к примеру: из-за переполнения/разрушения стека, после которого происходит POP {PC} в случайный адрес,
далее несколько тыс. команд CPU бродит по случайным адресам, пока не натыкается на нечто, вызывающее это исключение? laughing.gif

Хотя с определённой долей вероятности можно предположить, что у ТС всё проще. И раз код писали люди, не понимающие чем грозит *(int *)0x00000001
на CPU типа ARM9, то возможно что адрес исключения укажет на одну из точек бага.
Только начинать всё равно нужно с изучения мануала на CPU.

Цитата(kovigor @ Oct 5 2014, 16:33) *
Не забудьте включить MMU, Instruction cache и Data cache, иначе выйдет не криптография, а сплошные тормоза.

Не очень понятно, как MMU повлияет на быстродействие...
Раскройте секрет. sm.gif

Цитата(Harvester @ Oct 5 2014, 20:23) *
Само устройство - 3G-модем. Соответственно, объем Firmware очень большой (исходников под 2 гига), само ПО - многоуровневое и многоступенчатое sm.gif, поэтому в "потроха" процессора я лезть не могу и не хочу.

Странный вывод.... wacko.gif
Т.е. - если-бы ПО было простое - полезли-бы? Вы считаете, что сложность внутреннего устройства CPU увеличивается при усложнении ПО на нём выполняющегося???
Т.е. - в простом ПО типа HelloWorld в CPU имеется скажем всего 4 РОН, но при увеличении размера кода до 1гига - кол-во регистров может увеличиться до 256??? biggrin.gif
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Harvester   Портирование кода с ПК на ARM926   Oct 5 2014, 05:53
- - Виктория   Для ARM используется gcc?   Oct 5 2014, 08:32
- - jcxz   Цитата(Harvester @ Oct 5 2014, 11:53) Име...   Oct 5 2014, 08:44
- - Виктория   Размерности по типам данных в обоих компиляторах с...   Oct 5 2014, 09:07
|- - SII   Цитата(jcxz @ Oct 5 2014, 19:34) Не очень...   Oct 6 2014, 15:07
|- - jcxz   Цитата(SII @ Oct 6 2014, 21:07) Причина в...   Oct 6 2014, 17:11
- - kovigor   Цитата(Harvester @ Oct 5 2014, 08:53) ......   Oct 5 2014, 10:33
- - Lagman   Вангую, на 100% это все крутится под линукс.   Oct 5 2014, 11:13
|- - AlexandrY   Цитата(Lagman @ Oct 5 2014, 14:13) Вангую...   Oct 5 2014, 12:04
|- - Harvester   Цитата(AlexandrY @ Oct 5 2014, 16:04) Кто...   Oct 5 2014, 14:23
|- - AlexandrY   Цитата(Harvester @ Oct 5 2014, 17:23) На ...   Oct 5 2014, 17:44
|- - Harvester   Цитата(AlexandrY @ Oct 5 2014, 21:44) Да,...   Oct 6 2014, 10:04
|- - AlexandrY   Цитата(Harvester @ Oct 6 2014, 13:04) Ну,...   Oct 6 2014, 10:26
|- - Harvester   Цитата(AlexandrY @ Oct 6 2014, 14:26) А к...   Oct 6 2014, 10:51
|- - AlexandrY   Цитата(Harvester @ Oct 6 2014, 13:51) Я р...   Oct 6 2014, 11:49
|- - Harvester   Цитата(AlexandrY @ Oct 6 2014, 15:49) А к...   Oct 6 2014, 13:19
|- - kovigor   Цитата(Harvester @ Oct 6 2014, 16:19) Воб...   Oct 6 2014, 13:35
|- - Harvester   Цитата(kovigor @ Oct 6 2014, 17:35) Прост...   Oct 6 2014, 13:52
|- - AlexandrY   Цитата(kovigor @ Oct 6 2014, 16:35) Прост...   Oct 6 2014, 14:13
|- - Harvester   Цитата(AlexandrY @ Oct 6 2014, 18:13) Ари...   Oct 6 2014, 14:28
- - Виктория   Цитата(Harvester @ Oct 5 2014, 08:53) Име...   Oct 5 2014, 17:31
|- - jcxz   Цитата(Виктория @ Oct 5 2014, 23:31) Отла...   Oct 5 2014, 20:31
- - Genadi Zawidowski   Вам сказали ЦитатаНумерация байтов и бит в слове В...   Oct 6 2014, 15:29


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 11:42
Рейтинг@Mail.ru


Страница сгенерированна за 0.01413 секунд с 7
ELECTRONIX ©2004-2016