Перейти к содержанию
    

А у меня вопрос: можно ли где-то посмотреть законченные осмысленные проекты топикстартера на ассемблере на STM32H743? То есть, каков результат этих мучений, есть ли хоть какой-то смысл, реальный выхлоп?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

10 минут назад, EdgeAligned сказал:

А у меня вопрос: можно ли где-то посмотреть законченные осмысленные проекты топикстартера на ассемблере на

Издеваетесь?))))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нет, на полном серьезе - интересуюсь. Потому как за всю жизнь видел лишь несколько проектов полностью на ассемблере для STM32, но ни один из них так и не был доведен до осмысленного конечного состояния. Имею ввиду функционал сложнее светомигалки и тому подобной примитивщины.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

54 minutes ago, EdgeAligned said:

Нет, на полном серьезе - интересуюсь. Потому как за всю жизнь видел лишь несколько проектов полностью на ассемблере для STM32, но ни один из них так и не был доведен до осмысленного конечного состояния. Имею ввиду функционал сложнее светомигалки и тому подобной примитивщины.

Один из клонов ПЛК Mitsubishi FX2N за авторством Михаила Ина, известного как Greeds74, написан для STM32 на ассемблере. Автор утверждает, что это увеличило быстродействие в 2.5 раза по сравнению с вариантом на С. Говорит, 1.5 года писал.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В 2,5 раза прям? Обычно, 10-15% считаются уже достижением. Хотя, это смотря как на Си писать - можно же написать так, что даже светомигалка на Си будет тормознутой. Особенно, когда выключена оптимизация компилятора, как раз замедление в эти самые раза два и происходит. Я это не понаслышке знаю - стоит только включить оптимизацию компиляции С/С++, как код "ускоряется" волшебным образом в несколько раз.

Ну а если учесть обширный список инструкций Cortex-M7, который вместе со всеми вариантами операндов и флагов будет насчитывать таблицу в пару тыщщ строк (которую еще фик запомнишь), то навряд ли получится вручную обыграть компилятор в 2,5 раза, пусть даже и за полтора года пыхтения.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, EdgeAligned сказал:

В 2,5 раза прям? Обычно, 10-15% считаются уже достижением. Хотя, это смотря как на Си писать - можно же написать так, что даже светомигалка на Си будет тормознутой

Полностью согласен, сам так на сях начинал, поставил половинную оптимизацию - не работает, отключил вообще - все норм, ну пусть так и будет, потом по мере разбирательства перешел на половинную оптимизацию, затем на полную. Ну а на асме писать сегодня - это разве, что для курсовых каких не более, реально процентов 5 асмовых вставок в сишный код...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 4/4/2024 at 8:30 PM, EdgeAligned said:

На асме на H743? Знатный изврат. Я бы понял еще если бы на PIC16... Но здесь... Иззвращенное садо-мазо. 

Когда то давным давно пробовали на С нарисовать что то дельное на ATtiny4.
Не получилось.
Компилятор искренне не понимал, что в процике отсутствует стек по определению.
Или сами ступили, или компилятор был такой, хз.
В итоге ASM.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость do_not_know_Linux
6 hours ago, dimka76 said:

Вас в гугле забанили ?
Система команд это архитектура.

Cortex-M7 не STmicroelectronics придумала, поэтому искать на на сайте разработчика данной архитектуры.

https://documentation-service.arm.com/static/5e906b038259fe2368e2a7bb?token=

спасибо, как всегда вы вовремя. как только я нарою ответ, сразу кто-то придет и напишет тоже самое.  просто магия))) 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 4/6/2024 at 11:28 PM, do_not_know_Linux said:

просто магия))) 

Тоже замечал такое.
Как только вопрос задашь, так сразу сам на него ответ и найдешь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну а если учесть обширный список инструкций 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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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
1 hour ago, Obam said:

там всё прозрачно

извини, но ты не понимаешь о чем говоришь.  то что сейчас за тебя делают функции, ты будешь делать руками. как только ты залезешь в описание регистров  HRTIM к примеру. романтика кончится.  на словах все легко и хорошо. только когда я заходил с этим вопросом , почему-то тему быстро засрали, специально, чтобы  ее быстро закрыли. вас то я ребятки всех помню, как вы мне дружно тут подгаживали.   я когда я нарыл,  когда пронюхали ,что это имеет право на жизнь , и в чем-то оно интересней, то зашевелось обчество интеллектуалов в надежде урвать что-то годное из всего этого. но это ребята не тот случай,  не верите? ну давайте возобновить тему про этот таймер и начнем. тем более, что там все легко и прозрачно, как вы уже охарактеризовали.   просто если вы выбрали СИ божественный, ну так что ж, отличный выбор для профессионала,  для человека .который зарабатывает.  хороший инструмент в связке с  IDE, что прыгать то, что метаться, как товарищи в этой теме. просто как-то стремно получается,  гнали , банили, а щас, ну давай , покажи. могу показать, но увиденное не понравится. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Месть? 🙂 

Я понял, почему топикстартер выбрал ассемблер. Ему просто нравится "сам процесс" ковыряния, а не конечный результат. Намеренно создал перед собой горы и самоотверженно борется с ними. Ну, так наверно тоже можно. Хотя и  бессмысленно в плане достижений, накапливания портфолио работ.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

там всё прозрачно
извини, но ты не понимаешь о чем говоришь.

Про операнды в командах? А об них я и говорил...

то что сейчас за тебя делают функции, ты будешь делать руками. как только ты залезешь в описание регистров HRTIM к примеру
Странные вы, пионеры, можно подумать до вас никто описания не читал (((-8Ж

Месть? 🙂
"Мееесть!!! Смеееерть!!! И преисподяяяя!!!"(с)м/ф "Пёс в сапогах"

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

если 5 умножить на 4, сколько будет - 9 или 20? 🙂 Так же и с операндами. Почти каждая инструкция имеет свой вариант, различающийся по диапазонам применимости и по действию. Но не во всех инструкциях есть эти варианты. И надо помнить, где что есть. Написать по-простому, используя базовые методы, это можно. Но соревноваться в эффективности (скорости, размере) с компилятором - не имеет особого смысла. Полтора года работы на то, что компилятор сделает за несколько секунд, был бы он правильно настроен 🙂

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...