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

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

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

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

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

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


 
Опции темы

Как разместить программу в STM32F4xx начиная с сектора 1

Непрочитано 01.10.2014, 20:39  
vvv998
Временная регистрация
 
Регистрация: 19.08.2014
Сообщений: 60
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
vvv998 на пути к лучшему
По умолчанию Re: Как разместить программу в STM32F4xx начиная с сектора 1

"....Тут писал vvv998 бред про, то что, что бы записать 4байта в сектор нужно считать- модифицировать-записать" - НУ ЧТО ВЫ ВЫДУМЫВАЕТЕ, ГДЕ ВЫ ЧИТАЛИ ТАКОЕ ? Да любой школьный радиолюбитель уже знает, что Flash пишется в стертый (0хFF) сектор, а писать можно хоть один байт. Если не хотите вникать, что написано, то хотя бы не считайте ОСТАЛЬНЫХ маленькими детьми... если не выразится покрепче.
Реклама:
vvv998 вне форума  
Непрочитано 02.10.2014, 06:58  
makser1
Прописка
 
Регистрация: 14.04.2009
Сообщений: 103
Сказал спасибо: 17
Сказали Спасибо 11 раз(а) в 10 сообщении(ях)
makser1 на пути к лучшему
По умолчанию Re: Как разместить программу в STM32F4xx начиная с сектора 1

Вот тут писали:
Сообщение от vvv998 Посмотреть сообщение
Такова природа записи информации в Flash. Запись производится ТОЛЬКО посекторно. Записать можно ТОЛЬКО в стертый (все ячейки 0хFF) сектор. Если надо записать один байт, то необходимо прочитать содержимое ВСЕГО сектора в буфер, изменить в буфере нужную ячейку, стереть сектор, переписать содержимое буфера в сектор. Иначе НЕЛЬЗЯ.
Не производится запись посекторно, а по 2 байта. Момент только, можно в разные места в секторе.
makser1 вне форума  
Непрочитано 02.10.2014, 09:23  
realid
Супер-модератор
 
Аватар для realid
 
Регистрация: 15.10.2007
Сообщений: 3,578
Сказал спасибо: 175
Сказали Спасибо 1,567 раз(а) в 810 сообщении(ях)
realid на пути к лучшему
По умолчанию Re: Как разместить программу в STM32F4xx начиная с сектора 1

Сообщение от makser1 Посмотреть сообщение
Не производится запись посекторно, а по 2 байта.
Лишь бы ляпнуть что ли? Потому что в сабжевом мк можно писать 1, 2, 4, 8 байт за одну процедуру записи.
realid вне форума  
Непрочитано 02.10.2014, 10:09  
vvv998
Временная регистрация
 
Регистрация: 19.08.2014
Сообщений: 60
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
vvv998 на пути к лучшему
По умолчанию Re: Как разместить программу в STM32F4xx начиная с сектора 1

Господи, да всем же ясно, что обычно пишется больше одного байта, а может и весь сектор, потому что надо ВОССТАНОВИТЬ из буфера стертые данные сектора. НЕЛЬЗЯ стереть ТОЛЬКО ОДНУ ячейку. Стирается ВЕСЬ сектор. Если хотите писать-читать по одной ячейке используйте внешнюю FRAM например.
Или в STM32F4xx можно стирать Flash по одному байту??? Может я чего пропустил в описании ?

Последний раз редактировалось vvv998; 02.10.2014 в 10:29.
vvv998 вне форума  
Непрочитано 02.10.2014, 10:28  
realid
Супер-модератор
 
Аватар для realid
 
Регистрация: 15.10.2007
Сообщений: 3,578
Сказал спасибо: 175
Сказали Спасибо 1,567 раз(а) в 810 сообщении(ях)
realid на пути к лучшему
По умолчанию Re: Как разместить программу в STM32F4xx начиная с сектора 1

