MrBearManul 0 21 января, 2021 Опубликовано 21 января, 2021 · Жалоба 2 минуты назад, Vasily_ сказал: но это совсем не говорит о не убиваймости и надежности. С другой стороны, а как достоверно проверить, что МК не деградировал? Внешне может работать. Но вдруг начнёт сбоить при минусе или на более высоких частотах? 3 минуты назад, Vasily_ сказал: Выше не вы писали? Я вас не понял. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vasily_ 54 21 января, 2021 Опубликовано 21 января, 2021 · Жалоба Только что, MrBearManul сказал: С другой стороны, а как достоверно проверить, что МК не деградировал? Внешне может работать. Но вдруг начнёт сбоить при минусе или на более высоких частотах? Скорее всего никак не проверить. Может и начнет сбоить, естественно не стоит использовать контроллер после издевательства над ним. 11 часов назад, adnega сказал: Допустим. Но использовать линейное адресное пространство на Си в Cortex-M намного приятнее AVR-овской модели памяти ;) А что сейчас модно подбирать контроллер по приятности? У меня совсем другой подход. 11 минут назад, MrBearManul сказал: Я вас не понял. Это разве не говорит о надежности AVR? 3 часа назад, MrBearManul сказал: Помню, однажды вместо 5 В на ATMega16 подал 12 В в течение секунд 10. Нагрелся он жутко. Но на удивление продолжал работать. Какой-либо деградации выявлено не было. Задействованы были пины GPIO как на вход, так и на выход. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 21 января, 2021 Опубликовано 21 января, 2021 · Жалоба А что насчет производительности? Кто из мелких самый работящий? Не самый шустрый по мегагерцам, а реально выполняющий задачу быстрее? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
forummailandlogin 0 21 января, 2021 Опубликовано 21 января, 2021 · Жалоба 5 часов назад, Obam сказал: Перефразируя: "Вот из-за такого-эдакого нас евреев небоящихся ассма жидами "кнопкодрочерами" и зовут" ;-) По тому вас так и зовут. Я же не нули двигаю, а октет. 4 часа назад, MrBearManul сказал: Я для AVR давно тоже начинал на ассемблере. Потом, конечно Си/Си++. А почему вы пишите под кортексы на языке мнемоник? У вас какие-то требования по скорости особые? И какие кортексы? Нулевые или выше? А я наоборот. ассемблер по тому, что в машинный кодах долго. Нет, по скорости требований нет. В данный момент M0. 4 часа назад, MrBearManul сказал: Так вы на нём прикладную программу пишете, как я смотрю, т.е. обработка кнопок интерфейса. Вот это действительно непонятно зачем делать? Чем Си/Си++ не подходит? Не вижу смысла объяснять. Объяснение вызовет споры и очередная тема скатится в бездонную пропасть. 12 минут назад, ViKo сказал: А что насчет производительности? Кто из мелких самый работящий? Не самый шустрый по мегагерцам, а реально выполняющий задачу быстрее? Тот у которого есть необходимая периферия для конкретной задачи. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vasily_ 54 21 января, 2021 Опубликовано 21 января, 2021 · Жалоба 13 минут назад, ViKo сказал: А что насчет производительности? Кто из мелких самый работящий? Если нужно 5В и нет желания брать AVR, посмотрите на серию ATSAMC. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MDD 0 21 января, 2021 Опубликовано 21 января, 2021 · Жалоба В корпусе SOIC8 сейчас уже доступны STM32G031. Бонус - на них распространяется бесплатная лицензия Keil. Не проходят только по питанию - до 3.6В. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MrBearManul 0 21 января, 2021 Опубликовано 21 января, 2021 · Жалоба 1 час назад, Vasily_ сказал: Это разве не говорит о надежности AVR? Думаю, что нет, ведь вы же сами пишите, что 1 час назад, Vasily_ сказал: Может и начнет сбоить, естественно не стоит использовать контроллер после издевательства над ним. Разве может такое изделие считаться надёжным? Тем более, что оно подверглось нештатным (запрещённым по докуметации) условиям эксплуатации? 37 минут назад, forummailandlogin сказал: А я наоборот. ассемблер по тому, что в машинный кодах долго. Спасибо, развесилили))) 37 минут назад, forummailandlogin сказал: Не вижу смысла объяснять. Значит, дело вкуса) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vasily_ 54 21 января, 2021 Опубликовано 21 января, 2021 · Жалоба 11 минут назад, MrBearManul сказал: Думаю, что нет, ведь вы же сами пишите, что Я думаю что да, остальное из серии может да а может и нет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
forummailandlogin 0 21 января, 2021 Опубликовано 21 января, 2021 · Жалоба 6 часов назад, Obam сказал: Ну и подпрограмма регистр SR не сохраняет - фигня ;-) Не всегда необходимо по собственным следам ходить. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MrBearManul 0 21 января, 2021 Опубликовано 21 января, 2021 · Жалоба Простите, а для чего NOPы используете, которые я обвёл? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
forummailandlogin 0 21 января, 2021 Опубликовано 21 января, 2021 · Жалоба Не на NOPах надо было заострять внимание, а на комментариях к ним. Они выравнивают адресацию по границе слова. П.С. Знаю, сейчас будет вопрос: "Зачем, ведь THUMB придуман для плотненького укладывания инструкций". - Не люблю неровности. Как только процедура обретает свой окончательный вид - выравнивания внутри процедур убираю и выравниваю сами процедуры. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MrBearManul 0 21 января, 2021 Опубликовано 21 января, 2021 · Жалоба 3 минуты назад, forummailandlogin сказал: Не на NOPах надо было заострять внимание, а на комментариях к ним. А где они? 3 минуты назад, forummailandlogin сказал: Не люблю неровности. А директивы ассемблера разве не позволяют выровнять код? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
forummailandlogin 0 21 января, 2021 Опубликовано 21 января, 2021 (изменено) · Жалоба Использую " AREA |.Menu1|, CODE, READONLY, CODEALIGN", на Keil выводит необходимость выравнивать в конце сегмента. Ошибка исчезает при повторной компиляции, но я лучше сам ручками, не так уже это сложно выровнять 16-ти битные инструкции по границе 32 бита перед использованием 32-в битной инструкцией. Изменено 21 января, 2021 пользователем forummailandlogin Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adnega 11 21 января, 2021 Опубликовано 21 января, 2021 · Жалоба 2 часа назад, forummailandlogin сказал: Использую Тот код, который вы привели во многом уступает аналогичному Си-коду. Инициализацию на Си гораздо проще описать. Я понимаю asm, например, для КИХ-фильтра применить. Тут реально можно выиграть в сравнении с Си: //--------------------------------------------- // fpu_iir //--------------------------------------------- .thumb .thumb_func .global fpu_iir .type fpu_iir, %function fpu_iir: .cfi_startproc cbnz r1, fpu_iir_load bx lr fpu_iir_load: push {r0-r4, lr} VPUSH {s0-s7} // load f VLDR.F32 s1, [r3, #0] // G VLDR.F32 s2, [r3, #4] // a1 VLDR.F32 s3, [r3, #8] // a2 VLDR.F32 s4, [r3, #12] // b VLDR.F32 s5, [r3, #16] // tn-1 VLDR.F32 s6, [r3, #20] // tn-2 fpu_iir_loop: // load ldr r4, [r0], #4 // s0 <- x VMOV.F32 s0, r4 // calc tn VMUL.F32 s7, s1, s0 // G * x VFMS.F32 s7, s2, s5 // -a1 * tn-1 VFMS.F32 s7, s3, s6 // -a2 * tn-2 // calc y VADD.F32 s0, s7, s6 // tn-2 VFMA.F32 s0, s4, s5 // b * tn-1 // save t VMOV.F32 s6, s5 // tn-2 VMOV.F32 s5, s7 // tn-1 // y -> r0 VMOV.F32 r4, s0 // store str r4, [r2], #4 subs r1, #1 bne fpu_iir_loop VSTR.F32 s5, [r3, #16] // tn-1 VSTR.F32 s6, [r3, #20] // tn-2 VPOP {s0-s7} pop {r0-r4, pc} .size fpu_iir, .-fpu_iir .cfi_endproc void fpu_iir(float *x, int size, float *y, sIIR *f); typedef struct sIIR { float g; float a1; float a2; float b; float t1; float t2; } sIIR; Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 21 января, 2021 Опубликовано 21 января, 2021 · Жалоба Господа и товарищи, вернитесь к основной теме обсуждения! Меряться asm vs C vs C++ ets можно в другой теме. Выше я спрашивал, какой микроконтроллер более производительный. Например, за какое время мк может переслать массив из ПЗУ в ОЗУ. Может, где-то есть результы стандартных тестов? P. S. вопрос использовать asm передо мной не стоит Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться