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

Кто любит RISC в жизни, заходим, не стесняемся.
Ответить
Собутыльник Кота
Аватара пользователя
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01

Сообщение Eddy_Em »

VladislavS, так себе совет. У меня документация есть - зачем мне калокуб?
Вот я по умолчанию запустил клоки (т.е. все тактируется от HSI16, и содержимое регистров - тому подтверждение). В SysTick->LOAD у меня 3999999, т.е. прерывание будет каждые 2с. Однако, судя по мырганию светодиода, оно происходит каждые 250мс! В 8 раз быстрей! Но в документации явно нарисовано "/8" между HCLK и систиком.
Ну как так-то?
Надо завтра притащить осциллограф с работы и на MCO посмотреть - откуда эта фантастика получается вообще… Ну и непонятно, какого черта у меня от HSE не работает отладка. Возможно, и правда надо убрать это:

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

FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_LATENCY_1;
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Контактная информация:
Реклама
Поставщик валерьянки для Кота
Сообщения: 2089
Зарегистрирован: Вс июн 19, 2016 09:32:03

Сообщение Reflector »

[uquote="Eddy_Em",url="/forum/viewtopic.php?p=4348917#p4348917"]Вот я по умолчанию запустил клоки (т.е. все тактируется от HSI16, и содержимое регистров - тому подтверждение). В SysTick->LOAD у меня 3999999, т.е. прерывание будет каждые 0.5с. Однако, судя по мырганию светодиода, оно в 2 раза чаще происходит![/uquote]
Все правильно, 4М/16М = 0.25
Eddy_Em писал(а):Но в документации явно нарисовано "/8" между HCLK и систиком.
Это вроде ошибка, никакого деления там нет. В смысле по умолчанию нет.
Реклама
Собутыльник Кота
Аватара пользователя
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01

Сообщение Eddy_Em »

[uquote="Reflector",url="/forum/viewtopic.php?p=4348920#p4348920"]Это вроде ошибка, никакого деления там нет. В смысле по умолчанию нет.[/uquote]
А даташит я недавно скачал. Вот же засранцы! Могли бы и исправить ошибку.
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Контактная информация:
Поставщик валерьянки для Кота
Сообщения: 2089
Зарегистрирован: Вс июн 19, 2016 09:32:03

Сообщение Reflector »

Деление частоты на 8 - это фича самого SysTick и поскольку его все равно приходится настраивать, то обычно без разницы что там выставлено по умолчанию.
Реклама
Эиком - электронные компоненты и радиодетали
Собутыльник Кота
Аватара пользователя
Сообщения: 2567
Зарегистрирован: Вт май 01, 2018 19:44:47

Сообщение VladislavS »

[uquote="Eddy_Em",url="/forum/viewtopic.php?p=4348917#p4348917"]VladislavS, так себе совет.[/uquote]Нормальный совет. Сам пользуюсь и не считаю это чем-то зазорным. Удобный интерактивный калькулятор, который не позволит поставить 144 там где максимум 64.
[uquote="Eddy_Em",url="/forum/viewtopic.php?p=4348917#p4348917"]У меня документация есть - зачем мне калокуб?[/uquote]А чего не читаешь? :)
Реклама
Собутыльник Кота
Аватара пользователя
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01

Сообщение Eddy_Em »

Читаю, но там же хрен без поллитры разберёшься!
Вот, нарисовано, что систик делит частоту на 8. А фактически - не делит!
И да, 144 - это у меня VCO была, все остальное - в пределах дозволенного. Но не работает от PLL. А когда заработало от PLL с HSI, отвалилась возможность подключения стлинком.
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Контактная информация:
Реклама
Друг Кота
Аватара пользователя
Сообщения: 26008
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

[uquote="Eddy_Em",url="/forum/viewtopic.php?p=4349025#p4349025"]Читаю, но там же хрен без поллитры разберёшься!
Вот, нарисовано, что систик делит частоту на 8. А фактически - не делит![/uquote]
Тут дело в том, что он может делить, а может и не делить. Это зависит от значения 2-го (считая от нуля) бита регистра SysTick->CTRL.
Если там 0, то делит, а если 1 , то нет... :)

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

typedef enum
{
  SYSTICK_CLOCK_SOURCE_AHBCLK_DIV8       = ((uint32_t)0x00000000), /*!< systick clock source from core clock div8 */
  SYSTICK_CLOCK_SOURCE_AHBCLK_NODIV      = ((uint32_t)0x00000004)  /*!< systick clock source from core clock */
} systick_clock_source_type;
Ну или:

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

#define SysTick_CLKSource_HCLK_Div8    ((uint32_t)0xFFFFFFFB)
#define SysTick_CLKSource_HCLK         ((uint32_t)0x00000004)
#define IS_SYSTICK_CLK_SOURCE(SOURCE) (((SOURCE) == SysTick_CLKSource_HCLK) || \
                                       ((SOURCE) == SysTick_CLKSource_HCLK_Div8))
Поставщик валерьянки для Кота
Сообщения: 2089
Зарегистрирован: Вс июн 19, 2016 09:32:03

Сообщение Reflector »

[uquote="Eddy_Em",url="/forum/viewtopic.php?p=4349025#p4349025"]Вот, нарисовано, что систик делит частоту на 8. А фактически - не делит![/uquote]
Оно так для всех серий нарисовано, в том числе для твоих любимых F0 :)
Собутыльник Кота
Аватара пользователя
Сообщения: 2567
Зарегистрирован: Вт май 01, 2018 19:44:47

Сообщение VladislavS »

[uquote="Eddy_Em",url="/forum/viewtopic.php?p=4349025#p4349025"]Читаю[/uquote]Или картинки разглядывал? :) Давай вместе именно почитаем. Для начала RM. Пишут, что в SysTick->CTRL источником можно выбрать либо частоту AHB, либо AHB/8.
СпойлерИзображение
st0.png
(86.59 КБ) 97 скачиваний
Идём в STM32 Cortex®-M0+ MCUs programming manual и видим, что битом CLKSOURCE можно выбрать один из этих двух входов.
СпойлерИзображение
st1.png
(47.76 КБ) 101 скачивание
Удивительно, почему у тебя это раньше не вызывало вопросов, ведь во всех твоих предыдущих контроллерах было так же.

А если бы воспользовался моим советом, то и наглядно на картинке бы всё увидел. И переключаемый делитель SysTick,
СпойлерИзображение
st3.png
(18.47 КБ) 101 скачивание
и правильные коэффициенты деления,
СпойлерИзображение
st4.png
(45.58 КБ) 98 скачиваний
и ограничение на максимальную системную частоту.
СпойлерИзображение
st5.png
(40.92 КБ) 89 скачиваний
Добавлено after 55 seconds:
А если бы пользовался отладчиком, то мог бы прямо на ходу МЫШКОЙ потыкать в бит CLKSOURCE и посмотреть как диод в 8 раз меняет частоту мигания.
СпойлерИзображение
st2.png
(9.33 КБ) 90 скачиваний
Последний раз редактировалось VladislavS Пт янв 06, 2023 10:27:50, всего редактировалось 1 раз.
Друг Кота
Аватара пользователя
Сообщения: 26008
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

[uquote="VladislavS",url="/forum/viewtopic.php?p=4349050#p4349050"]А если бы пользовался отладчиком, то мог бы....[/uquote]
Это в другой жизни... :))) :))) :)))
Текущая инкарнация Эдуарда Емельянова исключает такое развитие событий полностью и под страхом смерти очередной реинкарнации... :tea:
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18797
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

порекомендуйте комплект минимальной стоимости на сегодня, чтобы пощупать за вымя не самый примитивный ARM (плата c камнем, отладчик, минимальный обвес, IDE, тулчейн), чтобы завелось искаропки без шаманства все перечисленное.
у меня валяется две платки из первых, что ST и NXP бесплатно раздавали (за всякие там видосы и т.п.), но, боюсь, сегодня они устарели сильнее, чем AVR...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Собутыльник Кота
Аватара пользователя
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01

Сообщение Eddy_Em »

Я и пользуюсь отладчиком! Да, с систиком я лоханулся: для других линеек так давно написал базу, что забыл всё...
А про отладчик я писал: почему-то при работе от PLL он отрубается.
Дрочить же мышу я не горазд. В консоли все в миллион раз удобней.
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Контактная информация:
Собутыльник Кота
Аватара пользователя
Сообщения: 2567
Зарегистрирован: Вт май 01, 2018 19:44:47

Сообщение VladislavS »

[uquote="ARV",url="/forum/viewtopic.php?p=4349077#p4349077"]порекомендуйте комплект минимальной стоимости на сегодня[/uquote]Если надо "включил и работай", то неплохие платы серии Nucleo. Отладчик, контроллер, светодиод и кнопка на борту. Остаётся только выбрать на каком контроллере вам надо. Из недорогих, наверное, оптимально Nucleo-F072 будет. Всё что надо для изучения там есть, есть USB.

Как вариант, парочка blue pill, но там лотерея. Полно левака, да и контроллер совсем древний. Хотя, при переходе на китайцев оказывается, что там 90% периферии совпадает и школа f103 была очень даже полезна.

А какие платы у вас есть? Может этого достаточно?
Друг Кота
Аватара пользователя
Сообщения: 26008
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

[uquote="Eddy_Em",url="/forum/viewtopic.php?p=4349083#p4349083"]почему-то при работе от PLL он отрубается.[/uquote]
При работе от PLL нужно следить за тем, чтобы выполнялись ограничения по частоте для каждой секции синтезатора и В ЛЮБОЙ МОМЕНТ ВРЕМЕНИ.
Поставщик валерьянки для Кота
Сообщения: 2089
Зарегистрирован: Вс июн 19, 2016 09:32:03

Сообщение Reflector »

[uquote="Eddy_Em",url="/forum/viewtopic.php?p=4349083#p4349083"]А про отладчик я писал: почему-то при работе от PLL он отрубается.[/uquote]
Мк на большей частоте генерит больше помех, а отладчик может пытаться коннектится на большей частоте(которую можно ограничить)... Если нормальное питание, разводка и не экономили на конденсаторах, то проблем быть не должно.
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18797
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

[uquote="VladislavS",url="/forum/viewtopic.php?p=4349102#p4349102"]А какие платы у вас есть? Может этого достаточно?[/uquote]
есть STM32VLDISCOVERY BOARD, если не ошибаюсь, там отладчик на stm32f103c8t6gh20g и сама демоплата на stm32f100rbt6bgh21x

и есть LPCXpresso LPC114, соответственно там LPC-Link на lpc3154fet208 и сама демоплатка с lpc1114f/302

Добавлено after 2 minutes 31 second:
на обеих еще мини-USB установлены, такой шнур нынче еще поискать придется...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Собутыльник Кота
Аватара пользователя
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01

Сообщение Eddy_Em »

Да какая там нормальная разводка? Китайская девборда за 300р на STM32G070RBT6.
А насчёт питания - да, спасибо. Я от st-link запитываю, надо ещё по usb подключить для надёжности.
Ну и таки проверить осциллом. У меня есть подозрение, что внешний кварц того.
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Контактная информация:
Собутыльник Кота
Аватара пользователя
Сообщения: 2567
Зарегистрирован: Вт май 01, 2018 19:44:47

Сообщение VladislavS »

stm32f100, конечно, мамонт. Кое-где, если не задействовать по полной периферию, будет даже медленней AVR-ки. Зато отладчик у вас, считай, уже есть. Пощупать средства разработки сможете. А там и что-нибудь посерьёзней с алика приедет. Мини-USB много на каких отладках стоит, проще "выписать с али" разных кабелей и не заморачиваться.

Добавлено after 2 minutes 16 seconds:
[uquote="Eddy_Em",url="/forum/viewtopic.php?p=4349226#p4349226"]У меня есть подозрение, что внешний кварц того.[/uquote]Во-первых, надеюсь, смотришь кварц на MCO не трогая кварц щупом? Во-вторых, PLL можно от HSI/2 для проверки запустить.
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18797
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

VladislavS писал(а):Пощупать средства разработки сможете.
так что щупать-то? Cube IDE? я как-то прикипел к Eclipse, но, судя по теме, делать там без "графических" кодогенераторов нечего...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Родился
Аватара пользователя
Сообщения: 6
Зарегистрирован: Сб дек 03, 2016 17:04:32

Сообщение Aleksk »

[uquote="ARV",url="/forum/viewtopic.php?p=4349077#p4349077"]порекомендуйте комплект минимальной стоимости на сегодня, чтобы пощупать за вымя не самый примитивный ARM (плата c камнем, отладчик, минимальный обвес, IDE, тулчейн), чтобы завелось искаропки без шаманства все перечисленное.
у меня валяется две платки из первых, что ST и NXP бесплатно раздавали (за всякие там видосы и т.п.), но, боюсь, сегодня они устарели сильнее, чем AVR...[/uquote]

Зачем вам отладчик на первых шагах? Возьмите Raspberry Pi Pico (Cortex-M0+). Она по нынешним временам дешевле самой простой Nucleo в несколько раз. Имеет жирную память и гонится стабильно до 250 МГц (и до 436МГц с извращениями) . На эту плату наделали разных прикольных прошивок . Саму прошивку можно тупо закинуть на плату ,т.к. она как флешка видится в системе (а так же как виртуальный COM-порт).
Последний раз редактировалось Aleksk Пт янв 06, 2023 17:05:31, всего редактировалось 1 раз.
Ответить

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