Easyelectronics.ru

Электроника для всех
Текущее время: 06 дек 2019, 03:34

Часовой пояс: 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
Сообщения: 3793
На этом форуме, насколько помню, были такие господа. Да и я сам тоже немного баловался. И в инете был какой-то блог о написании на ассемблере для 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
Сообщения: 1027
Вопрос интересный, но не троллинг ли от ТС в трёх его последних сообщениях на форуме?

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


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

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

Зарегистрирован: 11 сен 2012, 11:19
Сообщения: 5760
Ассемблер не для стм а для 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
Сообщения: 1027
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
Сообщения: 3793
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
Сообщения: 1027
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
Сообщения: 6307
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
Сообщения: 1027
PWM писал(а):
Это я понял. Я просто попробовать хочу

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


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

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

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


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

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

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

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


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

Зарегистрирован: 10 окт 2014, 00:48
Сообщения: 6307
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
Сообщения: 59
Я извиняюсь, но эта тема напомнила мне вот это https://2ch.hk/pr/res/1408383.html


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

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: 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 часов


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

Сейчас этот форум просматривают: Google [Bot], ШВЕД


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

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

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