STM32 новичку в ARM что к чему

Кто любит RISC в жизни, заходим, не стесняемся.
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: STM32 новичку в ARM что к чему

Сообщение a5021 »

[uquote="VladislavS",url="/forum/viewtopic.php?p=4705667#p4705667"]Замечателтно. Надеюсь, вы хоть краем глаза прочитали всё то на что ссылаетесь и теперь сможете, наконец, объяснить почему оно мигает?[/uquote]
Пишут, непредсказуемо. Хочет мигает, не хочет не мигает. Все просто.
Изображение
И краем глаза достаточно, чтобы держаться подальше от такого.
Вложения
Screenshot 2025-04-16 at 19-24-30 Armv8-M Architecture Reference Manual - DDI0553B_y_armv8m_arm.pdf.png
(23.94 КБ) 690 скачиваний
Реклама
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18670
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: STM32 новичку в ARM что к чему

Сообщение ARV »

smacorp писал(а):Нет плохих средств разработки у крупных компаний.
Да ладно! Может быть в ИАРе есть навигация по коду "Ctrl-Click", которая практически во всех IDE (кроме ардуино) есть?! Может быть, в ИАРе список ошибок выдается отдельно от вообще всех сообщений, и не надо что-то там прокручивать, когда исправляешь их?! И еще есть парочка милых нюансиков, от которых тошнит...
А что касается "вообще разработки", то это вы не видели Microsoft Visual C, которая была де-факто основой разработки всех приложений под винду до версии 7... Казалось бы, софт-гигант, а IDE для своих же программистов сделать не мог нормальную чуть ли не до конца первого десятилетия нынешнего тысячелетия :)))
Ну и еще, пожалуй, Android Stidio, которой, имхо, никогда не будет достаточно производительности CPU и объема памяти для комфортной работы...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Реклама
Аватара пользователя
HardWareMan
Мучитель микросхем
Сообщения: 437
Зарегистрирован: Ср сен 02, 2015 07:47:20

Re: STM32 новичку в ARM что к чему

Сообщение HardWareMan »

[uquote="ARV",url="/forum/viewtopic.php?p=4705907#p4705907"]Да ладно! Может быть в ИАРе есть навигация по коду "Ctrl-Click", которая практически во всех IDE (кроме ардуино) есть?![/uquote]
Практически - значит IAR попадает в вашу же статистику. У Эклипса, помню, всегда была только правая кнопка (контекстное меню) и пункт "go to declaration" (или как-то так). И лишь относительно недавно они прикрутили Ctrl+Click. У Эмбаркадеро такой клик тоже прикрутили лишь лет 5-6 назад, но зато поломали Ctrl | Shift + F1, которого я не встречал почти нигде, а оно удобное.
Репозиторий STM32: https://cloud.mail.ru/public/2i19/Y4w8kKEiZ
Актуальность репозитория: 22 апреля 2026 года
Если чего-то не хватает с сайта st.com - пишите, докачаю.
/!\ Обновлений для STM32PowerMon и STM32PowerMon-UCPD временно не будет.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18670
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: STM32 новичку в ARM что к чему

Сообщение ARV »

HardWareMan писал(а):И лишь относительно недавно они прикрутили Ctrl+Click
недавно - это лет 10 тому назад. А ИАР не смог...
вот так и отличаются плохие инструменты от хороших - хорошие затачиваются постоянно, а плохие только тупятся со временем.

и вот только не надо рассказывать про непревзойденное качество результата компиляции у ИАРа - это качество измеряется долями процента объема/быстродействия кода, а оплачивается седыми волосами программиста...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
smacorp
Друг Кота
Сообщения: 3487
Зарегистрирован: Вт окт 22, 2013 04:37:23
Откуда: Казань

Re: STM32 новичку в ARM что к чему

Сообщение smacorp »

ARV, как-то плохо у Вас всё - stm32 слишком нежные и капризные, инструменты программирования неудобные, волосы седые... Так и напрашивается совет то ли вернуться на надёжные avr, то ли вообще переквалифицироваться в управдомы.
Платы для HLDI - установки лазерной засветки фоторезиста.
Фоторезист Ordyl Alpha 350
Жидкое олово для лужения плат (видео) - самое лучшее и только у меня.
Паяльные маски XV501T-4 и KSM-S6189 (5 цветов).
Заказ печатных плат - pcbsmac@gmail.com
Реклама
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18670
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: STM32 новичку в ARM что к чему

Сообщение ARV »

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

Мой уютный бложик... заходите!
Реклама
tonyk
Это не хвост, это антенна
Сообщения: 1318
Зарегистрирован: Вт ноя 19, 2019 06:10:18

Re: STM32 новичку в ARM что к чему

Сообщение tonyk »

[uquote="smacorp",url="/forum/viewtopic.php?p=4706162#p4706162"]ARV, как-то плохо у Вас всё - stm32 слишком нежные и капризные, инструменты программирования неудобные, волосы седые... Так и напрашивается совет то ли вернуться на надёжные avr, то ли вообще переквалифицироваться в управдомы.[/uquote]
Как тут не вспомнить поговорку про танцора его тестикулы! :))
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18670
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: STM32 новичку в ARM что к чему

Сообщение ARV »

еще один умник нашелся? чё ж ты такой умный не ответил на мой вопрос, а? тестикулы маловаты? только подгавкивать и можешь?
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
tonyk
Это не хвост, это антенна
Сообщения: 1318
Зарегистрирован: Вт ноя 19, 2019 06:10:18

Re: STM32 новичку в ARM что к чему

Сообщение tonyk »

[uquote="ARV",url="/forum/viewtopic.php?p=4706255#p4706255"]еще один умник нашелся? чё ж ты такой умный не ответил на мой вопрос, а? тестикулы маловаты? только подгавкивать и можешь?[/uquote]
А потому, что вы принципиально не читаете доки, а тупо строчите в форум, ещё и гордитесь этим, полагая, что все должны вам за какие-то заслуги по AVR отвечать то, что написано на первых страниц мануалов. Меня удивила искренность и цинизм, с которыми вы прямо говорите о том, что используете людей, не давая им ничего взамен, пусть они тратят своё время, а я буду пользоваться их готовыми результатами. Поэтому я никогда не буду отвечать на вопросы ARV, но с удовольствие буду его подкалывать.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18670
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: STM32 новичку в ARM что к чему

Сообщение ARV »

tonyk писал(а):Поэтому я никогда не буду отвечать на вопросы ARV, но с удовольствие буду его подкалывать.
я уважаю честность. и стараюсь быть честным сам.

если я знаю, что чтение доков даст мне 10% знаний и отнимет неделю, то я честно говорю, что получение 1% знаний на форуме за 15 минут мне больше подходит.
если вы наивно полагаете, что ваши, полученные в тяжких трудах с кучей потраченного времени, знания будут полезны - вы заблуждаетесь. они полезны какой-то краткий миг, а затем безнадежно устаревают, и становятся никому неинтересны, и даже вам самому. и лишь позволяют время от времени подкалывать тех, кто не тратит свою жизнь на погоню за ветром перемен.

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

Мой уютный бложик... заходите!
Аватара пользователя
HardWareMan
Мучитель микросхем
Сообщения: 437
Зарегистрирован: Ср сен 02, 2015 07:47:20

Re: STM32 новичку в ARM что к чему

Сообщение HardWareMan »

[uquote="ARV",url="/forum/viewtopic.php?p=4706330#p4706330"]если вы наивно полагаете, что ваши, полученные в тяжких трудах с кучей потраченного времени, знания будут полезны - вы заблуждаетесь. они полезны какой-то краткий миг, а затем безнадежно устаревают, и становятся никому неинтересны, и даже вам самому.[/uquote]
Тем более не понятна ваша мотивация получить эти данные от участников форума, ведь они же все устарели у всех, без исключения. Ведь так?
Изображение
Вложения
Снимок.jpg
(52.53 КБ) 450 скачиваний
Репозиторий STM32: https://cloud.mail.ru/public/2i19/Y4w8kKEiZ
Актуальность репозитория: 22 апреля 2026 года
Если чего-то не хватает с сайта st.com - пишите, докачаю.
/!\ Обновлений для STM32PowerMon и STM32PowerMon-UCPD временно не будет.
tonyk
Это не хвост, это антенна
Сообщения: 1318
Зарегистрирован: Вт ноя 19, 2019 06:10:18

Re: STM32 новичку в ARM что к чему

Сообщение tonyk »

ARV писал(а):и не важно, по какой причине
То есть вам цинично вытирать об людей ноги можно, но когда вам указывают на это, то
ARV писал(а):на подколки буду отвечать грубо
Думаю, местные обитатели сделают выводы о вашем поведении.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18670
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: STM32 новичку в ARM что к чему

Сообщение ARV »

HardWareMan писал(а):Ведь так?
не так. логика у вас хромает: устареть знания могут лишь в том случае, если они имеются. для новичка любые знания новые.

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

если я что-то знаю, я от других не скрываю, и не ожидаю никакой благодарности за это. если не знаю - ожидаю такого же отношения к себе.
можешь - помоги, не можешь - не помогай, не хочешь - не помогай, но молча. разве это не правильный подход?
tonyk писал(а):То есть вам цинично вытирать об людей ноги можно
ну и об кого я ноги вытер, умник? пока ты молчал, я тебя не трогал. тем, кто мне помог, я сказал спасибо. чего тебе неймется-то?
tonyk писал(а):Думаю, местные обитатели сделают выводы о вашем поведении
много лет назад я поменял свою аватарку в знак признания заслуг "местных обитателей". эти обитатели, вроде тебя, пуканы свои чуть ли не до белого каления тогда довели, требуя от меня уважения. ну и где они сейчас?

те, кого я уважал, не возущались и тогда, и сейчас, и моё уважение к ним меньше не стало. те, кто меня уважал, тоже сохранил все по прежнему, ибо не аватарка красит человека.

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

Мой уютный бложик... заходите!
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: STM32 новичку в ARM что к чему

Сообщение a5021 »

охота же вам.. давайте лучше я пятничного странного подкину?

наверное все знают про существование бит-бендинга в ядрах cortex-m3/m4. удобно, знаете ли, бывает подправить один битик в регистре или переменной, не трогая другие. но продираться через мануал, описывающий процесс вычисления адреса для бит-бендинга таких битиков удобно не совсем. проще все вычисления один раз завернуть в макросы и пользоваться ими потом по назначению, не возвращаясь уже к вычислениям. выглядеть это может так:

Код: Выделить всё

#define GET_BIT(AREA, ADDR, BIT)        *(__IO unsigned *)(AREA ## _BB_BASE + 32 * ((unsigned)&ADDR - AREA ## _BASE) + 4 * __builtin_ctz(BIT))

#define READ_MEM_BIT(VAR, BIT)          GET_BIT(SRAM, VAR, BIT)
#define WRITE_MEM_BIT(VAR, BIT, VAL)    READ_MEM_BIT(VAR, BIT) = VAL
#define SET_MEM_BIT(VAR, BIT)           WRITE_MEM_BIT(VAR, BIT, 1)
#define CLEAR_MEM_BIT(VAR, BIT)         WRITE_MEM_BIT(VAR, BIT, 0)
#define TOGGLE_MEM_BIT(VAR, BIT)        READ_MEM_BIT(VAR, BIT) ^= 1

#define READ_REG_BIT(REG, BIT)          GET_BIT(PERIPH, REG, BIT)
#define WRITE_REG_BIT(REG, BIT, VAL)    READ_REG_BIT(REG, BIT) = VAL
#define SET_REG_BIT(REG, BIT)           WRITE_REG_BIT(REG, BIT, 1)
#define CLEAR_REG_BIT(REG, BIT)         WRITE_REG_BIT(REG, BIT, 0)
#define TOGGLE_REG_BIT(REG, BIT)        READ_REG_BIT(REG, BIT) ^= 1
блинк теперь может выглядеть попроще:

Код: Выделить всё

  for(;;) {
    TOGGLE_REG_BIT(GPIOC->ODR, GPIO_ODR_ODR13);
     080001E4   F8D2 31B4   LDR.W          R3, [R2, #0x01B4]
     080001E8   F083 0301   EOR            R3, R3, #1
     080001EC   F8C2 31B4   STR.W          R3, [R2, #0x01B4]
    DELAY_MS(500);
     080001F0   6923        LDR            R3, [R4, #16]
     080001F2   F44F 73FA   MOV.W          R3, #0x01F4
     080001F6   6921        LDR            R1, [R4, #16]
     080001F8   EBB3 4311   SUBS.W         R3, R3, R1, LSR #16
     080001FC   D0F2        BEQ            0x080001E4                    ; <main>+0x4C
     080001FE   E7FA        B              0x080001F6                    ; <main>+0x5E
  }
решает ли это какие-то глобальные проблемы? нет не решает, но делает жизнь на бит разнообразнее. :-)
Adrift
Вымогатель припоя
Сообщения: 553
Зарегистрирован: Вт окт 01, 2024 15:22:33

Re: STM32 новичку в ARM что к чему

Сообщение Adrift »

[uquote="a5021",url="/forum/viewtopic.php?p=4706604#p4706604"]наверное все знают про существование бит-бендинга в ядрах cortex-m3/m4.[/uquote]
Не особо актуально. Если убрать старье, то остается STM32G4 и, с натяжкой, STM32F3, на которых бит-бендинг с портами не работает.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18670
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: STM32 новичку в ARM что к чему

Сообщение ARV »

Еще в MCS51 такое было, но применялось довольно редко. Битовые манипуляции скорее экзотика, имхо
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: STM32 новичку в ARM что к чему

Сообщение a5021 »

такого не было. были спецкоманды, которые манипулировали битами. у кортексов адресное пространство отображается, но команды обычные.
Adrift писал(а):Не особо актуально. Если убрать старье, то остается STM32G4 и, с натяжкой, STM32F3, на которых бит-бендинг с портами не работает.
вроде ж нету в g4 ничего такого? f3, напротив, все ок.
Adrift
Вымогатель припоя
Сообщения: 553
Зарегистрирован: Вт окт 01, 2024 15:22:33

Re: STM32 новичку в ARM что к чему

Сообщение Adrift »

[uquote="a5021",url="/forum/viewtopic.php?p=4706633#p4706633"]вроде ж нету в g4 ничего такого? f3, напротив, все ок.[/uquote]
F3 у меня уже нет, но на F3 и G4 порты расположены по адресам 0x4800'0000+, а бит бендинг работает с 1MB начиная с 0x4000'0000.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18670
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: STM32 новичку в ARM что к чему

Сообщение ARV »

[uquote="a5021",url="/forum/viewtopic.php?p=4706633#p4706633"]такого не было. были спецкоманды, которые манипулировали битами. у кортексов адресное пространство отображается, но команды обычные.
Adrift писал(а):Не особо актуально. Если убрать старье, то остается STM32G4 и, с натяжкой, STM32F3, на которых бит-бендинг с портами не работает.
вроде ж нету в g4 ничего такого? f3, напротив, все ок.[/uquote]
Те же яйца, только в профиль. С точки зрения программиста еще неизвестно, что лучше: сразу знать, что происходит, или вспоминать карту адресов...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: STM32 новичку в ARM что к чему

Сообщение VladislavS »

[uquote="a5021",url="/forum/viewtopic.php?p=4706604#p4706604"]блинк теперь может выглядеть попроще:[/uquote]
Во-первых, в R2 и R4 адреса из воздуха материализовались?
Во-вторых, ни на чём кроме некрофильского F1 это не работает, ибо порты не попадают в область BB.
В-третьих, опять макросы, которые даже не подумают предупредить что параметры заданы неверно.
В-четвёртых, а экономия то где? Вот, на F3 обычный toggle без всего этого.
СпойлерИзображение
А вот для F1, у него нет байтового доступа к портам GPIO, ну и ладно, это забота компилятора.

Код: Выделить всё

//int main()
//{
main:
        MOV      R0,#+8192      
        LDR.N    R1,??main_0    
//  for (;;)
//    GPIO::PC_13::toggle();
??main_1:
        LDR      R3,[R1, #+0]   
        LSLS     R2,R3,#+18     
        ITE      PL                
        STRPL    R0,[R1, #+4]   
        STRMI    R0,[R1, #+8]   
        B.N      ??main_1       
        Nop                     
        DATA
??main_0:
        DATA32
        DC32     0x4001100c     
//}
Где профит то?
f3.png
(38.17 КБ) 368 скачиваний
Немного оффтопа на околопортовые темы.
СпойлерДля применения в FPGA сделал toggle записью в регистр GPIO->IDR = bits; Подсмотрел в некоторых AVR-ках. Несколько строк кода всего производитель зажал.

Изображение

my_port.png
(88.66 КБ) 340 скачиваний
Ответить

Вернуться в «ARM»