реклама на сайте
подробности

 
 
> Инициализация EEPROM в IAR STM32L1
Baser
сообщение Dec 14 2017, 15:20
Сообщение #1


Просто Che
*****

Группа: Свой
Сообщений: 1 567
Регистрация: 22-05-07
Из: ExUSSR
Пользователь №: 27 881



Как в IAR для STM32L1 сделать так, чтобы инициализированная структура, находящаяся в EEPROM, программировалась одним проходом с флеш памятью. То есть, чтобы данные попадали в hex файл прошивки.

Пока у меня это никак не получается, хотя все остальное, связанное с EEPROM, работает.
Причем если включить отладку в симуляторе, то эти данные грузятся в EEPROM симулятора,
а если включить отладку в плате через ST-LINK, то ничего нет. И hex файл без этих данных.

IAR EW ARM 7.50.1
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ViKo
сообщение Dec 15 2017, 10:55
Сообщение #2


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



В Keil для программирования flash выбирается алгоритм. Например, OTP запрограммировать - нужно добавить алгоритм для этого. Может, и для EEPROM нужен дополнительный алгоритм? Сам c процессорами с EEPROM в Keil не работал.
Go to the top of the page
 
+Quote Post
Baser
сообщение Dec 15 2017, 11:15
Сообщение #3


Просто Che
*****

Группа: Свой
Сообщений: 1 567
Регистрация: 22-05-07
Из: ExUSSR
Пользователь №: 27 881



Цитата(ViKo @ Dec 15 2017, 12:55) *
Может, и для EEPROM нужен дополнительный алгоритм?

Да, для записи в EEPROM STM32L1 нужна разблокировка защиты, отличная от разблокировки флеш. Вот ИАР ее и не поддерживает.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Dec 15 2017, 11:57
Сообщение #4


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(Baser @ Dec 15 2017, 14:15) *
Да, для записи в EEPROM STM32L1 нужна разблокировка защиты, отличная от разблокировки флеш. Вот ИАР ее и не поддерживает.

Имею в виду не свою программу, а выбираемый в настройках проекта Programming Algorithm. Может, что-то подобное и в IAR есть.
Go to the top of the page
 
+Quote Post
VladislavS
сообщение Dec 15 2017, 12:09
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 475
Регистрация: 14-04-05
Из: Москва
Пользователь №: 4 140



Цитата(ViKo @ Dec 15 2017, 14:57) *
Имею в виду не свою программу, а выбираемый в настройках проекта Programming Algorithm. Может, что-то подобное и в IAR есть.


У IAR есть два механизма для этого.

1. Перед загрузкой данных запускаются макросы, в которых можно сконфигурировать чип для корректной загрузки. Проинициализировать генераторы, шины, разлочить запись и т.д.

2. Механизм Flash Loader. В память процессора загружаеются специальные функции инициализации/стирания/записи блоков данных, написанные пользователем и данные для прошивки. Управление передаётся этим функциям по мере загрузки новых данных. При таком подходе можно любые данные куда угодно прошивать.

Забыл сказать, эти два способа можно комбинировать sm.gif
Go to the top of the page
 
+Quote Post
Baser
сообщение Dec 15 2017, 12:53
Сообщение #6


Просто Che
*****

Группа: Свой
Сообщений: 1 567
Регистрация: 22-05-07
Из: ExUSSR
Пользователь №: 27 881



Цитата(VladislavS @ Dec 15 2017, 14:09) *
У IAR есть два механизма для этого.

1. Перед загрузкой данных запускаются макросы ...

2. Механизм Flash Loader. ...

Снимаю шляпу, если вы это все освоили и применяете a14.gif
Я так глубоко никогда не лез.

Это все здорово, но в данном случае речь идет просто о не поддержке ИАРом в аппаратном отладчике записи в EEPROM.
Применение макросов и самописного Flash Loader - это чересчур трудоемкие костыли для исправления их недоработок.

Проще применить run-time инициализацию.
Go to the top of the page
 
+Quote Post
VladislavS
сообщение Dec 15 2017, 13:29
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 475
Регистрация: 14-04-05
Из: Москва
Пользователь №: 4 140



Цитата(Baser @ Dec 15 2017, 15:53) *
Снимаю шляпу, если вы это все освоили и применяете a14.gif

А как по другому? Это у AVR или там STM8 всё стандартно, а ARM-ов такой зоопарк, да ещё и схемы включения одного чипа могут быть разными.

Цитата(Baser @ Dec 15 2017, 15:53) *
Я так глубоко никогда не лез.

Да это в первый раз тяжело, а потом всё по шаблону... У меня на одном изделии Flash Loader на ЖКИ выводил информацию по процессу прошивки. Сначала ради отладки, потом просто для хохмы.

Цитата(Baser @ Dec 15 2017, 15:53) *
Это все здорово, но в данном случае речь идет просто о не поддержке ИАРом в аппаратном отладчике записи в EEPROM.

3-4 строки для разлочки записи в макросе и всё взлетит. Чутка документацию просто почитать надо.


Цитата(Baser @ Dec 15 2017, 15:53) *
Применение макросов и самописного Flash Loader - это чересчур трудоемкие костыли для исправления их недоработок.

Это не костыли!!! Это штатный механизм работы IAR. Просто для каких-то чипов в комплекте уже есть полноценные скрипты и flashloader, а для каких-то их надо сделать самому. Ну откуда знать разработчикам IAR на какой порт SPI и какого типа флэшку вы повисите в своём проекте? А шить её всё равно надо.

Цитата(Baser @ Dec 15 2017, 15:53) *
Проще применить run-time инициализацию.

В данном случае да, но инструмент которым вы работаете лучше знать получше sm.gif
Go to the top of the page
 
+Quote Post
Baser
сообщение Dec 15 2017, 13:53
Сообщение #8


Просто Che
*****

Группа: Свой
Сообщений: 1 567
Регистрация: 22-05-07
Из: ExUSSR
Пользователь №: 27 881



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

Цитата(VladislavS @ Dec 15 2017, 15:29) *
Это не костыли!!! Это штатный механизм работы IAR. Просто для каких-то чипов в комплекте уже есть полноценные скрипты и flashloader, а для каких-то их надо сделать самому.

Вот об этом я и говорю! Это и есть недоработки ИАРовцев. Это же не open-source проект IDE типа "сделай сам",
а чудо шведской частной компании, за которое положено платить приличные деньги.
Позиционируется как "купил-поставил-работаешь". Без недели плясок с бубном и дописывания поддержки нужного чипа.

Цитата
Ну откуда знать разработчикам IAR на какой порт SPI и какого типа флэшку вы повисите в своём проекте? А шить её всё равно надо.

С этой мыслью тоже не согласен, все это так только для процесса разработки.
Программировать чипы/платы на производстве никто ИАРом не будет.
Только специализированный программатор, куда можно грузить всю нужную конфигурацию и прошивки из сохраненного проекта.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Baser   Инициализация EEPROM в IAR STM32L1   Dec 14 2017, 15:20
- - Сергей Борщ   Помнится, в ИАРе для AVR можно было вывести дополн...   Dec 14 2017, 16:46
- - VladislavS   В ARM версии IAR вроде нет встроенных средств для...   Dec 14 2017, 18:43
- - Baser   Почитал, потыкался, и судя по всему IAR ARM не под...   Dec 15 2017, 10:31
|- - jcxz   Цитата(Baser @ Dec 15 2017, 14:53) Примен...   Dec 16 2017, 14:31
- - VladislavS   В конфигурации линкера всегда можно указать какие ...   Dec 15 2017, 11:47
- - Obam   Сам первое включение осуществлял после "STM32...   Dec 15 2017, 16:46
- - VladislavS   Цитата(Baser @ Dec 15 2017, 16:53) Только...   Dec 15 2017, 18:45
- - Baser   Цитата(VladislavS @ Dec 15 2017, 20:45) А...   Dec 15 2017, 22:13


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 31st July 2025 - 16:06
Рейтинг@Mail.ru


Страница сгенерированна за 0.01606 секунд с 7
ELECTRONIX ©2004-2016