Уважаемый, вы чего так возбудились? Сколько вы еще будете повторять известную особенность флеш-памяти?
Вам уже все сказали как действовать. Выбирать вам.
realid вне форума  
Непрочитано 02.10.2014, 10:42  
vvv998
Временная регистрация
 
Регистрация: 19.08.2014
Сообщений: 60
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
vvv998 на пути к лучшему
По умолчанию Re: Как разместить программу в STM32F4xx начиная с сектора 1

А зачем писать "бред" и т.д. или вы думаете на форуме задают вопросы дети маленькие из садика ? Может иногда действительно что то написано не совсем понятно или некорректно, но не надо обзывать ....

Я редко пишу на формуме, но регулярно читаю. И иногда неприятно, когда даже над новичком начинают насмехаться, обзывать. Ведь писать может и школьник и студент первокурсник у которого насмешки ОТОБЪЮТ охоту заниматься этим делом и найдет себе что то более "приятное".

Последний раз редактировалось vvv998; 02.10.2014 в 10:48.
vvv998 вне форума  
Непрочитано 07.10.2014, 19:37  
ATMExpert
Частый гость
 
Регистрация: 13.10.2008
Сообщений: 23
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 1 сообщении
ATMExpert на пути к лучшему
По умолчанию Re: Как разместить программу в STM32F4xx начиная с сектора 1

uint16_t ParamsData[1024] __attribute__((at(0x0800C000)));
будет выделено 1024 16-разрядных слов с адреса указанного в атрибуте
0x0800C000 - адрес последнего 16-кБ блога флэша.
ATMExpert вне форума  
Эти 2 пользователя(ей) сказали Спасибо ATMExpert за это сообщение:
niXto (07.10.2014), Uvavan (08.10.2014)
Непрочитано 08.10.2014, 22:13  
vvv998
Временная регистрация
 
Регистрация: 19.08.2014
Сообщений: 60
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
vvv998 на пути к лучшему
По умолчанию Re: Как разместить программу в STM32F4xx начиная с сектора 1

Это для: Keil 5, IAR ? CooCoX все равно размещает там программу.
vvv998 вне форума  
Непрочитано 09.10.2014, 10:29  
Vitek_S
Прохожий
 
Регистрация: 18.06.2005
Сообщений: 7
Сказал спасибо: 3
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Vitek_S на пути к лучшему
По умолчанию Re: Как разместить программу в STM32F4xx начиная с сектора 1

Оставляем вектор прерываний и старта в Sector0(16кБ).
Sector1 оставляем для вашего "EEPROM"(16кБ).
Sector2 и остальные для программы.
Не нужен бутлоадер - все делается линковщиком.
в прикрепленом файле пример файла для линковщика ИАР. Я думаю найдете где выставить такое же в Кейле.
Правда с перепрошивкой могут быть проблемы: не пользуйтесь стиранием всего Флеша, только необходимые сектора.
Вложения:
Тип файла: zip stm32f4xx_flash.zip (730 байт, 40 просмотров)
Vitek_S вне форума  
Непрочитано 09.10.2014, 10:51  
vvv998
Временная регистрация
 
Регистрация: 19.08.2014
Сообщений: 60
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
vvv998 на пути к лучшему
По умолчанию Re: Как разместить программу в STM32F4xx начиная с сектора 1

Спасибо.
В IAR вроде все получается.

Если необходимо размещать константы, которые в процессе работы необходимо БЫСТРО изменить, то я обычно использую внешнюю FRAM. Потому что стирание даже короткого сектора занимает слишком много времени.

Последний раз редактировалось vvv998; 09.10.2014 в 10:54.
vvv998 вне форума  
 
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Решено] Так, рассказик :)) Я долго ржал :)) DK Отвлекитесь, эмбеддеры! 7 31.08.2007 22:33
[Решено] Сборник перлов любителей кабельщины mikesmith Отвлекитесь, эмбеддеры! 135 14.08.2007 15:49
[Решено] Всем эмбеддерам посвящается... Decan Отвлекитесь, эмбеддеры! 0 24.10.2005 14:43


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


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.