|
Программа на ассемблере для ARM |
|
|
|
Feb 12 2009, 08:18
|
Участник

Группа: Новичок
Сообщений: 23
Регистрация: 8-04-07
Из: Магнитогорск, Россия
Пользователь №: 26 865

|
Подскажите пожалуйста возможно ли на ассемблере написать программку для ядра ARM ? В даташитах даже не указывается время выполнения команды...?... (Необходимо создать недорогое, но быстрое приложение. Поэтому нужна программа на ассемблере).
|
|
|
|
|
Feb 12 2009, 15:15
|
Участник

Группа: Новичок
Сообщений: 23
Регистрация: 8-04-07
Из: Магнитогорск, Россия
Пользователь №: 26 865

|
Цитата(MrYuran @ Feb 12 2009, 12:02)  AVR32 != ARM (это я по поводу темы-близнеца) Это я понял. У меня есть и АРМ и АВР32. и вопросы я поднял по теме. так что сам написал, что они не равны. по теме: Дело в том, что с АВР8 понятно там есть время такта и все команды привязаны к тактам (в основном 1 к 1). а что в АРМ, что АВР 32 не понятно вообще. и Потом, что касается программы на Си - на ней компилятор создает машиный код, но как посчитать например время выполнения одного цикла ПИД алгоритма? на асе как-то понятно. знаешь сколько тактов выполняется команда и уже можешь оценить время выполнения одного цикла того или иного алгоритма.... может быть у кого есть простейшие примеры для АРМ (АВР32) на языке ассемблера). поделитесь пожалуйста.
|
|
|
|
|
Feb 12 2009, 16:40
|
Гуру
     
Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136

|
Цитата(Иван_Я @ Feb 12 2009, 11:18)  В даташитах даже не указывается время выполнения команды...?... Не знаю, как другие ARMы, а для ARM7TDMI есть такой документ Technical Reference Manual, в котором есть глава Instruction Cycle timings. Конечно, в отдельно взятом МК надо учитывать, как процессор цепляется к памяти и периферии. Цитата(Иван_Я @ Feb 12 2009, 18:15)  Потом, что касается программы на Си - на ней компилятор создает машиный код, но как посчитать например время выполнения одного цикла ПИД алгоритма? Зачем это считать? Для получения нужной периодичности есть таймеры. Считать циклы - это лишняя головная боль и потенциальное минное поле.
|
|
|
|
|
Feb 12 2009, 18:44
|
Участник

Группа: Новичок
Сообщений: 23
Регистрация: 8-04-07
Из: Магнитогорск, Россия
Пользователь №: 26 865

|
Цитата(sergeeff @ Feb 12 2009, 20:05)  Складывается впечатление, что автор текущей ветки не с той стороны заходит на решение поставленной перед ним задачи. И уж, конечно, подсчеты тактов на выполнение - не вариант, про это неоднократно на форуме говорилось. Обычно перед созданием программы оценивают возможности процессора. Если стоит задача работы в реальном времени (а у меня все такие задачи), то подсчет тактов очень важен. При управлении векторном есть такое понятие как разложение на dq составляющие. Смотрел в документации на ТМС20хх... там есть пример на ассемблере как это разложение произвести. Но к сожалению нет возможности приобрести отладку для данного проца ( а в наличии есть АРМ LPC и АВР32 распаянный на плате NGW100) (задача реализации в лабораторных условиях и учебных целей). Короче необходимо выполнять в основном арифметические операции, поэтому и требуется ассемблер. Цитата(_Pasha @ Feb 12 2009, 18:27)  У Вас длительность процесса приближается к интервалу его вызова? Да скорее всего так и будет. Просто хочется сделать запас определенный. ВОт этого я и бось - что длительность одного цикла обсчета приблизится к времени отсчета данных АЦП. Причем не обязательно будет использоваться именно ПИД алгоритм, еще есть цель реализовать dq преобразование... вычисление синуса и косинуса.. Поэтому в основном мне и нужен ассемблер. (Я в учебных целях. Есть большое желание реализовать dq преобразование).
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|