Daria 0 February 28, 2011 Posted February 28, 2011 (edited) · Report post Здравствуйте. Извините, что пишу старую проблему в новую тему, но в старую никто не заходит(( А очень нужна помощь!!! В файле линкера размещаю секции. Одна секция нужна мне для того, чтобы хранить в ней данные, она не должна стираться загрузчиком. Создается сегмент памяти, в нем размещается секция, а в программе идет запись значений в адреса, лежащие в этой секции. файл линкера прилагается. Еще три секции нужны для размещения в них константных массивов. так же создаю секции, в тексте программы - #pragma(location...) и помещаю константные массивы. Но происходит вот что - выделенные секции блокируются, и при следующей прошивке, IAR не может их переписать. В истории видно, что последнее действие - попытка разблокировать адрес из этих секций. В случае с первой секцией все правильно, она должна быть залочена. Но остальные-то получается, переписываются при каждой прошивке(чтобы записать туда константы). Не сумев разблокировать, так и виснет. Что делать? Как разместить секции так, чтобы просто потом в программе указывать адреса размещений, но не блокировать область? заранее благодарна за возможный ответ:) Хотя я думала, что секции переписываться и не должны, программа-то туда не должна записываться. Там размещаются только константы... На всякий случай вот файлы из board flash.txt board_memories._.txt cstartup.txt LowLevel.txt Edited February 28, 2011 by Daria Quote Share this post Link to post Share on other sites More sharing options...
DpInRock 0 March 1, 2011 Posted March 1, 2011 · Report post она не должна стираться загрузчиком Так пусть не затирает... Или он врагами зашит? Лично я бы не стал связываться с такой сложной организацией. Выделяете страницу подходящую флэша и в ней храните данные (некоторое количество минимально стираемых областей). Обращаетесь к этой области по типизированному указателю. (Можно по куче разных указателей - на вкус). От компилятора вообще эту область скрываете. Типа нету ея совсем. Вот он и не будет туда лезть. Что такое "залочено" я не очень понимаю. В смысле, понимать - понимаю, но как этот процесс может происходить вне вашего, ясно сформулированного желания - не понимаю. Quote Share this post Link to post Share on other sites More sharing options...
Daria 0 March 1, 2011 Posted March 1, 2011 (edited) · Report post Так пусть не затирает... Или он врагами зашит? Лично я бы не стал связываться с такой сложной организацией. Выделяете страницу подходящую флэша и в ней храните данные (некоторое количество минимально стираемых областей). Выяснилось, что области тут вообще ни при чем ;) . Выкинула их из программы, и оказалось, что не грузится код, размером больше 64 кб. То есть, если сократить прогу до 63, допустим, все прошьется лучшим образом, а чуть добавляешь - и зависает. Прошивает 64 и зависает на следующем сегменте. Что могло произойти? Раньше все грузилось, никаких проблем не возникало Edited March 1, 2011 by Daria Quote Share this post Link to post Share on other sites More sharing options...
DpInRock 0 March 1, 2011 Posted March 1, 2011 · Report post Теть Даш, вы бы обозначили как-то конкретный тип процессора, тулинг для прошивки какой. Ибо прошиваете вы, а не призрак. Не бывает такого, прошиваю, а ОНО не прошивается. ОНО - это злые клоуны у Стивена Кинга. А у вас на 100% детерминированная железка. Quote Share this post Link to post Share on other sites More sharing options...
Daria 0 March 1, 2011 Posted March 1, 2011 · Report post Теть Даш, вы бы обозначили как-то конкретный тип процессора, тулинг для прошивки какой. Ибо прошиваете вы, а не призрак. Не бывает такого, прошиваю, а ОНО не прошивается. ОНО - это злые клоуны у Стивена Кинга. А у вас на 100% детерминированная железка. Злые клоуны, точно! at91sam7x512 IAR 5.41 Я уже задавала такой вопрос в другой теме, там все описала, и как-то не подумала, что тема-то новая, значит, и описать надо заново! :laughing: Заработалась, наверное. Quote Share this post Link to post Share on other sites More sharing options...
Daria 0 March 1, 2011 Posted March 1, 2011 · Report post Нашла на форуме, уже когда-то поднимали такую тему! http://electronix.ru/forum/index.php?showt...82&hl=ewarm Ответ непонятный :( И единственный:( Что такое RDI? Но радует, что у кого-то такое уже случалось, значит, дело не в моей программе! Quote Share this post Link to post Share on other sites More sharing options...
DpInRock 0 March 2, 2011 Posted March 2, 2011 · Report post Господь дал вам самбу, а вы пользуетесь какой-то ерундой. Никогда не пойму такого. Quote Share this post Link to post Share on other sites More sharing options...
Daria 0 March 2, 2011 Posted March 2, 2011 · Report post Господь дал вам самбу, а вы пользуетесь какой-то ерундой. Никогда не пойму такого. Самба не позволит отлаживать программу. Все дело в том, что объем проги не позволяет отлаживаться в debuge, она превышает размер ОЗУ, поэтому в последние несколько месяцев мне приходилось отлаживаться прямо в Release. А для этого надо загрузить прогу во flash. А она перестала грузиться. Quote Share this post Link to post Share on other sites More sharing options...
DpInRock 0 March 2, 2011 Posted March 2, 2011 · Report post Debug, Release - даже не смешно. Отладчик должен быть встроенным по жизни. И зачем отлаживать в ОЗУ. Вот самба как раз позволит спокойно записать во флэш и с нее стартовать. (Без всяких перевертываний битиков NV). Т.е. стартует самба всегда, но вы с консоли переходите на программу во флэш... К примеру. Ибо то, что работает в ОЗУ - это совсем не то, что будет работать во флэш. Сильно не то. Т.е. отлаживать или проверять все заново надо будет. А заливка флэша ничуть не дольше заливки ОЗУ. Ну мож чуть дольше, разница непринципиальна. Всю жизнь отлаживаюсь из флэша. 30 000 перезаписей не достигал ни разу. А самбу надо свою, сопряженную с отладчиком. Вот стоит раз чуток написать себе свою самбу - и всю жизнь потом не знать проблем. (Там кода, если на дельфях - на два экрана всего).... Quote Share this post Link to post Share on other sites More sharing options...