EdgeAligned 70 6 апреля Опубликовано 6 апреля · Жалоба А у меня вопрос: можно ли где-то посмотреть законченные осмысленные проекты топикстартера на ассемблере на STM32H743? То есть, каков результат этих мучений, есть ли хоть какой-то смысл, реальный выхлоп? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 40 6 апреля Опубликовано 6 апреля · Жалоба 10 минут назад, EdgeAligned сказал: А у меня вопрос: можно ли где-то посмотреть законченные осмысленные проекты топикстартера на ассемблере на Издеваетесь?)))) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EdgeAligned 70 6 апреля Опубликовано 6 апреля · Жалоба Нет, на полном серьезе - интересуюсь. Потому как за всю жизнь видел лишь несколько проектов полностью на ассемблере для STM32, но ни один из них так и не был доведен до осмысленного конечного состояния. Имею ввиду функционал сложнее светомигалки и тому подобной примитивщины. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
tonyk_av 39 6 апреля Опубликовано 6 апреля · Жалоба 54 minutes ago, EdgeAligned said: Нет, на полном серьезе - интересуюсь. Потому как за всю жизнь видел лишь несколько проектов полностью на ассемблере для STM32, но ни один из них так и не был доведен до осмысленного конечного состояния. Имею ввиду функционал сложнее светомигалки и тому подобной примитивщины. Один из клонов ПЛК Mitsubishi FX2N за авторством Михаила Ина, известного как Greeds74, написан для STM32 на ассемблере. Автор утверждает, что это увеличило быстродействие в 2.5 раза по сравнению с вариантом на С. Говорит, 1.5 года писал. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EdgeAligned 70 6 апреля Опубликовано 6 апреля · Жалоба В 2,5 раза прям? Обычно, 10-15% считаются уже достижением. Хотя, это смотря как на Си писать - можно же написать так, что даже светомигалка на Си будет тормознутой. Особенно, когда выключена оптимизация компилятора, как раз замедление в эти самые раза два и происходит. Я это не понаслышке знаю - стоит только включить оптимизацию компиляции С/С++, как код "ускоряется" волшебным образом в несколько раз. Ну а если учесть обширный список инструкций Cortex-M7, который вместе со всеми вариантами операндов и флагов будет насчитывать таблицу в пару тыщщ строк (которую еще фик запомнишь), то навряд ли получится вручную обыграть компилятор в 2,5 раза, пусть даже и за полтора года пыхтения. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 40 6 апреля Опубликовано 6 апреля · Жалоба 1 час назад, EdgeAligned сказал: В 2,5 раза прям? Обычно, 10-15% считаются уже достижением. Хотя, это смотря как на Си писать - можно же написать так, что даже светомигалка на Си будет тормознутой Полностью согласен, сам так на сях начинал, поставил половинную оптимизацию - не работает, отключил вообще - все норм, ну пусть так и будет, потом по мере разбирательства перешел на половинную оптимизацию, затем на полную. Ну а на асме писать сегодня - это разве, что для курсовых каких не более, реально процентов 5 асмовых вставок в сишный код... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
girts 10 6 апреля Опубликовано 6 апреля · Жалоба On 4/4/2024 at 8:30 PM, EdgeAligned said: На асме на H743? Знатный изврат. Я бы понял еще если бы на PIC16... Но здесь... Иззвращенное садо-мазо. Когда то давным давно пробовали на С нарисовать что то дельное на ATtiny4. Не получилось. Компилятор искренне не понимал, что в процике отсутствует стек по определению. Или сами ступили, или компилятор был такой, хз. В итоге ASM. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость do_not_know_Linux 6 апреля Опубликовано 6 апреля · Жалоба 6 hours ago, dimka76 said: Вас в гугле забанили ? Система команд это архитектура. Cortex-M7 не STmicroelectronics придумала, поэтому искать на на сайте разработчика данной архитектуры. https://documentation-service.arm.com/static/5e906b038259fe2368e2a7bb?token= спасибо, как всегда вы вовремя. как только я нарою ответ, сразу кто-то придет и напишет тоже самое. просто магия))) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimka76 51 6 апреля Опубликовано 6 апреля · Жалоба On 4/6/2024 at 11:28 PM, do_not_know_Linux said: просто магия))) Тоже замечал такое. Как только вопрос задашь, так сразу сам на него ответ и найдешь. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Obam 34 6 апреля Опубликовано 6 апреля · Жалоба Ну а если учесть обширный список инструкций Cortex-M7, который вместе со всеми вариантами операндов и флагов будет насчитывать таблицу в пару тыщщ строк (которую еще фик запомнишь) ХорошЪ гнать (((-8Ж QRC0001M.pdf (ARM and Thumb2 Instruction Set Quick Reference Card) 6 страничек всего, запоминать её не надо, для этого комп или принтер должен быть ;-) С операндами там всё прозрачно - всё делается в регистах, в память\из памяти только сохранять\читать. Это, конечно, не 27 команд MSP430, но и на "обширный список инструкций" не тянет. вы на их сайте его видите для этой архитектуры? скиньте пожалуйста скрнишот В этом компе VPNа нет - ARM недоступен, прямую ссылку разумеете, надеюсь https://developer.arm.com/documentation/ddi0489/d/DDI0489D_cortex_m7_trm.pdf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EdgeAligned 70 7 апреля Опубликовано 7 апреля · Жалоба 4 часа назад, girts сказал: В итоге ASM. Ассемблер на STM32H743? Покажите пример доведенного до конца осмысленного проекта на чистом ассемблере в STM32H743 или хотябы близком 1 час назад, Obam сказал: ХорошЪ гнать (((-8Ж QRC0001M.pdf (ARM and Thumb2 Instruction Set Quick Reference Card) 6 страничек всего, запоминать её не надо, Страничек в табличке то шесть, а вот вариантов КАЖДОЙ (за редким исключением) инструкции - несколько - 16/32-битная ширина, вариативный второй операнд, воздействия на флаги. И всё это надо помнить, чтобы соревноваться с компилятором С/С++ и обогнать его хотябы на 2,5%, а не в 2,5 раза. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость do_not_know_Linux 7 апреля Опубликовано 7 апреля · Жалоба 1 hour ago, Obam said: там всё прозрачно извини, но ты не понимаешь о чем говоришь. то что сейчас за тебя делают функции, ты будешь делать руками. как только ты залезешь в описание регистров HRTIM к примеру. романтика кончится. на словах все легко и хорошо. только когда я заходил с этим вопросом , почему-то тему быстро засрали, специально, чтобы ее быстро закрыли. вас то я ребятки всех помню, как вы мне дружно тут подгаживали. я когда я нарыл, когда пронюхали ,что это имеет право на жизнь , и в чем-то оно интересней, то зашевелось обчество интеллектуалов в надежде урвать что-то годное из всего этого. но это ребята не тот случай, не верите? ну давайте возобновить тему про этот таймер и начнем. тем более, что там все легко и прозрачно, как вы уже охарактеризовали. просто если вы выбрали СИ божественный, ну так что ж, отличный выбор для профессионала, для человека .который зарабатывает. хороший инструмент в связке с IDE, что прыгать то, что метаться, как товарищи в этой теме. просто как-то стремно получается, гнали , банили, а щас, ну давай , покажи. могу показать, но увиденное не понравится. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EdgeAligned 70 7 апреля Опубликовано 7 апреля · Жалоба Месть? 🙂 Я понял, почему топикстартер выбрал ассемблер. Ему просто нравится "сам процесс" ковыряния, а не конечный результат. Намеренно создал перед собой горы и самоотверженно борется с ними. Ну, так наверно тоже можно. Хотя и бессмысленно в плане достижений, накапливания портфолио работ. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Obam 34 7 апреля Опубликовано 7 апреля · Жалоба там всё прозрачно извини, но ты не понимаешь о чем говоришь. Про операнды в командах? А об них я и говорил... то что сейчас за тебя делают функции, ты будешь делать руками. как только ты залезешь в описание регистров HRTIM к примеру Странные вы, пионеры, можно подумать до вас никто описания не читал (((-8Ж Месть? 🙂 "Мееесть!!! Смеееерть!!! И преисподяяяя!!!"(с)м/ф "Пёс в сапогах" Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EdgeAligned 70 7 апреля Опубликовано 7 апреля · Жалоба если 5 умножить на 4, сколько будет - 9 или 20? 🙂 Так же и с операндами. Почти каждая инструкция имеет свой вариант, различающийся по диапазонам применимости и по действию. Но не во всех инструкциях есть эти варианты. И надо помнить, где что есть. Написать по-простому, используя базовые методы, это можно. Но соревноваться в эффективности (скорости, размере) с компилятором - не имеет особого смысла. Полтора года работы на то, что компилятор сделает за несколько секунд, был бы он правильно настроен 🙂 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться