Почему не популярен ARM среди радиолюбителей?

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
qwerky
Мучитель микросхем
Сообщения: 487
Зарегистрирован: Пт июн 12, 2009 19:17:35
Контактная информация:

Re: Почему не популярен ARM среди радиолюбителей?

Сообщение qwerky »

Леонид Иванович писал(а):т.е на частоте порядка 200 кГц. С такой частотой он должен выходные отсчеты программного DDS умножать на девиацию, суммировать с кодом несущей частоты и по SPI грузить в DDS.
это 5мкс, на 24МГц - 120 тактов. Вход в прерывание - 12тактов, при этом автоматом сохраняются R0-R3, R12, LR, PC, xPSR. Загрузка память-регистр - 2..3такта, 32битное умножение 1..2 такта, суммирование - 1 такт, выгрузка в память/регистр - 2..3такта

http://infocenter.arm.com/help/index.js ... DIGAC.html

О джиттере ЦАПа можно не думать - загрузку можно привязать к прерыванию таймера.
Реклама
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Re: Почему не популярен ARM среди радиолюбителей?

Сообщение Satyr »

qwerky писал(а):Загрузка память-регистр - 2..3такта, 32битное умножение 1..2 такта, суммирование - 1 такт, выгрузка в память/регистр - 2..3такта
ээ... загрузка и сохранение, если мне не изменяет память, 2 такта первая, 1 такт каждая идущая следом.
Итого 1-2 такта.

умножение 32 x 32 = 32 бита 1 такт. иные варианты от 2
Реклама
Аватара пользователя
Леонид Иванович
Друг Кота
Сообщения: 4779
Зарегистрирован: Сб апр 02, 2011 12:40:46
Откуда: Минск
Контактная информация:

Re: Почему не популярен ARM среди радиолюбителей?

Сообщение Леонид Иванович »

Такое, я так понимаю, можно получить, если весь проект делать на ASM?
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Re: Почему не популярен ARM среди радиолюбителей?

Сообщение ploop »

На сколько я заметил, простой линейный алгоритм на Си транслируется очень неплохо, даже GCC (хотя его тут ругали). Думаю, и без asm'а можно обойтись.
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Re: Почему не популярен ARM среди радиолюбителей?

Сообщение Satyr »

Леонид Иванович писал(а):Такое, я так понимаю, можно получить, если весь проект делать на ASM?
Такое - это какое ?
Тут никаких чудес и мистики нет - все как везде. Хочешь все на Си пиши, хочешь все на асме.
Целесообразно, конечно, самое критичное на асме, остальнео на Си. Как и везде

Собсно, чего сомневаться ? И за паяльник хвататься сразу не надо. Ну слей ты тот же IAR EW kickstart, напиши пару алгоримтов на сях, скомпили с оптимизацией и включенной генерацией листинга, напечатай тот ПДФ, что я клал и смотри, что компилер навставлял и сколько на это тактов.
Попытка не пытка + совершенно бесплатна
Реклама
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Re: Почему не популярен ARM среди радиолюбителей?

Сообщение Satyr »

Будет красивый такой листинг с функциями на сях и что за код сгенерирован

