Jump to content
    

flashloader в at91sam7x

Здравствуйте. Такая проблема. У меня at91sam7x512, среда IAR. Чтобы не загружать ОЗУ, раньше константные массивы помещала во flash, создав в ней свои секции, файл линкера прилагается. Все вроде работало не один месяц. Пару дней назад проект перестал загружаться во flash(прошиваю по j-tag, программатор J-Link). То есть, вроде все исполняется, IAR пишет "programming flash", но зависает, и прошивка так и не может быть завершена . После отмены прошивки, в Debuge Log видно, что последний записанный адрес - это стартовый адрес моих секций. Кроме того, время от времени появляется сообщение - RTCK not connected, хотя выводы вроде все пропаяны, TCK приходят на разъем J-Linkа. Если убрать секции из линковочного файла, то прошивка выполняется успешно. Притом, пробовала менять адреса секций, всегда зависает именно на этих адресах. Время от времени вообще отказывается грузиться, сообщая, что нет питания, хотя питание есть :laughing:

Подскажите, в чем тут может быть дело? может, я сама не заметила, как внесла какие-то недопустимые правки во flash.icf? :wacko:

flash.txt

Share this post


Link to post
Share on other sites

Притом, пробовала менять адреса секций, всегда зависает именно на этих адресах.

А почему они все у вас начинаются с нечетного адреса?

Share this post


Link to post
Share on other sites

А почему они все у вас начинаются с нечетного адреса?

Даже не знаю, адрес был выбран наобум :laughing: Потом я меняла и с четного - не помогло :laughing:

Share this post


Link to post
Share on other sites

Тогда еще вариант: сейчас все ваши секции находятся в пространстве EFC1. Не пробовали переместить вниз к EFC0?

Share this post


Link to post
Share on other sites

Не пробовали переместить вниз к EFC0?

А почему это существенно? думала, разместить в самом конце флешки будет логично... :rolleyes:

Надо попробовать:) какой, например, адрес советуете взять?;)

Share this post


Link to post
Share on other sites

После перемещения секций в другие области, обнаружилась другая проблема:)

Компилятор ругается, что no FIQ_STACK section include и что FIQ limit может быть равен нулю. Программа грузится, но сразу после настройки тактирования переполняется стек(CSTACK), стек у меня 16 кб, Оставляю в проге только настройку тактов и пустой for - переполняться нечем, но тем не менее. Такое впечатление, что какие-то прерывания.

В каком файле можно посмотреть именно про FIQ_STACK? И что вообще могло произойти, проект исправно прошивался много месяцев :wacko:

:help:

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...