|
Инициализация EEPROM в IAR STM32L1 |
|
|
|
Dec 14 2017, 15:20
|

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

|
Как в IAR для STM32L1 сделать так, чтобы инициализированная структура, находящаяся в EEPROM, программировалась одним проходом с флеш памятью. То есть, чтобы данные попадали в hex файл прошивки.
Пока у меня это никак не получается, хотя все остальное, связанное с EEPROM, работает. Причем если включить отладку в симуляторе, то эти данные грузятся в EEPROM симулятора, а если включить отладку в плате через ST-LINK, то ничего нет. И hex файл без этих данных.
IAR EW ARM 7.50.1
|
|
|
|
|
 |
Ответов
|
Dec 15 2017, 12:09
|
Местный
  
Группа: Свой
Сообщений: 475
Регистрация: 14-04-05
Из: Москва
Пользователь №: 4 140

|
Цитата(ViKo @ Dec 15 2017, 14:57)  Имею в виду не свою программу, а выбираемый в настройках проекта Programming Algorithm. Может, что-то подобное и в IAR есть. У IAR есть два механизма для этого. 1. Перед загрузкой данных запускаются макросы, в которых можно сконфигурировать чип для корректной загрузки. Проинициализировать генераторы, шины, разлочить запись и т.д. 2. Механизм Flash Loader. В память процессора загружаеются специальные функции инициализации/стирания/записи блоков данных, написанные пользователем и данные для прошивки. Управление передаётся этим функциям по мере загрузки новых данных. При таком подходе можно любые данные куда угодно прошивать. Забыл сказать, эти два способа можно комбинировать
|
|
|
|
|
Dec 15 2017, 12:53
|

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

|
Цитата(VladislavS @ Dec 15 2017, 14:09)  У IAR есть два механизма для этого.
1. Перед загрузкой данных запускаются макросы ...
2. Механизм Flash Loader. ... Снимаю шляпу, если вы это все освоили и применяете Я так глубоко никогда не лез. Это все здорово, но в данном случае речь идет просто о не поддержке ИАРом в аппаратном отладчике записи в EEPROM. Применение макросов и самописного Flash Loader - это чересчур трудоемкие костыли для исправления их недоработок. Проще применить run-time инициализацию.
|
|
|
|
|
Dec 15 2017, 13:29
|
Местный
  
Группа: Свой
Сообщений: 475
Регистрация: 14-04-05
Из: Москва
Пользователь №: 4 140

|
Цитата(Baser @ Dec 15 2017, 15:53)  Снимаю шляпу, если вы это все освоили и применяете  А как по другому? Это у 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 инициализацию. В данном случае да, но инструмент которым вы работаете лучше знать получше
|
|
|
|
|
Dec 15 2017, 13:53
|

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

|
Абсолютно с вами согласен в том, что применяемый инструмент желательно знать в совершенстве. Но лень-матушка и желание легких путей - это двигатель прогресса  Цитата(VladislavS @ Dec 15 2017, 15:29)  Это не костыли!!! Это штатный механизм работы IAR. Просто для каких-то чипов в комплекте уже есть полноценные скрипты и flashloader, а для каких-то их надо сделать самому. Вот об этом я и говорю! Это и есть недоработки ИАРовцев. Это же не open-source проект IDE типа "сделай сам", а чудо шведской частной компании, за которое положено платить приличные деньги. Позиционируется как "купил-поставил-работаешь". Без недели плясок с бубном и дописывания поддержки нужного чипа. Цитата Ну откуда знать разработчикам IAR на какой порт SPI и какого типа флэшку вы повисите в своём проекте? А шить её всё равно надо. С этой мыслью тоже не согласен, все это так только для процесса разработки. Программировать чипы/платы на производстве никто ИАРом не будет. Только специализированный программатор, куда можно грузить всю нужную конфигурацию и прошивки из сохраненного проекта.
|
|
|
|
Сообщений в этой теме
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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|