Код: Выделить всё

   1223
   1224          static
   1225          unsigned short MCrc2(unsigned char *str, int len) {
   1226          int i, k;
   1227          unsigned short s, d = 0x90f1;
   1228
   1229            for(k = 0; k < len; k++) {
   1230              d ^= str[k];
   1231              for( i = 0; i < 8; i++) {
   1232                s = d & 1;
   1233                d = d >> 1;
   1234                if (s) d ^=  0xA001;
   1235              }
   1236            }
   1237            d = d ^ 0xFFFF;
   1238          return d;
   1239          }
   1240
   1255
   1256          unsigned short GetCrc2(void *data, int len)
   1257          {
   1258              return MCrc2((unsigned char*)data, len);
   \                     GetCrc2:
   \   000000 581B          CP.w      R11,0x1
   \   000002 E06990F1      MOV       R9,0x90f1
   \   000006 C115          BRLT      ??GetCrc2_0:C
   \                     ??GetCrc2_1:
   \   000008 193A          LD.ub     R10,R12++
   \   00000A 3088          MOV       R8,0x8
   \   00000C 1459          EOR       R9,R10
   \   00000E 5C79          CASTU.h   R9
   \                     ??GetCrc2_2:
   \   000010 F5D9C001      BFEXTU    R10,R9[0:0]
   \   000014 F3D9C030      BFEXTU    R9,R9[16:1]
   \   000018 580A          CP.w      R10,0x0
   \   00001A C030          BREQ      ??GetCrc2_3:C
   \   00001C EC19A001      EORL      R9,0xa001
   \                     ??GetCrc2_3:
   \   000020 2018          SUB       R8,0x1
   \   000022 CF71          BRNE      ??GetCrc2_2:C
   \   000024 201B          SUB       R11,0x1
   \   000026 CF11          BRNE      ??GetCrc2_1:C
   \                     ??GetCrc2_0:
   \   000028 EC19FFFF      EORL      R9,0xffff
   \   00002C F9D9C010      CASTU.h   R12,R9
   \   000030 5EFC          RET       R12
   1259          }
   1260
Заодно и видно, что если целесообразно - компиллер сам и функции вклеивает. И лишними записями в память не напрягает :)))
Последний раз редактировалось Satyr Пт май 18, 2012 13:15:13, всего редактировалось 1 раз.
Реклама
HHIMERA
Друг Кота
Сообщения: 4583
Зарегистрирован: Вс дек 05, 2010 06:10:34
Откуда: ЮВ

Re: Почему не популярен ARM среди радиолюбителей?

Сообщение HHIMERA »

Satyr писал(а): Ну слей ты тот же IAR EW kickstart, напиши пару алгоримтов на сях, скомпили с оптимизацией и включенной генерацией листинга, напечатай тот ПДФ, что я клал и смотри, что компилер навставлял и сколько на это тактов.
Попытка не пытка + совершенно бесплатна
Тогда уж лучше Keil... у ИАРа вечно какие-то заморочки с АСМом...
"Я не даю готовых решений, я заставляю думать!"(С)
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Re: Почему не популярен ARM среди радиолюбителей?

Сообщение Satyr »

HHIMERA писал(а): Тогда уж лучше Keil... у ИАРа вечно какие-то заморочки с АСМом...
:shock: :shock:
Пользовался, не замечал. Ну только если парсер у них там бывает на форматирование текста неадекватно реагирует, а в остальном без проблем.
Кейл в настройках не гибкий. Среда с элементами плюшевости. Ну и не знаю как сейчас, ранее в битве компиляторов побеждал ИАР.
qwerky
Мучитель микросхем
Сообщения: 487
Зарегистрирован: Пт июн 12, 2009 19:17:35
Контактная информация:

Re: Почему не популярен ARM среди радиолюбителей?

Сообщение qwerky »

Леонид Иванович писал(а):Такое, я так понимаю, можно получить, если весь проект делать на ASM?
зачем ? для начала можно на С, посмотреть листинг, будет видно нужно или не нужно вручную оптимизировать. Если нужно, то переписать на асме или все прерывание, или только часть.
Еще больше снизить нагрузку можно с помощью DMA - по таймеру семплы выбираются из буфера, по прерыванию половины буфера контроллер молотит отсчеты в буфер в другую половину
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25291
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: Почему не популярен ARM среди радиолюбителей?

Сообщение КРАМ »

qwerky писал(а):...по таймеру семплы выбираются из буфера, по прерыванию половины буфера контроллер молотит отсчеты в буфер в другую половину
А зачем в ДРУГУЮ?
Можно в ЛЮБУЮ...
Alexeyslav
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич
Контактная информация:

