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

 
 
> LPC1778 не получается переместить программу, Не могу переместить программу в нужный адрес FLASH
Metallist64
сообщение May 8 2013, 12:40
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 103
Регистрация: 29-01-08
Пользователь №: 34 558



Здравствуйте уважаемые специалисты.
Использую KEIL 4.53 + LPC1778.
Столкнулся с непонятной ситуацией.
При попытке зашить программу в нужный адрес, отличный от 0 (например 0х10000)- получаю отвал PLL ну и остановку контроллера. В общем для LPC2367 я выставлял IROM1 start address 0x10000 - все было хорошо. Контроллер работал и отлаживался замечательно.
А на LPC1778 что-то не проходит такой фокус. Причем создается ощущение, что контроллер просто не запускается.
Может надо таблицу векторов перемещать, или еще что-нибудь а RAM ??? А то наблюдается полный ступор...
Если кто сталкивался, прошу помощи.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Metallist64
сообщение May 15 2013, 13:05
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 103
Регистрация: 29-01-08
Пользователь №: 34 558



Вот я баран!
Я в коде объявил несколько переменных, которые имеют абсолютный адрес во флэши.
Поэтому при записи основной программы, затирались сектора, в которых лежал бутлоадер.
Теперь бут не затирается, основная программа отлаживается, PLL вроде работает правильно(частоты показываются правильные), но с прерываниями пока не разобрался.
Как только прерывание - получаем ступор. Хотя бут вроде все корректно настраивает.
Может в стартапе снова инициализируется адрес 0х0 для таблице векторов?

Сообщение отредактировал Metallist64 - May 15 2013, 13:07
Go to the top of the page
 
+Quote Post
KnightIgor
сообщение May 15 2013, 20:56
Сообщение #3


Знающий
****

Группа: Участник
Сообщений: 643
Регистрация: 29-05-09
Из: Германия
Пользователь №: 49 725



Цитата(Metallist64 @ May 15 2013, 14:05) *
Как только прерывание - получаем ступор. Хотя бут вроде все корректно настраивает.
Может в стартапе снова инициализируется адрес 0х0 для таблице векторов?

Модицифируйте startup_xxxx.s, как я предлагал:
Код
__Vectors       DCD     __initial_sp            ; Top of Stack
                DCD     Reset_Handler           ; Reset Handler
                DCD     NMI_Handler             ; NMI Handler
...
VTOR            EQU     (0xE000E000 + 0x0D08)
Reset_Handler   PROC
                EXPORT  Reset_Handler             [WEAK]
                IMPORT  __main
                IMPORT  SystemInit
; ++++++++++++++++++++++++++++++++++++++++++++++
                MOV32   R1, #VTOR       ; Load VTOR register address
                LDR     R0, =__Vectors  ; Load user program vector table address
                STR     R0, [R1]         ; Store to VTOR to relocate the vector table
; ++++++++++++++++++++++++++++++++++++++++++++++
                LDR     R0, =SystemInit
                BLX     R0              
                LDR     R0, =__main
                BX      R0
                ENDP


Между +++ в стандартный startup_xxxx добавлены команды, которые "следят" за тем, чтобы указатель на векторную таблицу всегда был настроен правильно.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Metallist64   LPC1778 не получается переместить программу   May 8 2013, 12:40
- - KnightIgor   Цитата(Metallist64 @ May 8 2013, 13:40) М...   May 8 2013, 20:23
- - jcxz   Так.... Как обычно включаю экстрасенсорные способн...   May 9 2013, 15:39
|- - Axel   ...откуда такие выводы про PLL??? [/quote] Моя инт...   May 9 2013, 17:20
|- - jcxz   Оттуда-же откуда Ваши фантазии про бутлоадер   May 9 2013, 17:56
|- - Axel   Цитата(jcxz @ May 9 2013, 20:56) Оттуда-ж...   May 10 2013, 02:59
|- - jcxz   Нет, не означает. Возможно - только планируется. А...   May 10 2013, 06:32
- - sensor_ua   Может, всё хорошо, только отладчику скрипт нужен с...   May 12 2013, 05:01
|- - jcxz   Предлагаю переименовать тему в "Пасхальные га...   May 12 2013, 07:40
|- - Metallist64   Цитата(sensor_ua @ May 12 2013, 08:01) Мо...   May 13 2013, 13:17
- - Metallist64   Честно говоря, топикстартер пытается понять, что е...   May 12 2013, 13:38
- - Metallist64   Большое спасибо, всем заинтересовавшимся! ОФФТ...   May 12 2013, 14:51
|- - _Артём_   Цитата(Metallist64 @ May 12 2013, 17:51) ...   May 12 2013, 15:03
|- - jcxz   Цитата(Metallist64 @ May 12 2013, 20:51) ...   May 12 2013, 15:47
- - sensor_ua   Всё-таки попробуйте Dbg_ROM.ini подложить дебаггер...   May 12 2013, 15:18
- - Metallist64   Сейчас попробовал следующий вариант: -Полностью оч...   May 13 2013, 06:41
|- - KnightIgor   Цитата(Metallist64 @ May 13 2013, 07:41) ...   May 13 2013, 10:14
|- - jcxz   Цитата(KnightIgor @ May 13 2013, 16:14) а...   May 13 2013, 12:18
|- - Metallist64   Цитата(jcxz @ May 13 2013, 15:18) А вот п...   May 13 2013, 12:25
|- - jcxz   Меняется только адрес начала флеш-памяти, описанны...   May 13 2013, 12:44
- - sensor_ua   Вот, например, цифирьки по образу и подобию https:...   May 13 2013, 15:52
- - Metallist64   Уважаемые специалисты. Вроде сделал как надо: Код...   May 14 2013, 07:25
- - sensor_ua   ЦитатаУказатель стека указывает на ОЗУ... А настро...   May 14 2013, 11:48
|- - Metallist64   Цитата(sensor_ua @ May 14 2013, 14:48) А ...   May 14 2013, 12:46
- - sensor_ua   А для ROM со смещением так пробовал? Я из RAM не п...   May 14 2013, 14:53
|- - Metallist64   Цитата(sensor_ua @ May 14 2013, 17:53) А ...   May 14 2013, 20:57
- - Metallist64   Пока решил оставить затею отлаживать прошивку с лю...   May 15 2013, 07:36
- - Metallist64   В руководстве пользователя написано, что с адреса ...   May 15 2013, 08:44
|- - Metallist64   Цитата(KnightIgor @ May 15 2013, 23:56) М...   May 16 2013, 07:59
- - Golikov A.   так и программу из флеши в озу тоже никто кроме ва...   May 16 2013, 19:40
- - Metallist64   В ближайшее время попробую переложить в ОЗУ. Сейча...   May 17 2013, 07:35


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

 


RSS Текстовая версия Сейчас: 28th June 2025 - 08:59
Рейтинг@Mail.ru


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