Easyelectronics.ru

Электроника для всех
Текущее время: 18 окт 2019, 21:36

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/10pcs (Любой цвет!)
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 49 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Ассемблер для STM32
СообщениеДобавлено: 22 июн 2019, 22:23 
Заглядывает иногда

Зарегистрирован: 07 ноя 2018, 17:56
Сообщения: 74
Кто пробовал писать именно на ассемблере для stm32f103 ? не тот ассемблерный код который выдает кеил а именно с нуля.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ассемблер для STM32
СообщениеДобавлено: 22 июн 2019, 22:54 
Старожил
Аватара пользователя

Зарегистрирован: 22 июл 2017, 11:48
Сообщения: 3646
На этом форуме, насколько помню, были такие господа. Да и я сам тоже немного баловался. И в инете был какой-то блог о написании на ассемблере для F4, но там дальше светомигалки дело и не пошло (оно и логично!).
На ассемблере написан стартап-файл. Его код выполняет лишь пару функций - подготовка для работы Си-кода: зануление глобальных и статик переменных, копирование констант из флеша в инициализованные переменные, ну и передача управления сишному коду.

В остальном, производительность написания на ассемблере невелика. Это не ассемблер для PIC16, где всего три десятка инструкций и минимум заморочек. Тут, в АРМ с его "сокращенным набором инструкций" есть куча вариантов этих инструкций. Одна и та же инструкция имеет префиксы, суффиксы, вариативный второй операнд, заморочки с выравниванием, и даже различие 16/32 бита... ну короче, всё, чтобы жизнь мёдом не казалась.
Посему, для ассемблера остается только одна возможность - сравнительно короткие ассемблерные вставки в сишный язык, которые наиболее оптимально выполняют какой-либо участок кода, ну и ли такие вставки, которым нет аналога в Си - тот же самый переход в sleep или быстрое изменение порядка бит в байте.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ассемблер для STM32
СообщениеДобавлено: 22 июн 2019, 23:45 
Заглядывает иногда

Зарегистрирован: 07 ноя 2018, 17:56
Сообщения: 74
Вот мне как раз и надо по набору инструкций. У мануале по stm видать очень плохо глядел, но мне хочется посмотреть и почитать про эти конструкции(про префиксы и суффиксы и проче и прочее).
Про производительность конечно понятно почему она такая низкая.

так же насколько я понимаю ассемблер это не конечный уровень, дальше MOVы,JMP и др переводятся в порядковые номера наподобие 40 5F 12 2A и потом уже в что-то подобное 01101..11, верно я понимаю?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ассемблер для STM32
СообщениеДобавлено: 22 июн 2019, 23:46 
Старожил

Зарегистрирован: 27 апр 2013, 13:53
Сообщения: 1025
Вопрос интересный, но не троллинг ли от ТС в трёх его последних сообщениях на форуме?

P.S. Mecrisp Stellaris Unofficial UserDoc
в ядре приличной Форт-системы - ассемблера предостаточно.


Последний раз редактировалось KPG 22 июн 2019, 23:48, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ассемблер для STM32
СообщениеДобавлено: 22 июн 2019, 23:48 
Старожил

Зарегистрирован: 11 сен 2012, 11:19
Сообщения: 5690
Ассемблер не для стм а для ARM.
Это раз а два - шел бы ты мальчик учиться.
И да KPG прав -это тролль обыкновенный...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ассемблер для STM32
СообщениеДобавлено: 22 июн 2019, 23:57 
Заглядывает иногда

Зарегистрирован: 07 ноя 2018, 17:56
Сообщения: 74
dosikus_2 будь адекватней.
KPG при чем тут троллинг, я изучаю.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ассемблер для STM32
СообщениеДобавлено: 23 июн 2019, 00:08 
Старожил
Аватара пользователя

Зарегистрирован: 26 янв 2010, 21:48
Сообщения: 3965
Откуда: Звенигород
Есть много методик обучения не использующих проктологические приемы. Лучше начать с них.

_________________
От Парижа до Находки с водкой лучше, чем без водки!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ассемблер для STM32
СообщениеДобавлено: 23 июн 2019, 00:09 
Старожил

Зарегистрирован: 27 апр 2013, 13:53
Сообщения: 1025
PWM писал(а):
KPG при чем тут троллинг, я изучаю.

Ну так и покажите что изучаете (может с примерами кода) без сотрясения воздуха обобщёнными вопросами.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ассемблер для STM32
СообщениеДобавлено: 23 июн 2019, 00:19 
Заглядывает иногда

Зарегистрирован: 07 ноя 2018, 17:56
Сообщения: 74
PRC ну не нравится мне CMSIS,SPL,LL,HAL нравится ассемблер.
KPG, мигание светодиода?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ассемблер для STM32
СообщениеДобавлено: 23 июн 2019, 00:22 
Заглядывает иногда

Зарегистрирован: 06 янв 2014, 17:52
Сообщения: 105
Гугл по запросу "asm stm32" сразу находит статьи на хабре и сайт stm32asm.ru
Там есть все что нужно для изучения с нуля.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ассемблер для STM32
СообщениеДобавлено: 23 июн 2019, 00:25 
Заглядывает иногда

Зарегистрирован: 07 ноя 2018, 17:56
Сообщения: 74
Благодарю


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ассемблер для STM32
СообщениеДобавлено: 23 июн 2019, 00:28 
Старожил
Аватара пользователя

Зарегистрирован: 22 июл 2017, 11:48
Сообщения: 3646
PWM писал(а):
так же насколько я понимаю ассемблер это не конечный уровень, дальше MOVы,JMP и др переводятся в порядковые номера наподобие 40 5F 12 2A и потом уже в что-то подобное 01101..11, верно я понимаю?

40 5F 12 2A и 01101..11 - это запись одного и того же числа, только когда 5F - это 16-ричная запись, а когда 0101110 - это двоичная.
По ассемблеру - программинг мануал на ядро Cortex M3. Там даны все инструкции и краткое описание параметров. Более подробно надо искать описания именно на ядро Cortex M3 или описание ARM инструкций. В сети есть частичный перевод на русский мануала M3 для Миландров. В части ядра разницы нет. Где-то еще попадалась даже русскоязычная книга по ассемблеру, чето типа для студентов ВУЗов.
Ага, вот такая: "Практический курс микропроцессорной техники на базе процессорных ядер ARM-Cortex-M3/M4/M4F", Козаченко В.Ф. Сам ее не читал, мельком только просмотрел. Рекомендовал для товарища. Говорит - нормальная.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ассемблер для STM32
СообщениеДобавлено: 23 июн 2019, 00:40 
Старожил

Зарегистрирован: 27 апр 2013, 13:53
Сообщения: 1025
PWM писал(а):
KPG, мигание светодиода?

Если Вам этого достаточно, то да. (иначе изучайте тему подробнее, есть и коммерческая VFX Forth)

P.S. Другие статьи по Mecrisp Stellaris в блоге и проекты на Github этого разработчика


Последний раз редактировалось KPG 23 июн 2019, 00:58, всего редактировалось 2 раз(а).

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ассемблер для STM32
СообщениеДобавлено: 23 июн 2019, 00:44 
Заглядывает иногда

Зарегистрирован: 07 ноя 2018, 17:56
Сообщения: 74
>40 5F 12 2A и 01101..11 - это запись одного и того же числа, только когда 5F - это 16-ричная запись, а когда 0101110 - это двоичная.
там мне это и интересно. Как писать не GPIOA_MODER = (GPIOA_MODER & (~GPIO_MODER_0BITS)) | GPIO_MODER_0IN;
а 40 5F 12 2A или 01101..11 и как потом это заливать в МК это раз
И второе-МК,процессоры не понимают слов, каким в ядро или куда там приходит вот эти конструкции GPIOA_MODER = (GPIOA_MODER & (~GPIO_MODER_0BITS)) | GPIO_MODER_0IN; ??


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ассемблер для STM32
СообщениеДобавлено: 23 июн 2019, 00:48 
Старожил

