Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 31.08.2020, 00:23  
Alcest
Прописка
 
Регистрация: 27.01.2015
Сообщений: 259
Сказал спасибо: 50
Сказали Спасибо 28 раз(а) в 27 сообщении(ях)
Alcest на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Честно говоря, я сейчас пока вообще не понимаю, что делаю. Где там Куб, а где еще чего не в курсе совершенно.

P.S. А я действительно лоскутов из Куба надергал? Думал, что CMSIS сама по себе и Куб как надстройка всего лишь использует ее файлы.
Реклама:
Alcest вне форума  
Непрочитано 31.08.2020, 18:31  
NewWriter
Заблокирован
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,220 раз(а) в 1,319 сообщении(ях)
NewWriter на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Куб - это действительно надстройка, работающая через стандарт CMSIS. CMSIS - это просто стандарт описания регистров и битов. Задача этого стандарта - единообразно и удобоваримо заменить числовые значения адресов регистров и номеров битов на более-менее осмысленные текстовые названия. Вообще, можно как угодно по любому принципу делать, хоть напрямую числами записывать в виде *0x48000400 = 0x001F. Но в CMSIS принято адреса регистров записывать в иерархическом виде с помощью сишных структур, начиная от базового адреса шины, и далее, к базовым адресам периферии, плюс смещение от базового адреса периферии. Через дефайны это всё приводится к простому виду GPIOB-›MODER.

Cube HAL же представляет собой готовые наиболее часто используемые функции в универсальном представлении, в основном, ориентированные на использование в многопоточной операционной системе, отсюда и переизбыточные. Из этого следует, что если уж используете Cube HAL, то пишите на основе него полностью. Иначе это получается наижутчайшая смесь кубовской инициализации и самописного творчества "на регистрах", отчего код получается корявым, потокоопасным и неповоротливым - самый худший вариант.
NewWriter вне форума  
Эти 2 пользователя(ей) сказали Спасибо NewWriter за это сообщение:
Alcest (01.09.2020), forbidden (31.08.2020)
Непрочитано 01.09.2020, 02:16  
Alcest
Прописка
 
Регистрация: 27.01.2015
Сообщений: 259
Сказал спасибо: 50
Сказали Спасибо 28 раз(а) в 27 сообщении(ях)
Alcest на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Я уже не в первый раз читаю про CubeMX как про средство "подсмотреть" реализацию обращения к тем или иным регистрам. Но, я пробовал, но тут же запутался в куче файлов, и в глазах рябило от портянок с сотнями закомментированных строк, среди которых нужно найти обращение к тому или иному регистру. Я в этом деле новичок, и мне трудно ориентироваться в замыслах авторов куба и HAL. CMSIS на пару с RM как-то ближе и роднее.
Alcest вне форума  
Непрочитано 01.09.2020, 02:41  
индюк
Гуру портала
 
Аватар для индюк
 
Регистрация: 17.07.2010
Адрес: мурмурляндия
Сообщений: 10,669
Сказал спасибо: 188
Сказали Спасибо 3,188 раз(а) в 2,066 сообщении(ях)
индюк на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Ой а то хал поворотливый. Включаешь тупо инит портов и уже 5кБайт кода насрало, а там всего то надо 4 строки руками написать
__________________
кагмаподэ магмаподэ
индюк вне форума  
Сказали "Спасибо" индюк
LiVit (01.09.2020)
Непрочитано 01.09.2020, 20:45  
NewWriter
Заблокирован
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,220 раз(а) в 1,319 сообщении(ях)
NewWriter на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Реализация в Cube HAL универсальная, на все варианты настройки. Конкретный вариант выбирается программной проверкой конфигурации. К тому же, многие вещи выполнены сразу под многопоточные задачи RTOS, а значит, содержат программные решения, не связанные непосредственно с управляемым периферийным модулем.

И больше всего я не понимаю тех людей, кто инит периферии делает в Кубе, а дальше пишет "на регистрах". Ведь написать инит какого-нить SPI, UART или таймер - это тьфу, несколько строчек. Настройка тактовых частот тоже несложна, особенно для простых МК.
К тому же, вот например я, работая с L-серией, прописываю динамическое управление тактовыми частотами. Причем, это не только изменение умножения PLL, но и быстрое переключение делителя AHB, быстрое переключение MSI, и вообще список конкретных конфигураций, со всеми входящими в них настройками. Такого в Cube HAL нету, поэтому просто пишем свою ф-цию ChangeSystemSpeedFactor(), работающую максимально быстро и строго так, как нам нужно в конкретном проекте. А если например пытаться перейти с 65 кГц на 48 МГц средствами Cube HAL, это ж результатов можно дожидаться до завтрашнего утра, образно говоря. Прикиньте - на 65 кГц прокручивать портянку хала, этож кто ж такое выдержит? А ведь суть динамического управления частотой - быстрый разгон при потребности и быстрое торможение там, где не нужна высокая производительность. Энергопотребление ведь рассчитывается на мегагерц частоты.
NewWriter вне форума  
Эти 2 пользователя(ей) сказали Спасибо NewWriter за это сообщение:
granel (23.10.2020), LiVit (02.09.2020)
Непрочитано 01.09.2020, 22:03  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,043
Сказал спасибо: 2,559
Сказали Спасибо 11,882 раз(а) в 5,959 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от NewWriter Посмотреть сообщение
И больше всего я не понимаю тех людей, кто инит периферии делает в Кубе
Не хотелось бы идти в очередной виток срача, потому прошу...
Отвечаю на полузаданный вопрос. Я, в основном, так делаю. У меня, в основном, контроллер занят вычислениями и интересует меня его скорострельность. Управления от него - самый мизер, а уж динамичное управление тактированием - вообще пока никогда не надо было. Время на инициализацию мне до барабана.
Вот потому, исходя из удобства, чисто для себя, я поступаю именно так. А могу еще Халовской функцией воспользоваться, если она меня устраивает.
Сколько пользователей - столько и подходов. И шаблон в этом вопросе хорош только по большой нужде (стандартизация и прочее).

