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

Кто любит RISC в жизни, заходим, не стесняемся.
watchmaker
Поставщик валерьянки для Кота
Сообщения: 2183
Зарегистрирован: Вс ноя 15, 2009 23:13:59
Откуда: Харьков
Контактная информация:

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

Сообщение watchmaker »

Я сомневался насчёт того, что RCC_APB2ENR_IOPCEN маска. Всё остальное ясно. Спасибо всем за развёрнутые ответы.
Да, непривычно, в библиотеках под WinAVR в таких константах номера битов, а не маски.
Иногда мой питомец уходит в такую спячку, что разбудить его можно только щелчком по первой ноге...
Реклама
Аватара пользователя
isx
Поставщик валерьянки для Кота
Сообщения: 2316
Зарегистрирован: Вс июн 26, 2011 20:03:21

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

Сообщение isx »

Приветствую!
Подскажите пожалуйста, как рассчитать потребление МК STM32?
У меня включен PLL, частота 48МГц, что по даташиту дает максимальный ток 23мА. Однако я там не смог найти никакой информации, касательно потребления определенной включенной периферии (АЦП, таймеры и пр.). :dont_know:
Информация нужна для расчета мощности стабилизатора напряжения для питания МК...
Реклама
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

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

Сообщение oleg110592 »

оно?
Изображение
The_D
Встал на лапы
Сообщения: 108
Зарегистрирован: Пт июл 06, 2012 14:28:17
Откуда: Россия. г.Смоленск

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

Сообщение The_D »

Причем если не ошибаюсь нужно еще учитывать что периферия работает на частоте отличной от системного тактового генератора + в различных режимах она может быть отключена. Так что не проще глянуть абсолютные характеристики камня(там указывается его макс потребление)?
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
hybroid
Друг Кота
Сообщения: 8007
Зарегистрирован: Вс ноя 14, 2010 19:24:26
Откуда: Лукалэнд

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

Сообщение hybroid »

isx писал(а):Подскажите пожалуйста, как рассчитать потребление МК STM32?
Используй фичу расчёта потребления в STM32CubeMX, он учитывает периферию.
Реклама
Аватара пользователя
isx
Поставщик валерьянки для Кота
Сообщения: 2316
Зарегистрирован: Вс июн 26, 2011 20:03:21

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

Сообщение isx »

oleg110592 писал(а):оно?
Ага... Просто в F030 такой таблицы не было. Глянул в F103, а там есть. Наверное чип слишком простой для этого :)
The_D писал(а):Так что не проще глянуть абсолютные характеристики камня
Просто у меня у стабилизатора оставалось свободных 40мА, вот я и пытался выяснить, хватит их или нет.
hybroid писал(а):Используй фичу расчёта потребления в STM32CubeMX, он учитывает периферию.
Кубом не пользовался. Нужно будет скачать для таких случаев...
Реклама
Pnjom-Penb
Мучитель микросхем
Сообщения: 469
Зарегистрирован: Вс авг 30, 2015 03:52:59

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

Сообщение Pnjom-Penb »

The_D писал(а):... не проще глянуть абсолютные характеристики камня(... макс потребление)?
Замечательный вопрос. Представил себе б/п, который дохнет при включении периферии сверх разрешенного. И следующую тему на форуме с вопросом типа "пачиму уже пятый б/п испускает белый дым во время ресета? И как это вообще м.б. связано?" :)
Аватара пользователя
hybroid
Друг Кота
Сообщения: 8007
Зарегистрирован: Вс ноя 14, 2010 19:24:26
Откуда: Лукалэнд

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

Сообщение hybroid »

А после сброса уже вся периферия работает? Это с сегодняшнего дня случилось?
Аватара пользователя
isx
Поставщик валерьянки для Кота
Сообщения: 2316
Зарегистрирован: Вс июн 26, 2011 20:03:21

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

Сообщение isx »

Pnjom-Penb писал(а):Представил себе б/п, который дохнет при включении периферии сверх разрешенного.
Ну МК по своему жеданию не может включать понравившуюся ему периферию. Да и БП защита бывает. :dont_know:
Pnjom-Penb писал(а):пачиму уже пятый б/п испускает белый дым во время ресета?
Для меня такое в любом случае было бы странно. Во время зависона, еще может быть. Был у меня проект на АтМеге (давно уже), так он при зависании все линии ставил в высокий уровень, что приводило к несанкционированному включению всех внешних ключей, что, в свою очередь, жарило МК :) .
Pnjom-Penb
Мучитель микросхем
Сообщения: 469
Зарегистрирован: Вс авг 30, 2015 03:52:59

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

Сообщение Pnjom-Penb »

Ув. hybroid и isx, читайте внимательнее то, с чем так и подмывает поспорить - не всё следует воспринимать буквально. :)
Аватара пользователя
hybroid
Друг Кота
Сообщения: 8007
Зарегистрирован: Вс ноя 14, 2010 19:24:26
Откуда: Лукалэнд

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

Сообщение hybroid »

Не следует писать хуйню. Был задан вполне конкретный вопрос, не требующий ни чьих представлений о том, какие могут возникнуть темы на форуме. Спорить тут вообще не о чем.
Pnjom-Penb
Мучитель микросхем
Сообщения: 469
Зарегистрирован: Вс авг 30, 2015 03:52:59

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

Сообщение Pnjom-Penb »

hybroid писал(а):Был задан вполне конкретный вопрос, ...
Если читать не по диагонали, то можно обнаружить, что речь шла не о вопросе, а об ответе на него (автор - The_D). Ответе, который перекрывает всю развесистую клюкву, чьих-либо представлений о том, о чем же так сосредоточенно (и ошибочно) задумался ТС.
Аватара пользователя
hybroid
Друг Кота
Сообщения: 8007
Зарегистрирован: Вс ноя 14, 2010 19:24:26
Откуда: Лукалэнд

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

Сообщение hybroid »

ТС задумался не ошибочно, а обоснованно. Ниже он это объяснил для мыслящих шаблонами. А тов. The_D предложил более простой способ, что и выразил словом "проще". Но он нигде не сказал, что это будет правильно в данном случае.
А ты вообще ничего не предложил, ты решил потроллить и обделался. Бывает :)))
Pnjom-Penb
Мучитель микросхем
Сообщения: 469
Зарегистрирован: Вс авг 30, 2015 03:52:59

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

Сообщение Pnjom-Penb »

hybroid писал(а):А ты вообще ничего не предложил
За исключением "прислушаться к мудрому совету", действительно, ничего.
А "потроллить" - это скорее относится к переходу на "ты" и стремлению, исказив смысл ч.-л. высказывания, разразиться потоком нечистот, расчитывая таким образом утвердиться в роли "царя горы". Если для Вас весь смысл существования сводится к тому, чтобы быть первым парнем в этой деревне - сколько угодно, так как смысл моей жизни, слава богу, несколько шире. Будьте хоть нулевым - мне пофиг. ;)
Аватара пользователя
hybroid
Друг Кота
Сообщения: 8007
Зарегистрирован: Вс ноя 14, 2010 19:24:26
Откуда: Лукалэнд

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

Сообщение hybroid »

Pnjom-Penb писал(а):разразиться потоком нечистот, расчитывая таким образом утвердиться в роли "царя горы"
Про себя пишешь? Или своё не воняет:
Pnjom-Penb писал(а):"пачиму уже пятый б/п испускает белый дым во время ресета? И как это вообще м.б. связано?"
Интеллигент, мне эту мудрость на "вы" называть? Загугли термин "сетикет".
Pnjom-Penb
Мучитель микросхем
Сообщения: 469
Зарегистрирован: Вс авг 30, 2015 03:52:59

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

Сообщение Pnjom-Penb »

hybroid писал(а):... своё не воняет:
Pnjom-Penb писал(а):"пачиму уже пятый б/п испускает белый дым во время ресета? И как это вообще м.б. связано?"
И где в процитированном фрагменте, или даже во всем посте, что-нибудь типа цитат, приведенных ниже?
hybroid писал(а):Не следует писать хуйню ... обделался ...
Поздравляю, гражданин, соврамши!

© МиМ
Аватара пользователя
hybroid
Друг Кота
Сообщения: 8007
Зарегистрирован: Вс ноя 14, 2010 19:24:26
Откуда: Лукалэнд

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

Сообщение hybroid »

Не выдирай удобные тебе куски. Что тебя не устраивает? Ты не в институте благородных девиц. Когда придумают иные эпитеты, описывающие всю полноту действий, подобных твоим, - я их учту :)))

Пиши или по делу, или самоликвидируйся. Демогогией занимайся в другом месте. Личные притензии - в личку, нечего тут петушиться.
Pnjom-Penb
Мучитель микросхем
Сообщения: 469
Зарегистрирован: Вс авг 30, 2015 03:52:59

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

Сообщение Pnjom-Penb »

hybroid писал(а):Не выдирай удобные тебе куски.
Использовались исключительно полные цитаты, что легко проверяется.
hybroid писал(а):Ты не в институте благородных девиц.
Даже не в ПТУ, это очевидно.
hybroid писал(а):я их учту
Вам это не под силу, не обманывайте себя.
hybroid писал(а):Пиши ... по делу ... Демогогией занимайся в другом месте ... Личные притензии - в личку, ...
Судя по всему, это памятка? Как на внутренней стороне чемодана для пионерского лагеря? :)))

Удачи, любезный.
Аватара пользователя
Alexey_N
Сверлит текстолит когтями
Сообщения: 1273
Зарегистрирован: Вт фев 01, 2011 17:56:40
Откуда: г. Жуковка, Брянская обл.

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

Сообщение Alexey_N »

hi всем, совсем глупых два вопроса:
1) как в as из gnu переносить команды на несколько строк, например:

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

mov r0, VAL1 + VAL2 + VAL3
в виде:

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

mov r0, VAL1+\
        VAL2+\
        VAL3
В fasm'е такое можно, в as не могу найти как ?

2) умеет ли fasmarm автоматически добавлять в конец кода константы для загрузки, как as командой ldr r0, = VAL1 ?
Индукционный нагреватель - 20% (наладка). TIG сварка - 10% (детальки)
ВЧ генератор 150МГц - 80% (наладка). Мостовой ИИП - 40% (подкл. ОС).
Аватара пользователя
Andrew Martin
Вымогатель припоя
Сообщения: 606
Зарегистрирован: Вт июн 25, 2013 18:45:07

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

Сообщение Andrew Martin »

Alexey_N писал(а): умеет ли fasmarm автоматически добавлять в конец кода константы для загрузки, как as командой ldr r0, = VAL1 ?
А что такое конец кода? :)
Дело в том, что разные ядра имеют разные возможности адресации относительно PC. Например, в Cortex-M0 вы не сможете достать константу, если она будет дальше чем за 1020 байт. Поэтому ассемблер никак не может знать, в какой "конец" ему записывать константы.

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

Например так:

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

someproc:
           push   {lr}
           ldr      r0,[.const]           

           pop    {pc}

align 4
.const   dw 1.5
Такая запись намного прозрачнее, чем самоуправство ассемблера по добавлению им непонятно чего и непонятно куда.

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

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


;загрузка в r0 0xFF000000

movs    r0,0xFF
lsls       r0,r0,24

Эта связка работает так же быстро как и ldr, но не требует хранения константы.

А вообще fasmarm макросами может делать почти всё что угодно, гибкость - это главная его отличительная черта, но макроязык намного сложнее собственно ассемблера на любую платформу.
Ответить

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