Re: Почему не популярен ARM среди радиолюбителей?

Сообщение Alexeyslav »

FreePascal слишком глючный и недружественный чтобы использовать его для обучения. Поэтому и не используют. Лазарус - всего лишь надстройка над ним, с тем же самым итогом.

Keil, IAR это все хорошо... но разве нет чего-то бесплатного? Даже родной сайт ST - и там нет ничего. Вероятно поэтому он не так распространен среди радиолюбителей.

А что касается паскаля... чем он хуже С? Язык как язык... на нем даже драйвера пишут.

Вобщем я так и не понял где взять среду для STM32.
_Alex
Встал на лапы
Сообщения: 120
Зарегистрирован: Вт дек 12, 2006 07:46:53
Откуда: Пермь

Re: Почему не популярен ARM среди радиолюбителей?

Сообщение _Alex »

http://coocox.org/CooCox_CoIDE.htm
Бесплатная среда для Кортекс м3
Аватара пользователя
SubDia
Держит паяльник хвостом
Сообщения: 995
Зарегистрирован: Сб апр 02, 2011 17:59:22
Откуда: Город-герой Севастополь

Re: Почему не популярен ARM среди радиолюбителей?

Сообщение SubDia »

Alexeyslav писал(а):Keil, IAR это все хорошо... но разве нет чего-то бесплатного?
IAR Kickstart Edition абсолютно бесплатен. С ограничением в 32 кБ.
Все, что больше - уже не совсем любительство, как по мне. =)
Ну, а ежели 32 кБ - мало, и пиратствовать принципиально не желаете, можете воспользоваться советом пользователя выше.

Что примечательно, кстати. Бесплатная среда разработки от ST, входящая в состав ST Toolset (STVD - ST visual develop), не поддерживает семейство STM32. А утилита для прошивки, STVP - ST visual programmer, поддерживает. Как-то одно с другим не вяжется, не доделали, что ль..
pavel_cydenov: Вобще я праAVRославный человек. Но и про ислARM слышал много хорошего )
MrYuran: Самые ортодоксальные — это PICудеи )
Katz: Не, 51-ники. )
Изображение
Tolmi
Говорящий с текстолитом
Сообщения: 1658
Зарегистрирован: Вс дек 11, 2011 05:25:04
Откуда: Киев, Украина
Контактная информация:

Re: Почему не популярен ARM среди радиолюбителей?

Сообщение Tolmi »

Alexeyslav писал(а): А что касается паскаля... чем он хуже С? Язык как язык...
Рантайм библиотеки в паскале, поддерживающие стандартные конструкции языка, существенно больше по размерам, чем в более низкоуровневом C
Обычно про С говорят, что это такой кросплатформенный ассемблер. И это правильно, потому что конструкции языка, как правило, прямо компилируются в инструкции для процессора ( если забыть про оптимизацию). В паскале обычно компилятор строит "шитый код", сплошь состоящий из вызовов стандартных процедур, реализующих написанное человеком. Поэтому код для МК писать на паскале слегка неудобно. Впрочем, здесь он ничем не лучше Java, которую тем не менее толкают во все кофемолки.
In theory, theory and practice are the same. In practice, they're not.
qwerky
Мучитель микросхем
Сообщения: 487
Зарегистрирован: Пт июн 12, 2009 19:17:35
Контактная информация:

Re: Почему не популярен ARM среди радиолюбителей?

Сообщение qwerky »

А что касается паскаля... чем он хуже С?
хотя бы тем что С есть везде. Паскаля на контроллерах не наблюдается (если не считать пары коммерческих поделок).
Аватара пользователя
hybroid
Друг Кота
Сообщения: 8007
Зарегистрирован: Вс ноя 14, 2010 19:24:26
Откуда: Лукалэнд

Re: Почему не популярен ARM среди радиолюбителей?

Сообщение hybroid »

Tolmi писал(а):Впрочем, здесь он ничем не лучше Java
Ну как сказать... Для выполнения Java-приложений вам нужна портированная виртуальная машина - и ффсё. Это так в теории. Практика подвела и обилие Java-машин не очень доставляет, учитывая, какие они "одинаковые". По этому в итоге получается невыгодных со всех точек зрения результат, но хоть как-то более кроссплатформенный. Но при этом сдох ещё один плюс явы - быстрая и удобная разработка.
Alexeyslav писал(а):А что касается паскаля... чем он хуже С? Язык как язык... на нем даже драйвера пишут.
Работа с памятью.. С ней полная задница. А про драйверы - что-то сразу показывает вашу компетентность, уж простите. Учитывая, что вы обосрали FP, то мы имеем дело с дельфями и написанием дров на них? Это не смешно. Последняя версия дельфи, на которой можно было залезть в нулевое кольцо - это были Delphi 3, если память мне не изменяет. Чтобы сделать драйвер - вам нужен расовый майкрософтовский obj, чтобы из него сделать расовый майкрософтовский sys. Покажите мне, как вы хотите это сделать на дельфях.
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Re: Почему не популярен ARM среди радиолюбителей?

Сообщение Satyr »

Вообще паскаль идейно более арийский, чем Си. Куда более строгая проверка и работ с типами, при этом нет каких принципиальных ограничений на производительность, как у явы и сишарпа. Но, то ли Си-разгильдяйство народе понравилось, толи просто крупные игроки иначально на Си ставки сделали - тем не менее, паскаль подзатух.
Зато в сях далее начали гайки закручивать. в плюсах уже многое ошибка, что в простых сях предупреждение. Потом, как опомнились, что с механизмами работают люди, всякие Misra C пошли...
Сделай история тогда иной поврот, возможно мы б сейчас Си считали экзотикой, а основным бы был паскаль. И глюков было б меньше в программах -))) Но, это все "если бы да кабы"

Сейчас компиляторов под паскаль практически нет (Дельфи это вобще - чтото типа Паскаль дот нет :))) )
А если так подумать - в МК, использующихся именно как контроллеры, паскаль самое в тему как высокоуровневый язык.
Аватара пользователя
hybroid
Друг Кота
Сообщения: 8007
Зарегистрирован: Вс ноя 14, 2010 19:24:26
Откуда: Лукалэнд

Re: Почему не популярен ARM среди радиолюбителей?

Сообщение hybroid »

Меня умиляет, что паскаль преподаётся как "база" для других языков. Тем не менее, после паскаля чаще всего наступает вывих мозга при понимании тех же сей. Одни указатели чего стоят :))

А пока, уж простите, в основном всё написанное на дельфях является суровым быдлокодом и в основном такая писанина заключается в перетаскивании компонентиков на формочку. Хотя говнокодить можно с любым инструментом в руках, но дельфи с его TКердыПерды1, TКердыПерды2, TКердыПерды3, TПердыКерды4 и т.д. в исходниках - это же жопа.
Аватара пользователя
O-LED
Мудрый кот
Сообщения: 1800
Зарегистрирован: Вт окт 05, 2010 01:08:57
Контактная информация:

Re: Почему не популярен ARM среди радиолюбителей?

Сообщение O-LED »

Кстати, а почему до чих пор в школах паскаль пропадают?
(сори за оффтоп)
KIT
Аватара пользователя
hybroid
Друг Кота
Сообщения: 8007
Зарегистрирован: Вс ноя 14, 2010 19:24:26
Откуда: Лукалэнд

Re: Почему не популярен ARM среди радиолюбителей?

Сообщение hybroid »

А кому надо программу переписывать? Я бы вообще какой интерпретатор преподавал (питон, перл). Алгоритмизации научить можно? Ещё как можно. А остальное мало кто вообще усваивает..
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»