Сообщение от NewWriter Посмотреть сообщение
Да при_чем тут срач, без лично вас срача никакого не возникает, никакого намека на срач, до тех пор, пока вы тут не заявились и не намекнули на начало срача.
Срач возникает тогда, когда чел начинает отстаивать свою единственно правильную кочку зрения. Вот от этого я и предупреждал.
Чтобы Вы не извратили очередной раз мною сказанное, сразу скажу, что правильное мнение может быть и не единственным и каждый прав в своем конкретном случае.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.

Последний раз редактировалось akegor; 02.09.2020 в 09:12.
akegor вне форума  
Непрочитано 02.09.2020, 06:21  
NewWriter
Заблокирован
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,220 раз(а) в 1,319 сообщении(ях)
NewWriter на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

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

Я просто описываю сложности, которые есть при использовании того или иного метода. И если вы с этим не сталкивались, то это еще не значит, что другим тоже наплевать на всё.
И я имею полное право не разделять вашу точку зрения. Если я считаю, что описанное выше - непотребно, значит, оно имеет место быть.
В мощных МК тоже не постоянно нужна максимальная производительность, но на максимальной частоте они потребляют слишком большую мощность (около 0,8 Вт), что слишком разогревает маленький корпус. Поэтому дин.упр.частотой так же немаловажно, как и в L-серии.

Беда akegorа в том, что он не умеет слышать других, и считает, что его потребности - это максимум всего возможного.
Я же рассматриваю вопрос с обеих сторон. И уже описал, что как и где. Hardware Abstraction Level может быть представлен в любом варианте, поэтому Cube HAL - это чисто маркетинговая затея.
И я уже писал, в чем слабые стороны, в чем ограничения. akegor просто тупо уперся рогами в "я так делаю, мне наплевать на всё" и не допускает мысли о том, что помимо него есть куча других людей. Такая упертость - это контрпродуктивно, это деградация профессиональных навыков. Впрочем, это его личное дело, тут никто не посягает на его личные заморочки - akegor в праве делать так, как умеет. Но akegor абсолютно не в праве никому тут указывать, никому не вправе ничего доказывать в том стиле, в котором он делает, ибо его профессиональных навыков уже не хватает для дальнейших обсуждений, что он и подтверждает своими словами "мне наплевать на скорость". Посему, для него выделена специальная тема, свободная от инакомыслящих, вот пусть он в этой теме и сидит, и не мешает другим людям обсуждать насущные проблемы. Как гласит народная мудрость, "всяк сверчок - знай свой шесток" или "тесту место у печи". Ничего личного, просто народная мудрость.

Последний раз редактировалось NewWriter; 03.09.2020 в 21:29.
NewWriter вне форума  
Сказали "Спасибо" NewWriter
granel (23.10.2020)
Непрочитано 14.09.2020, 11:36  
vladh
Почётный гражданин KAZUS.RU
 
Регистрация: 03.12.2004
Сообщений: 1,306
Сказал спасибо: 337
Сказали Спасибо 76 раз(а) в 33 сообщении(ях)
vladh на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Уважаемые, подскажите пожалуйста. В Кейл после компиляции кода появляется закладка Build Output. Там есть такая строчка:
Program Size: Code=8224 RO-data=736 RW-data=172 ZI-data=5996
Я понимаю, что здесь сообщается о том сколько места занимает полученный код. Но что конкретно это означает и в каких единицах измеряется я никак нигде не найду.
vladh вне форума  
Непрочитано 14.09.2020, 11:59  
sat_art
Вид на жительство
 
Регистрация: 27.11.2007
Сообщений: 429
Сказал спасибо: 19
Сказали Спасибо 39 раз(а) в 30 сообщении(ях)
sat_art на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от vladh Посмотреть сообщение
Code=8224 RO-data=736 RW-data=172 ZI-data=5996
https://kazus.ru/forums/showthread.php?t=103107
sat_art вне форума  
Эти 2 пользователя(ей) сказали Спасибо sat_art за это сообщение:
Alcest (14.09.2020), vladh (14.09.2020)
Непрочитано 22.09.2020, 00:09  
sat_art
Вид на жительство
 
Регистрация: 27.11.2007
Сообщений: 429
Сказал спасибо: 19
Сказали Спасибо 39 раз(а) в 30 сообщении(ях)
sat_art на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Блин, сижу втыкаю, как быстрее всего посчитать бит четности слова?
Кто то работал с аппаратным crc в М4? Это возможно?

Последний раз редактировалось sat_art; 22.09.2020 в 01:36.
sat_art вне форума  
 

Закладки
Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Школа АRMрестлинга Uragan90 Микроконтроллеры, АЦП, память и т.д 54 22.08.2011 16:13
ARM Cortex M3 + Linux SiMiLya Микроконтроллеры, АЦП, память и т.д 10 17.06.2011 17:20
Помогите с STM32 - очень нужно... yakuzaa Микроконтроллеры, АЦП, память и т.д 60 04.08.2010 11:04
Как добавить поддержку для STM32 SFHK Микроконтроллеры, АЦП, память и т.д 11 18.12.2009 18:09


Часовой пояс GMT +4, время: 13:21.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot