Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.53/15: Рейтинг темы: голосов - 15, средняя оценка - 4.53
2 / 2 / 1
Регистрация: 11.07.2016
Сообщений: 152

Устройство памяти в STM32

08.01.2022, 14:05. Показов 3778. Ответов 58
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго дня!!!
Разбираюсь STM32F411 в мануал пишут под GPIOA выделено памяти с адресным пространством с 0х4002 0000-0х4002 03FF если правильно считаю это 1Кб. для конфигурирования GPIOA нам доступны 10 32bitных регистра это 40 байт. Вопрос: Зачем для GPIO столько памяти выделено?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.01.2022, 14:05
Ответы с готовыми решениями:

USB - Составное устройство.. STM32.
Всем привет. Есть задача - подключить к STM32F4 принтер HP, причем принтер не простой, а МФУ, да еще и с картридером.. USB-сниффер...

Выравнивание памяти в stm32
Соственно сабж Нигде не найду как организована память. В документации по этому поводу нашел только, что выбирать из памяти можно...

STM32, динамическое выделение памяти
Доброго времени суток! Никто не работал с динамическим выделением памяти (calloc, malloc, free) на STM32? Пишу в Atotlic True Studyo...

58
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,875
20.01.2022, 20:40
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Roman2947 Посмотреть сообщение
В STM32 нет EEPROM?
есть но не во всех, у stm32L.... есть
0
75 / 66 / 12
Регистрация: 09.02.2016
Сообщений: 940
Записей в блоге: 17
20.01.2022, 20:41
вообще чтение производится по адресу Addr & FFFF FFFC - это адрес ячейки памяти, а дальше в пределах Addr & 0000 0003 работает дешифратор ядра...
но сквозная адресация физических ячеек памяти и выделенных из них байт и полуслов - позволяют об этом не задумываться
0
2 / 2 / 1
Регистрация: 11.07.2016
Сообщений: 152
20.01.2022, 20:41  [ТС]
Цитата Сообщение от ВитГо Посмотреть сообщение
и затем уже дешифратор внутри cpu выполнит усечение значения до нужной размерности
откуда Вы все эти тонкости знаете
0
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,875
20.01.2022, 20:44
Цитата Сообщение от Roman2947 Посмотреть сообщение
куда мне пользовательские настройки или данные сохранять теперь?
1 использовать кристаллы где есть
2 использовать внешнюю микросхему
3 использовать флэш как eeprom, например вот https://habr.com/ru/company/ruvds/blog/578690/
0
75 / 66 / 12
Регистрация: 09.02.2016
Сообщений: 940
Записей в блоге: 17
20.01.2022, 20:51
Цитата Сообщение от Roman2947 Посмотреть сообщение
в AVR ах есть, а здесь что ж обделили. куда мне пользовательские настройки или данные сохранять теперь?
ну да, есть такое...

все зависит от того как часто эти пользовательские настройки меняются

я например даже на avr применял self-programing.. причем у меня во флеше был именно виртуальный диск (это к тем кто начинает писать о малом ресурсе перезаписи флеша :-) все там нормально с ресурсом :-)) я проверял)

ну или лепить внешний еепром - сейчас 8ми ногих spi интерфейсных много и на разный объем по типу 24lc32 и так далее... их вагон разных

Добавлено через 4 минуты
Цитата Сообщение от Roman2947 Посмотреть сообщение
откуда Вы все эти тонкости знаете
даташит

и это вы еще не задумались о том что происходит при подключении по fsmc внешней памяти с разрядностью ШД в 16 бит :-) а ведь читать на ассемблере 32ух битные значения можно продолжать :-) и пофигу что у физической микросхемы всего половинный размер данных от требуемого :-)
0
Эксперт .NET
 Аватар для Rius
13391 / 7844 / 1699
Регистрация: 25.05.2015
Сообщений: 23,854
Записей в блоге: 14
20.01.2022, 21:15
ВитГо, с ресурсом там всё плохо. Это решается редкой записью и методами wear leveling.
0
75 / 66 / 12
Регистрация: 09.02.2016
Сообщений: 940
Записей в блоге: 17
20.01.2022, 21:24
Цитата Сообщение от Rius Посмотреть сообщение
ВитГо, с ресурсом там всё плохо. Это решается редкой записью и методами wear leveling.
ну если записывать каждую секунду - то наверное на долго не хватит...
а если запись один - два раза в день - то хватит на долго :-) у меня по крайней мере не было ни одного обращения... и я уж молчу про свои устройства которые я по овер-20 раз в день перепрошивал без каких либо сбоев... и до сих пор оба испытуемых живы и назло всем работают :-) уже успели устареть морально, но технически до сих пор работоспособны

ну и wear leveling конечно тоже желателен, тут вопросов нет :-)
0
Эксперт .NET
 Аватар для Rius
