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

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

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

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

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

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


 
Опции темы
Непрочитано 21.08.2019, 11:45  
Yuri222
Почётный гражданин KAZUS.RU
 
Регистрация: 08.02.2005
Адрес: Минск, Беларусь
Сообщений: 7,765
Сказал спасибо: 2,667
Сказали Спасибо 2,634 раз(а) в 1,947 сообщении(ях)
Yuri222 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Предположу, что соседние ячейки могут как-то повлиять друг на друга.
При тестировании RAM не пишут 00/FF.
В каких-то процессорах TI, точно не скажу, давненько уже читал тот даташит, там что-то по 4 соседние бита (или байта) друг на друга влияли - суть была в том, что после скольки-то циклов записи нужно было стирать/перезаписывать весь этот блочок разом.
Т.е. нужно дописать единичку в какой-то байт, а кол-во таких допустимых циклов достигло предела (причем - не сотни-тысячи, а единицы записей) - будь добр вначале считай весь блочок, потом его сотри и перезапиши снова тем же.
Реклама:
Yuri222 вне форума  
Непрочитано 21.08.2019, 12:13  
sat_art
Вид на жительство
 
Регистрация: 27.11.2007
Сообщений: 428
Сказал спасибо: 19
Сказали Спасибо 39 раз(а) в 30 сообщении(ях)
sat_art на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

С рамом понятнее - при записи 0 или 1 в какой то бит, это же значение может записаться еще куда нибудь. Это в динамической памяти особенно надо учитывать. Поэтому проверка рама не быстрая операция.
А с флешем проще.

Сообщение от Yuri222 Посмотреть сообщение
весь этот блочок разом.
Сообщение от Yuri222 Посмотреть сообщение
будь добр вначале считай весь блочок, потом его сотри и перезапиши снова тем же.
Ну так в микроконтроллерах о которых мы ведем речь и есть страничная организация. Стереть один байт не возможно.
Возможно только изменить бит с 1 на 0. А если надо наоборот, то нужно стереть всю страницу.
sat_art вне форума  
Непрочитано 21.08.2019, 12:36  
Yuri222
Почётный гражданин KAZUS.RU
 
Регистрация: 08.02.2005
Адрес: Минск, Беларусь
Сообщений: 7,765
Сказал спасибо: 2,667
Сказали Спасибо 2,634 раз(а) в 1,947 сообщении(ях)
Yuri222 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

sat_art, битик одиночный можно дописать? Так вот, в тех контроллерах, если дописываешь битики 4 раза в кусочек памяти. то для гарантированного непропадания информации, чтобы дописать 5-й раз, нужно переписать весь блочок, предварительно его стерев.
Т.к. запись битика в одном байте как-то могла влиять на соседние.
Логически это не объяснить, значит - есть физические причины этого эффекта.
Не помню только, хоть убей - какая там организация памяти, т.е. какого минимального размера блок можно стереть.
Из-за этой особенности даже не рассматривали для своего применения, ибо битики нужно было дописывать часто, а еще учитывать кол-во записей при этом - тот еще гемор.

Последний раз редактировалось Yuri222; 21.08.2019 в 12:38.
Yuri222 вне форума  
Непрочитано 22.08.2019, 18:47  
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,581
Сказал спасибо: 115
Сказали Спасибо 806 раз(а) в 583 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Yuri222, у STM32 можно хоть 8 раз по биту дописывать в байт. И это можно использовать для упрощения поиска последней записи во флеш-памяти (выделяем 8 байт и получаем счетчик на 64 записи; потом придется страницу стирать; но если на страницу не больше 64 блоков данных влезает, это будет удобно).
__________________
Смерть бандеровской мразоте!
eddy на форуме  
Непрочитано 17.09.2019, 18:54  
СлаваР
Прохожий
 
Регистрация: 19.05.2016
Сообщений: 2
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
СлаваР на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Приветствую форумчане! Нужен совет, подзапутался. Решил перейти на STM32CubMXIDE и заодно приобрёл три маленькие платы на STM32F103C8. В STM32CubMXIDE делаю проект мигания и нажимаю загрузку. ST-LINK v2 (китайский) моргает и через несколько секунда на экране STM32CubMXIDE появляется сообщение об ошибке (причина ошибки 1. Среда разработки не смогла распознать целевое устройство. Пробую подключиться через ST-LINK Utility, подключение устанавливается, даже что-то по идентификации кристалла отображает. Далее пробую Keil. В кейле похожее сообщение, но загрузить всё же позволяет. Беру отладочную плату STM32F3DISCOVERY. Обе среды разработки работают замечательно, без ошибок. Значит что-то не то с самим 103. Сталкивался кто с подобным? Заказал ещё пару подобных плат у другого поставщика, да и WaveShare 407. Уж что-то должно нормально заработать в режиме отладки.
Миниатюры:
Нажмите на изображение для увеличения
Название: not a genuine.jpg
Просмотров: 0
Размер:	9.6 Кб
ID:	145439   Нажмите на изображение для увеличения
Название: 18.jpg
Просмотров: 0
Размер:	24.5 Кб
ID:	145440  
СлаваР вне форума  
Непрочитано 19.09.2019, 12:05  
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,581
Сказал спасибо: 115
Сказали Спасибо 806 раз(а) в 583 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Вопрос по ld-скрипту. Нужно мне свободную память так распределить: в первых 2кБ хранятся настройки, а во всей остальной — логи.
Пишу:
Код:
  .myvars :
  {
    . = ALIGN(1024);
    KEEP(*(.myvars));
    . = . + 2K;
  } › rom

  .logs :
  {
    . = ALIGN(1024);
    KEEP(*(.logs))
  } › rom
Получаю в бинарнике: секция myvars лежит на смещении 0x3800, а секция logs — на смещении 0x4400 (а должна бы на 0x4000).
Но если я в описании myvars пишу
Код:
. = . + 1000;
то секция как раз 2кБ занимает!
Что это за чудеса в решете? Вообще не понимаю, как работают ld-скрипты!

В общем, все объяснилось: я иницализировал массив одним первым членом, его размер — 44Б. В итоге 44Б + 1000Б *— уже во второй странице! Вот и получалось...
Сейчас убрал инициализацию (не нужна она все равно), все четко.
__________________
Смерть бандеровской мразоте!

Последний раз редактировалось eddy; 19.09.2019 в 14:07.
eddy на форуме  
Непрочитано 19.09.2019, 21:18  
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,581
Сказал спасибо: 115
Сказали Спасибо 806 раз(а) в 583 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Теперь такой вопрос: может, кто-то успешно работал со светодиодными панелями P10 (вот такими)? Я пока даже не представляю себе, как к этому подойти! Может, SPI использовать для выдачи данных и одновременного тактирования?
А как решить проблему отсутствия мозга у китайца, который это придумал? Ведь вместо того, чтобы сделать нормальный параллельный интерфейс и за каждый такт сдвигать все изображение влево, у них какая-то дикая чересстрочная развертка (да еще и с двухбитным управлением!)... Т.е. для использования здесь DMA нужно будет из буфера экрана распихивать данные в четыре раздельных буфера! А потом уже запускать конечный автомат... Жуть какая!
__________________
Смерть бандеровской мразоте!
eddy на форуме  
Непрочитано 20.09.2019, 16:23  
dkm
Вид на жительство
 
Регистрация: 10.04.2010
Сообщений: 301
Сказал спасибо: 25
Сказали Спасибо 136 раз(а) в 79 сообщении(ях)
dkm на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от eddy Посмотреть сообщение
Теперь такой вопрос: может, кто-то успешно работал со светодиодными панелями P10 (вот такими)? Я пока даже не представляю себе, как к этому подойти! Может, SPI использовать для выдачи данных и одновременного тактирования?
А как решить проблему отсутствия мозга у китайца, который это придумал? Ведь вместо того, чтобы сделать нормальный параллельный интерфейс и за каждый такт сдвигать все изображение влево, у них какая-то дикая чересстрочная развертка (да еще и с двухбитным управлением!)... Т.е. для использования здесь DMA нужно будет из буфера экрана распихивать данные в четыре раздельных буфера! А потом уже запускать конечный автомат... Жуть какая!
Думаю принцип у P3 не особо отличается от P10. Для P3 делал на FSMC с одним, естественно, каналом DMA.
dkm вне форума  
Непрочитано 20.09.2019, 17:29  
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,581
Сказал спасибо: 115
Сказали Спасибо 806 раз(а) в 583 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

FSMC - параллельный интерфейс. А у этой фиговины интерфейс последовательный + нужен клок... Но главное извращение — это организация последовательности свечения светодиодов.
__________________
Смерть бандеровской мразоте!
eddy на форуме  
Непрочитано 20.09.2019, 17:51  
NewWriter
Почётный гражданин KAZUS.RU
 
Аватар для NewWriter
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,504
Сказал спасибо: 401
Сказали Спасибо 2,217 раз(а) в 1,315 сообщении(ях)
NewWriter на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

FSMC в синхронном режиме - можно. Можно и ногодрыгом сделать, ничего страшного не произойдет.
А вообще, эти дисплеи работают от одноплатников типа Малины. СТМки - только для статичной картинки. А видео гонит одноплатник. И там пофик, как делать, GPIO программно дергается, частоты проца там за глаза.
NewWriter вне форума  
 

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

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

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, время: 20:14.


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