Перейти к содержанию
    

Здравствуйте. Извините, что пишу старую проблему в новую тему, но в старую никто не заходит(( А очень нужна помощь!!!

В файле линкера размещаю секции.

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

файл линкера прилагается.

Еще три секции нужны для размещения в них константных массивов. так же создаю секции, в тексте программы - #pragma(location...) и помещаю константные массивы.

Но происходит вот что - выделенные секции блокируются, и при следующей прошивке, IAR не может их переписать. В истории видно, что последнее действие - попытка разблокировать адрес из этих секций.

В случае с первой секцией все правильно, она должна быть залочена. Но остальные-то получается, переписываются при каждой прошивке(чтобы записать туда константы). Не сумев разблокировать, так и виснет.

Что делать? Как разместить секции так, чтобы просто потом в программе указывать адреса размещений, но не блокировать область?

заранее благодарна за возможный ответ:)

 

Хотя я думала, что секции переписываться и не должны, программа-то туда не должна записываться. Там размещаются только константы...

На всякий случай вот файлы из board

flash.txt

board_memories._.txt

cstartup.txt

LowLevel.txt

Изменено пользователем Daria

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

она не должна стираться загрузчиком

Так пусть не затирает... Или он врагами зашит?

 

Лично я бы не стал связываться с такой сложной организацией.

Выделяете страницу подходящую флэша и в ней храните данные (некоторое количество минимально стираемых областей).

Обращаетесь к этой области по типизированному указателю. (Можно по куче разных указателей - на вкус).

От компилятора вообще эту область скрываете. Типа нету ея совсем. Вот он и не будет туда лезть.

 

Что такое "залочено" я не очень понимаю. В смысле, понимать - понимаю, но как этот процесс может происходить вне вашего, ясно сформулированного желания - не понимаю.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так пусть не затирает... Или он врагами зашит?

 

Лично я бы не стал связываться с такой сложной организацией.

Выделяете страницу подходящую флэша и в ней храните данные (некоторое количество минимально стираемых областей).

Выяснилось, что области тут вообще ни при чем ;) . Выкинула их из программы, и оказалось, что не грузится код, размером больше 64 кб. То есть, если сократить прогу до 63, допустим, все прошьется лучшим образом, а чуть добавляешь - и зависает. Прошивает 64 и зависает на следующем сегменте.

Что могло произойти? Раньше все грузилось, никаких проблем не возникало

Изменено пользователем Daria

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Теть Даш, вы бы обозначили как-то конкретный тип процессора, тулинг для прошивки какой.

 

Ибо прошиваете вы, а не призрак. Не бывает такого, прошиваю, а ОНО не прошивается. ОНО - это злые клоуны у Стивена Кинга.

А у вас на 100% детерминированная железка.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Теть Даш, вы бы обозначили как-то конкретный тип процессора, тулинг для прошивки какой.

 

Ибо прошиваете вы, а не призрак. Не бывает такого, прошиваю, а ОНО не прошивается. ОНО - это злые клоуны у Стивена Кинга.

А у вас на 100% детерминированная железка.

:biggrin: Злые клоуны, точно! :biggrin: at91sam7x512 IAR 5.41

Я уже задавала такой вопрос в другой теме, там все описала, и как-то не подумала, что тема-то новая, значит, и описать надо заново! :laughing: Заработалась, наверное.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нашла на форуме, уже когда-то поднимали такую тему!

http://electronix.ru/forum/index.php?showt...82&hl=ewarm

Ответ непонятный :( И единственный:( Что такое RDI?

Но радует, что у кого-то такое уже случалось, значит, дело не в моей программе!

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Господь дал вам самбу, а вы пользуетесь какой-то ерундой. Никогда не пойму такого.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Господь дал вам самбу, а вы пользуетесь какой-то ерундой. Никогда не пойму такого.

Самба не позволит отлаживать программу.

Все дело в том, что объем проги не позволяет отлаживаться в debuge, она превышает размер ОЗУ, поэтому в последние несколько месяцев мне приходилось отлаживаться прямо в Release. А для этого надо загрузить прогу во flash. А она перестала грузиться.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Debug, Release - даже не смешно.

Отладчик должен быть встроенным по жизни.

И зачем отлаживать в ОЗУ. Вот самба как раз позволит спокойно записать во флэш и с нее стартовать. (Без всяких перевертываний битиков NV). Т.е. стартует самба всегда, но вы с консоли переходите на программу во флэш... К примеру.

 

Ибо то, что работает в ОЗУ - это совсем не то, что будет работать во флэш. Сильно не то. Т.е. отлаживать или проверять все заново надо будет.

 

 

А заливка флэша ничуть не дольше заливки ОЗУ. Ну мож чуть дольше, разница непринципиальна.

Всю жизнь отлаживаюсь из флэша. 30 000 перезаписей не достигал ни разу.

 

А самбу надо свою, сопряженную с отладчиком. Вот стоит раз чуток написать себе свою самбу - и всю жизнь потом не знать проблем. (Там кода, если на дельфях - на два экрана всего)....

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...