Зарегистрирован: 10 окт 2014, 00:48
Сообщения: 6218
ARM - это не тот процессор, где стоит писать на ассемблере. Весь выигрыш эфимерен.
У процессора относительно небольшой набор команд, сами команды простые (в отличии от х86, например), поэтому транслятор легко и довольно правильно преобразует код С.
Зря потраченные усилия. Гораздо бОльшего достигается применением "аппаратных сопроцессоров" (максимальное использование функционала STM32) и банальным упрощением ненужных телодвижений в коде.
На х86 я более 10 лет писал на asm, но на ARM только С.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ассемблер для STM32
СообщениеДобавлено: 23 июн 2019, 00:56 
Заглядывает иногда

Зарегистрирован: 07 ноя 2018, 17:56
Сообщения: 74
>На х86 я более 10 лет писал на asm
А можно об этом поподробнее. Тоже хочу попробовать, только там MASM FASM TASM фиг разберешься. как лучше развернуть окружение?
>ARM - это не тот процессор, где стоит писать на ассемблере. Весь выигрыш эфимерен.
У процессора относительно небольшой набор команд, сами команды простые (в отличии от х86, например), поэтому транслятор легко и довольно правильно преобразует код С.
Зря потраченные усилия. Гораздо бОльшего достигается применением "аппаратных сопроцессоров" (максимальное использование функционала STM32) и банальным упрощением ненужных телодвижений в коде.
Это я понял. Я просто попробовать хочу


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ассемблер для STM32
СообщениеДобавлено: 23 июн 2019, 01:00 
Старожил

Зарегистрирован: 27 апр 2013, 13:53
Сообщения: 1025
PWM писал(а):
Это я понял. Я просто попробовать хочу

Все Ваши монологи, в этом топике, подтверждают пристрастность к троллингу. :)


Последний раз редактировалось KPG 23 июн 2019, 01:02, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ассемблер для STM32
СообщениеДобавлено: 23 июн 2019, 01:01 
Старожил
Аватара пользователя

Зарегистрирован: 22 июл 2017, 11:48
Сообщения: 3646
Ээээ, это наши отцы писали для 8051 на машинных кодах циферки 5F 43. А наши деды и вовсе на перфокартах пробивали биты раздельно :)
Чисто для "поржать" можно конечно и на ARM писать циферками. Я даже как-то в прошитом МК исправил несколько байт прошивки (это были числовые константы). Но всерьез писать циферками я бы как-то не осмелился. На PIC16 - можно ради прикола. Но на ARM - нет уж, увольте. Как раз из-за того, что по циферкам невозможно однозначно опознать инструкцию. Одни и те же циферки могут означать как инструкцию, так и константное число. Нет четкого разграничения, что типа "вот этот бит в циферке означает принадлежность к инструкции". Значение имеет лишь порядок их следования.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ассемблер для STM32
СообщениеДобавлено: 23 июн 2019, 01:05 
Старожил

Зарегистрирован: 27 апр 2013, 13:53
Сообщения: 1025
BusMaster писал(а):
Но на ARM - нет уж, увольте. Как раз из-за того, что по циферкам невозможно однозначно опознать инструкцию..

Ну да, ассемблер для ARM, не для современного программинга (эмбеда) :)

P.S. А, однотактные 8051 до сих пор есть в электронных изделиях.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ассемблер для STM32
СообщениеДобавлено: 23 июн 2019, 01:15 
Старожил

Зарегистрирован: 10 окт 2014, 00:48
Сообщения: 6218
1. Сгружается и устанавливается (распаковывается) последний MASM32.
2. Ставится IDE. Я использовал MasmED, который мимикрировал в Chrome IDE, затем в Chromatic IDE. Брать версию 1.25 и старше! Версия 1.24 может легко перетереть файлы проекта.
3. Нужен редактор ресурсов. Скажем, Resource ED.
После чего вы можете создавать Win32 приложения. Ну, и драйверы Win32. Под Win64 придется использовать FASM, т.к. MASM64 есть миф. С FASMом взаимоотносится, писал на нем LL драйвер под х64. Написал, больше не хочу его видеть. (на любителя)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ассемблер для STM32
СообщениеДобавлено: 23 июн 2019, 11:07 
Заглядывает иногда