13391 / 7844 / 1699
Регистрация: 25.05.2015
Сообщений: 23,854
Записей в блоге: 14
20.01.2022, 21:35
Там вроде заявлялось о ресурсе в 10000 циклов стирания. Если каждую секунду... в сутках всего 86400 секунд.
А запись при отладке это незначимая мелочь. Такими темпами можно было бы 13 лет перепрошивать каждый день
0
75 / 66 / 12
Регистрация: 09.02.2016
Сообщений: 940
Записей в блоге: 17
20.01.2022, 21:37
Цитата Сообщение от Rius Посмотреть сообщение
А запись при отладке это незначимая мелочь. Такими темпами можно было бы 13 лет перепрошивать каждый день
а уж запись пользовательских настроек - так вообще вечность :-)
0
 Аватар для COKPOWEHEU
4144 / 2722 / 433
Регистрация: 09.09.2017
Сообщений: 12,055
20.01.2022, 22:14
Цитата Сообщение от Roman2947 Посмотреть сообщение
Почему не делают одну цельную 32 битную ячейку с одним адресом?
Потому что далеко не всегда на практике нужны такие большие переменные. Часто достаточно 8- или 16-битных, а ведь к ним тоже надо как-то обращаться.
Цитата Сообщение от ВитГо Посмотреть сообщение
нет, а нужно ?
Да уж лишним бы не было. Все-таки ресурс у флеша поменьше будет.
0
75 / 66 / 12
Регистрация: 09.02.2016
Сообщений: 940
Записей в блоге: 17
21.01.2022, 08:26
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Да уж лишним бы не было.
BKPRAM не спасет ?
0
Эксперт .NET
 Аватар для Rius
13391 / 7844 / 1699
Регистрация: 25.05.2015
Сообщений: 23,854
Записей в блоге: 14
21.01.2022, 08:28
Там места малоооооооооооо .....
0
75 / 66 / 12
Регистрация: 09.02.2016
Сообщений: 940
Записей в блоге: 17
21.01.2022, 08:34
Цитата Сообщение от Rius Посмотреть сообщение
ам места малоооооооооооо .....
эхх.. эт, точно (с) Товарищ Сухов...

ну тогда только 24lc... в принципе по spi проводов не много придется кидать...
0
 Аватар для Voland_
1983 / 1276 / 131
Регистрация: 04.01.2010
Сообщений: 4,607
21.01.2022, 09:18
Цитата Сообщение от ВитГо Посмотреть сообщение
конечно можно
Я бы не был бы так уверен, что так всегда. Фишка в том, что сам факт доступа к данным (на чтение и на запись, в отдельности) тоже может иметь осмысленные и различные источники и приемники. Равно как и размерность запрошенных данных. Вот вам пример: на платформе AVR регистр USART DR имеет размер 16 бит. По идее вы можете прочитать его как 16бит, а можете прочитать как 2х8бит. И вот во втором случае двойное чтение этого регистра вернет вам совершенно не то, что Вы, возможно, ожидаете. Ну, и в случае с STM32 в общем, то же самое. Ну, или скажем, Вы не пробовали читать 32х битные регистры STM32 по не выровненным адресам, 32х битным чтением? ) Думаю, ничего хорошего Вы не получите. Это хорошо, если процессинг настолько будет умный, что хоть данные первого чтения сместит правильно, но насчет чтения следующей ячейки и ее правильного размещения в ответе я что-то сильно сомневаюсь.

Добавлено через 3 минуты
Цитата Сообщение от ValeryS Посмотреть сообщение
1 использовать кристаллы где есть
вдогонку, есть еще вариант OTP-memory (One-Time Programmable)

Добавлено через 1 минуту
Цитата Сообщение от Rius Посмотреть сообщение
методами wear leveling
Вы где-то встречали вменяюмую библиотеку от производителя? Ведь для более менее правильного распределения надо учитывать не только количество записей в один и тот же сектор...

Добавлено через 1 минуту
Цитата Сообщение от ВитГо Посмотреть сообщение
у меня по крайней мере не было ни одного обращения...
наши поздравления. Но, например, ремонтники старых мониторов с Вами не согласятся, когда замена EEPROM в них решает все проблемы.

Добавлено через 7 минут
Цитата Сообщение от Rius Посмотреть сообщение
с ресурсом там всё плохо. Это решается редкой записью и методами wear leveling.
Пожалуй, присоединюсь. И FLASH и EEPROM не вечные, ни по времени хранения, ни по количеству записей. Особенно "на улице", то есть в автомобиле и во дворе частного дома, когда температуры могут быть от -40 до +80 и даже +100 градусов. Поэтому, если девайс много чего может "терять", теряя настройки (например, при неправильных настройках уйдет в разнос), то нужно предполагать дублирование/восстановление данных, wear-leveling, и постоянный контроль правильности данных.
0
 Аватар для COKPOWEHEU
4144 / 2722 / 433
Регистрация: 09.09.2017
Сообщений: 12,055
21.01.2022, 09:20
Цитата Сообщение от Voland_ Посмотреть сообщение
а платформе AVR регистр USART DR имеет размер 16 бит. По идее вы можете прочитать его как 16бит,
Учитывая что на AVR вообще нет чтения по 16 бит - каким образом? Да и сам UDR всегда был 8-битным, пусть и с теневыми регистрами где-то в недрах блока USART.
0
Эксперт .NET
 Аватар для Rius
13391 / 7844 / 1699
Регистрация: 25.05.2015
Сообщений: 23,854
Записей в блоге: 14
21.01.2022, 09:30
Voland_, навороченное решение не доводилось встречать.
Ещё надо беспокоиться о том, что присутствующие в программе функции стирания памяти программ, могут сработать когда не надо и как не надо, под влиянием внешним условий.
0
75 / 66 / 12
Регистрация: 09.02.2016
Сообщений: 940
Записей в блоге: 17
21.01.2022, 09:43
Цитата Сообщение от Voland_ Посмотреть сообщение
Но, например, ремонтники старых мониторов с Вами не согласятся
это скорее вопрос к софту мониторов, не так ли ?
0
 Аватар для Voland_
1983 / 1276 / 131
Регистрация: 04.01.2010
Сообщений: 4,607
21.01.2022, 12:40
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Учитывая что на AVR вообще нет чтения по 16 бит - каким образом? Да и сам UDR всегда был 8-битным, пусть и с теневыми регистрами где-то в недрах блока USART.
это точно, я просто вспомнил про "бит 8" в опциях USART, но сейчас перепроверил, что его перекидывают в UCSRB, предполагая четкие правила по записи этого бита, и по его чтению (как раз именно потому, что на него влияет чтение/запись в UDR но не в сам UCSRB).

Добавлено через 2 минуты
Цитата Сообщение от ВитГо Посмотреть сообщение
это скорее вопрос к софту мониторов, не так ли ?
Ну... я не уверен, что это вообще "софт" в традиционном понимании. Ведь чтение/запись настроек могли бы быть собраны и на ASIC'е и стейт-машине. А в таком случае собрать еще и wear-level'ing - это слишком, имхо.
0
75 / 66 / 12
Регистрация: 09.02.2016
Сообщений: 940
Записей в блоге: 17
21.01.2022, 12:43
Цитата Сообщение от Voland_ Посмотреть сообщение
Ну... я не уверен, что это вообще "софт" в традиционном понимании. Ведь чтение/запись настроек могли бы быть собраны и на ASIC'е и стейт-машине.
вот и я о том же, это проблема именно механизма сохранения настроек,
Цитата Сообщение от Voland_ Посмотреть сообщение
А в таком случае собрать еще и wear-level'ing - это слишком, имхо.
и нафиг не нужно при грамотной части первой :-)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.01.2022, 12:43

stm32 защита контролера от чтения и копирования флеш памяти
Кто подскажет как защитить контролер от копировки хэкс файла?

Сортировать массив во внешней памяти данных, передать его во внешнее устройство
Всем доброго дня! Прошу помочь с данным заданием в Ассемблере. Массив двоичных целых однобайтовых чисел без знака (N<256) размещен...

Оконечное устройство LoRa на базе STM32
Здравствуйте уважаемые форумчане. Не получается подключить модуль на основе stm32f103c8t6(SX1276-Lora модем) к базовой станции Вега...

Устройство памяти
пишут так: пусть у нас четыре ячейки памяти идущие подряд , содержимое которых соотетсвтуют шестнадцатеричным цифрам 41 ,4E, 4E и 41,...

Устройство оперативной памяти
Здравствуйте! Оперативная память состоит из чипов, каждый чип из банков, каждый банк из строк и столбцов. Подскажите, пожалуйста,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
59
Ответ Создать тему
Новые блоги и статьи
Из невошедшего на форум (диалог с ИИ-гугла)
zorxor 29.07.2026
А вот, что интересно, сказал мне ИИ-гугла: Этот текст — эмоциональный пост пользователя под ником zorxor на интернет-форуме (вероятно, посвященном мистике, непознанному или альтернативной науке). . . .
Был праздник вчера, а я и не знал.
kumehtar 28.07.2026
27. 07. 2026г. Intel Core 2 Duo исполнилось 20 лет Новости компьютерного мира и их обсуждение (4) Салют, шампанское, овации! :drink:
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр. Дословно, отклонённая. . .
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
Очистка реквизитов и табличных частей документа при копировании (вариант 2)
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2. Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru