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

Кто любит RISC в жизни, заходим, не стесняемся.
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

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

Сообщение dosikus »

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

Изображение

Изображение
Реклама
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18592
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

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

Сообщение ARV »

jcxz писал(а):А разве они приводят к одному и тому же???
dosikus писал(а):результат может быть совершенно не тот что ты ожидаешь...
люди, вы читать умеете? или вам все равно, что я написал, вам важно свои собственные мысли донести?

я написал ЕСЛИ результат одинаковый. тот факт, что МОЖЕТ быть РАЗНЫЙ не отменяет ситуации, когда он одинаковый. да, полным полно ситуаций, когда ИЛИ недопустимо, но я говорил не об этих случаях - читайте внимательнее!!!
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Реклама
jcxz
Мудрый кот
Сообщения: 1727
Зарегистрирован: Вт авг 15, 2017 10:51:13

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

Сообщение jcxz »

[uquote="ARV",url="/forum/viewtopic.php?p=3457899#p3457899"]я написал ЕСЛИ результат одинаковый. тот факт, что МОЖЕТ быть РАЗНЫЙ не отменяет ситуации, когда он одинаковый.[/uquote]
про какие такие ситуации разговор, если ясно указано: WRITE_ONLY_REG ?
Если про регистр написано "write only", это означает что значение, возвращаемое при чтении такого регистра - непредсказуемо.
Т.е. - операция WRITE_ONLY_REG |= ... будет аналогична: WRITE_ONLY_REG = random() | ...
Или при чтении такого регистра можно вообще fault получить (сбой шины).
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

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

Сообщение a5021 »

Я здесь ранее уже пытался обратить внимание на тот факт, что WRITE_ONLY_REG -- конструкция, которую на STM32 реализовать невозможно. Любой байт адресного пространства МК может быть прочитан.
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18592
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

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

Сообщение ARV »

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

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

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

Мой уютный бложик... заходите!
Реклама
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

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

Сообщение dosikus »

[uquote="ARV",url="/forum/viewtopic.php?p=3457915#p3457915"]мысль, которую я пытался донести до всех своими примерами, следующая: никого не должен интересовать путь, который привел к верному результату. поэтому если сейчас "калокуб" делает что-то некрасиво, неоднозначно, плохо или даже крайне отвратительно, но при этом результат на 100% получается тот, что и ожидается - это нормально уже сегодня, а завтра станет безусловно верным подходом.[/uquote]

Вот это изречение предъявишь только тогда, когда изучишь вдоль и поперек нутро калокуба и спл а так же хоть что-то напишешь для стм32, ОК?
Реклама
Аватара пользователя
AndTer
Поставщик валерьянки для Кота
Сообщения: 2406
Зарегистрирован: Ср фев 23, 2011 12:12:31

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

Сообщение AndTer »

[uquote="dosikus",url="/forum/viewtopic.php?p=3457919#p3457919"]Вот это изречение предъявишь только тогда, когда изучишь вдоль и поперек нутро калокуба и спл а так же хоть что-то напишешь для стм32, ОК?[/uquote]
Ты я вижу изучил уже?
А ничего что спл не существует уже как несколько лет?
Вот вы и судите по тому первому впечатлению.
Многое уже изменилось и всё отлично работает.
Глупый не задает вопросы. Глупый и так все знает.
Аватара пользователя
AndTer
Поставщик валерьянки для Кота
Сообщения: 2406
Зарегистрирован: Ср фев 23, 2011 12:12:31

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

Сообщение AndTer »

dosikus,
Воинственно ненавидишь куб при этом его постоянно изучаешь? - клиника, а точнее враньё.
Изучаешь и говоришь об спл? - наглое враньё! СПЛ уже несколько лет как нет!

В общем с кем мы тут спорим? Он застрял 10 лет назад и критикует то, что даже не знает.
При этом, его логики не хватает понять что куб создавался изначально не для профессиональных программистов, а в первую очередь был ориентирован на простых пользователей. На людей которым нафиг не надо тратить годы на изучение мк и им хватает костылей в виде начального генератора кода для решения 99% задач. Куб стал одним из пинков популярности и массовости стм32.
При этом, дальнейшее развитие МК и самого куба приведёт к тому, что он станет стандартом в разработке приложений.
А вы со своим ассемблером вымрете как динозавры. Как когда та вымерли писатели на ассемблере под ПК.

В общем у тебя узкое и непрофессиональное мнение.
Вдвойне непрофессиональное, потому что ты критикуя куб, сам пользуешься С++. А обязан пользоваться ассемблером!
Вот начнёшь писать всё на ассемблере, тогда и критикуй куб.
Глупый не задает вопросы. Глупый и так все знает.
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

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

Сообщение VladislavS »

[uquote="AndTer",url="/forum/viewtopic.php?p=3457945#p3457945"]Вдвойне непрофессиональное, потому что ты критикуя куб, сам пользуешься С++. А обязан пользоваться ассемблером!
Вот начнёшь писать всё на ассемблере, тогда и критикуй куб.[/uquote]С++ делает код лучше, чем практически любой из здесь присутствующих сделает на ассемблере. Чего не скажешь о кубе.
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

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

Сообщение Мурик »

dosikus писал(а):видя беспомощность хомячков на форуме вопящих -помогите ничегонеработает.
Без разницы как они будут писать - HAL, LL, SPL или регистры, у них все равно работать не будет. Так что не аргумент.
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

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

Сообщение dosikus »

Мурик, не все и не всегда.
Некоторым всего лишь нужен волшебный пендель для направления.
А некоторые будут всю жизнь плутать по пустыне, водимые очередным "карабельниковым".
Аватара пользователя
FAKIR
Друг Кота
Сообщения: 23570
Зарегистрирован: Пт дек 12, 2014 09:36:15
Откуда: Минск

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

Сообщение FAKIR »

Я уже устал разбираться с флудом.

Закончили - буду банить!
ВячеславX
Прорезались зубы
Сообщения: 239
Зарегистрирован: Пн дек 01, 2008 10:30:05

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

Сообщение ВячеславX »

[uquote="jcxz",url="/forum/viewtopic.php?p=3457866#p3457866"]И 20 лет назад я работал с битами и регистрами на PIC16F84 и сейчас (только на других МК) - почти то же самое. Только их стало немного больше.[/uquote] Я так понял, вы работаете с ассемблерными вставками. А можно узнать в какой программе? Для контроллеров STM32.
Аватара пользователя
afz
Опытный кот
Сообщения: 744
Зарегистрирован: Сб дек 22, 2012 08:17:42
Откуда: Караганда, Казахстан

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

Сообщение afz »

Люди, вас куда-то не туда занесло! На самом деле все не так, как кажется. Никакой он не страшный КУБ, и не калокуб. Это просто набор кубиков. Детские игрушки такие, помните? Дети из них что-то строят, бывают кубики с разрезанными картинками, которые надо собрать... Не верите? Так посмотрите на заставку этого STM32Cube, они там красиво летают... :)

Так и здесь. ST-шники предлагают нам строить свои проекты из этих самых кубиков. В общем-то, тоже вариант. Правда кубики эти ПОКА кривоваты, не все из них построишь, как хочется, тем не менее, что-то из построенного уже работает, хотя и не всегда так, как нам хочется. А что кривовато и не все получается, так они над этим постоянно работают. И увы, что бы вы тут не говорили, а это, похоже, магистральный путь. Периферия уже достигла того уровня сложности, когда хрен ее удержишь в памяти, так, что какой-то уровень абстракции над ней, скрывающий ее детали, рано или поздно, станет необходимостью. Вспомните, когда вы последний раз манипулировали битами периферии на писюке. А? То-то же...

Да, пока оно все кривовато, да, оно несколько урезает свободный полёт фантазии, но это все ПОКА.
Кто мешает тебе выдумать порох непромокаемый? (К. Прутков, мысль № 133)
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

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

Сообщение oleg110592 »

[uquote="afz",url="/forum/viewtopic.php?p=3458406#p3458406"]Вспомните, когда вы последний раз манипулировали битами периферии на писюке. А? То-то же... ПОКА.[/uquote]
на ПК C++, C#

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

            try
            {
                serialPort.Open();
            }
            catch (Exception)
            {
                textBox.Text = "Ошибка открытия порта";
            }
вот и надо (imho) было и делать куб на C++ как ардуино, а внутри понятные классы на регистрах...
jcxz
Мудрый кот
Сообщения: 1727
Зарегистрирован: Вт авг 15, 2017 10:51:13

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

Сообщение jcxz »

[uquote="ВячеславX",url="/forum/viewtopic.php?p=3458388#p3458388"]Я так понял, вы работаете с ассемблерными вставками. А можно узнать в какой программе? Для контроллеров STM32.[/uquote]
Да, иногда использую ассемблер. Только не вставки, а функции в .asm-файле. В последнее время - IAR.

Добавлено after 9 minutes 52 seconds:
[uquote="afz",url="/forum/viewtopic.php?p=3458406#p3458406"]Периферия уже достигла того уровня сложности, когда хрен ее удержишь в памяти, так, что какой-то уровень абстракции над ней, скрывающий ее детали, рано или поздно, станет необходимостью.[/uquote]
Наверное всё зависит от головы. Удерживаю в памяти без проблем. Даже на МК, где периферия в разы сложнее чем на STM32. А про STM32, с его примитивной периферией, даже разговора нет. А "скрывать детали периферии" - это Вы правильно заметили. Только скрывать эти детали должна не сторонняя либа, в которой ничего не понимаете как внутри работает, а свой слой абстрагирования от периферии, который сами написали и знаете досконально.
pvit
Нашел транзистор. Понюхал.
Сообщения: 191
Зарегистрирован: Вт июн 05, 2018 00:18:01

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

Сообщение pvit »

[uquote="jcxz",url="/forum/viewtopic.php?p=3458507#p3458507"]В последнее время - IAR.[/uquote]
Можете рассказать о его преимуществах перед иде с gcc? Серьезно. Допустим, устраивает работа только под вендой и вопрос цены оставим в стороне. Какие там есть особые уникальные фичи, полезные при разработке?

Я сходу могу назвать только поддержку кучи всяких странных ядер (надо это или нет - каждый решит сам). А что-то еще есть?
[uquote="jcxz",url="/forum/viewtopic.php?p=3458507#p3458507"]А "скрывать детали периферии" - это Вы правильно заметили. Только скрывать эти детали должна не сторонняя либа, в которой ничего не понимаете как внутри работает, а свой слой абстрагирования от периферии, который сами написали и знаете досконально.[/uquote]
Не вижу проблем с использованием сторонних библиотек, если в них можно посмотреть код и качество для конкретных задач устраивает. Свои либы это конечно круто, но напряжно в долгосрочной перспективе когда проектов много и разработчики разные. В том же Rust-e HAL очень приличный.
jcxz
Мудрый кот
Сообщения: 1727
Зарегистрирован: Вт авг 15, 2017 10:51:13

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

Сообщение jcxz »

[uquote="pvit",url="/forum/viewtopic.php?p=3458656#p3458656"]Можете рассказать о его преимуществах перед иде с gcc?[/uquote]
Я разве Вам запрещал использовать gcc? Пользуйте - дело Ваше. А мне удобнее IAR. Пробовал я gcc - просто ужас как неудобно.

[uquote="pvit",url="/forum/viewtopic.php?p=3458656#p3458656"]Свои либы это конечно круто, но напряжно в долгосрочной перспективе когда проектов много и разработчики разные.[/uquote]
Своя либа - как раз удобнее в случае когда проектов много да ещё на разных МК. Потому что API своей я могу сделать в едином стиле для разных МК. И не становиться заложником всяких кубов и их баго-пейсателей. Для разных МК делаю макросы и функции работы с периферией в едином стиле и потом уже не задумываюсь о работе нижнего уровня.
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

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

Сообщение a5021 »

[uquote="pvit",url="/forum/viewtopic.php?p=3458656#p3458656"]Можете рассказать о его преимуществах перед иде с gcc?[/uquote]
У ИАРа весьма неплохой оптимизирующий компилятор. Если не самый лучший, то в верхней части списка лучших точно. В большинстве случаев GCC он переплевывает.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18592
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

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

Сообщение ARV »

jcxz писал(а):Потому что API своей я могу сделать в едином стиле для разных МК. И не становиться заложником всяких кубов и их баго-пейсателей.
осмелюсь возразить теми же словами, что ранее возражали мне: смысл оформлять код как-то "прилично" исключительно в том, чтобы другим программистам было удобно с ним работать. т.е. как бы не на свои личные интересы ориентироваться, а как бы на общественные.
в связи с чем писание под себя всех либ, в то время, как остальные пользуются чем-то "стандартным", отвращает от изучения вашего кода других.
имхо, лучше не оптимально, зато стандартно и единообразно. как в армии: хоть безобразно, зато единообразно.
например, libc - то ли оптимально оно там реализовано, то ли нет - я не знаю (и знать не хочу, пока не возникнут какие-то проблемы), но уверен на 100%, что использование в моём коде любой функции из этой библиотеки будет без проблем понято всяким, кто имеет понятие о Си. а вот если я изобрету свой собственный arvprintf со своими супер-пупер-оптимальными форматами и т.п. - это вряд ли кого порадует.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Ответить

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