Зарегистрирован: 07 ноя 2018, 17:56
Сообщения: 74
u37 писал(а):
1. Сгружается и устанавливается (распаковывается) последний MASM32.
2. Ставится IDE. Я использовал MasmED, который мимикрировал в Chrome IDE, затем в Chromatic IDE. Брать версию 1.25 и старше! Версия 1.24 может легко перетереть файлы проекта.
3. Нужен редактор ресурсов. Скажем, Resource ED.
После чего вы можете создавать Win32 приложения. Ну, и драйверы Win32. Под Win64 придется использовать FASM, т.к. MASM64 есть миф. С FASMом взаимоотносится, писал на нем LL драйвер под х64. Написал, больше не хочу его видеть. (на любителя)

Большое спасибо. Буду пробовать.
Цитата:
Ээээ, это наши отцы писали для 8051 на машинных кодах циферки 5F 43. А наши деды и вовсе на перфокартах пробивали биты раздельно :)
Чисто для "поржать" можно конечно и на ARM писать циферками. Я даже как-то в прошитом МК исправил несколько байт прошивки (это были числовые константы). Но всерьез писать циферками я бы как-то не осмелился. На PIC16 - можно ради прикола. Но на ARM - нет уж, увольте. Как раз из-за того, что по циферкам невозможно однозначно опознать инструкцию. Одни и те же циферки могут означать как инструкцию, так и константное число. Нет четкого разграничения, что типа "вот этот бит в циферке означает принадлежность к инструкции". Значение имеет лишь порядок их следования.

Понял.
Цитата:
Все Ваши монологи, в этом топике, подтверждают пристрастность к троллингу. :)

Это твое личное мнение.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ассемблер для STM32
СообщениеДобавлено: 23 июн 2019, 16:00 
Заглядывает иногда

Зарегистрирован: 06 янв 2014, 17:52
Сообщения: 105
PWM писал(а):
Цитата:
Все Ваши монологи, в этом топике, подтверждают пристрастность к троллингу. :)

Это твое личное мнение.

Нет. Это объективный признак.
А перевирание фактов - это второй объективный признак троля.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ассемблер для STM32
СообщениеДобавлено: 23 июн 2019, 23:10 
Заглядывает иногда

Зарегистрирован: 28 сен 2018, 20:50
Сообщения: 53
Я извиняюсь, но эта тема напомнила мне вот это https://2ch.hk/pr/res/1408383.html


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ассемблер для STM32
СообщениеДобавлено: 24 июн 2019, 00:56 
Старожил

Зарегистрирован: 07 фев 2011, 21:00
Сообщения: 494
Откуда: Ханты-Мансийск
посмотрите записки теплофизика


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ассемблер для STM32
СообщениеДобавлено: 24 июн 2019, 01:34 
Заглядывает иногда

Зарегистрирован: 07 ноя 2018, 17:56
Сообщения: 74
Utyf писал(а):
PWM писал(а):
Цитата:
Все Ваши монологи, в этом топике, подтверждают пристрастность к троллингу. :)

Это твое личное мнение.

Нет. Это объективный признак.
А перевирание фактов - это второй объективный признак троля.

Послушай ты, тебя спасают вещи две-что тут дают бананы и то что ты сейчас где-то не там где я, а там где не я. ты это понял?
В жизни ты бы прикусил язык и обтекал.
[quote=PM2]Я извиняюсь, но эта тема напомнила мне вот это https://2ch.hk/pr/res/1408383.html[/quote]
Это ты сейчас регистры в голове поставил в режим подтяжки к юмору?


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 49 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB