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

 
 
> Reinvoke ISP, LPC2388, Процессор отвечает не на все команды
Dreamer
сообщение Mar 26 2010, 10:12
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 51
Регистрация: 13-01-06
Из: Санкт-Петербург
Пользователь №: 13 154



Здравствуйте.

Хочу в процессе выполнения программы запустить бутлоадер и перепрошить программу.
Для этого в нужном мне месте программы вызываю команду загрузчика "Reinvoke ISP", старался делать все по юзер мануалу, но видимо, что-то недоделал.

Вот код:

Код
#define IAP_LOCATION 0x7ffffff1
unsigned long command[5]={0};
unsigned long result[3]={0};
typedef void (*IAP)(unsigned int[],unsigned int[]);
IAP iap_entry = (IAP)IAP_LOCATION;

#define ISP_OPTION_2
void PrepareProgCPU()
{
    VICINTENCLEAR = 0xFFFFFFFF;     // Disable all interrupts
#ifdef  ISP_OPTION_2     
    //по документации - в этом случае надо выключать плл и выбрать внутренний IRC
    MAMCR =  0; //читал, что в ранних ревизиях нужно отключать MAM, у меня ревизия B
    PLLCON  = 0x00;
    PLLFEED = 0xAA;
    PLLFEED = 0x55;
    CLKSRCSEL=0;
#endif //иначе исполняем с опцией "1" - pll не выключаем
    command[0] = 57;
    iap_entry(command,result);
}


В результате получаем следующую картину.
Вызываем в программе указанную функцию. Открываем терминал. Настраиваем (пока пользуюсь скоростью 9600).
Шлем в терминал символ "?".
Получаем ответ "Synhronized". Получается, что боотлоадер запустился и отвечает на команды.
Закрываем терминал, открываем флешмеджик. Настраиваем на те же параметры, делаем старт.
Происходит стирание флеша (в статусной строке проскакивают сообщения "Erasing block").
Далее в статусной строке пишется "Programming..."
После чего выводится сообщение "Anable to communicate (transmit/receive)". Программирование прекращается, если запустить терминал, на команды больше не отвечаем.

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

Компилирую программу с "#define ISP_OPTION_1". Это допустимо, как утверждается в документации, при этом должна установиться PCLK = CCLK/4.
У меня используется частота 72 мегагерца, если поделить на 4, получается 18, для скорости 9600 это допустимое значение.

Тестируем, получаем абсолютно идентичный результат.


Получается, что я перед вызовом "Reinvoke ISP" что-то не вернул в исходное состояние. Вопрос, что?

ЗЫ. Компилятор - IAR 5.4.


--------------------
Все врут (с) /M.D.House/
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
zltigo
сообщение Mar 29 2010, 16:37
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Не знаю. Думайте. Вот, для проверки только-что на LPC2378, но с той-же версией загрузчика, что и у Вас, по директиве boot 2000 вваливаемся в штатный загрузчик и шьемся, и запускаем прошитый 2nd загрузчик:
Код
USM3 Demo V0.03.0(520) Mar 26 2010 21:13:55, by I.Zalts
    ROM:45968 RAM:5072 Heap:400013D0 Size:60433
    Check CPU -LPC2378
    Init I2C  -Done
    Config  DC:D0F80055 -OK
    Init RTC  -Done
    Check OW  -DS18B20/Parasite.ID:87000001CD986428 Temp:+21.5
    Load FPGA -Loaded(111570) -OK
    Check FPGA:0A04 Firmware -OK
      Ext.Mem -OK
    Init TONE -Done
       Switch -OK
    Init KVVx & TS0(0100) -OK
    Init AT45 -AT45DB081x found(A4) -OK
    Init EMAC PHY01:KS8041TL Auto-negotiation:100Mb/Full -OK
         CAN1 -Done
Ready

boot 2000
Go to LPC2000 Bootloader...
Wait...
Entering to LPC2000 Bootloader -Ok
Bootcode: 3.3.0
Chip  ID: LPC2378 512KB ROM/32KB SRAM Rev:B (ID:385940773/0x1700FD25)

Erased Sectors 0..27
File    : '.\works\exe\loader_usm3.hex' -Loaded
       Linear Address: 00000000
         Load Address: 00000000
    Run Address Found: 00000000
    End of File
           Image size: 8192
Sector 00..............................................................................
...............
Sector 01..............................................................................
...............
Download Finished.
Now launching (000000) the brand new code....Success.

Dumb Terminal started
     [Alt+X] to exit[Ctrl+F9] Flash
    Found LPC2378 (Watchdog Mode)
    Loader CRC: Valid
    Kernel CRC: Not Found(FFFFFFFF)


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Dreamer   Reinvoke ISP, LPC2388   Mar 26 2010, 10:12
- - Dreamer   Что-то чем дальше, тем менее понятно. Итак, в обеи...   Mar 26 2010, 14:09
- - zltigo   Цитата(Dreamer @ Mar 26 2010, 13:12) Полу...   Mar 26 2010, 14:52
- - Dreamer   ЦитатаВы скорее всего не дочитали инструкцию Так о...   Mar 26 2010, 16:27
|- - zltigo   Цитата(Dreamer @ Mar 26 2010, 19:27) Я пр...   Mar 26 2010, 16:33
- - Dreamer   Хорошая программа, спасибо. Как задается частота, ...   Mar 28 2010, 20:30
|- - zltigo   Цитата(Dreamer @ Mar 28 2010, 23:30) В на...   Mar 28 2010, 21:07
- - Dreamer   ЦитатаВы говорите, что при программировании после ...   Mar 29 2010, 14:02
|- - zltigo   Цитата(Dreamer @ Mar 29 2010, 17:02) а их...   Mar 29 2010, 14:22
- - Dreamer   Цитата"FCCO Check: 288.00000" там в erra...   Mar 29 2010, 14:48
- - Dreamer   ЦитатаА с MAM у Вас что? Включен: Код MAMCR = 0;...   Mar 29 2010, 16:04
- - Dreamer   Пока хороших мыслей в голову не приходит. Приходят...   Mar 30 2010, 09:30
|- - zltigo   Цитата(Dreamer @ Mar 30 2010, 12:30) Что ...   Mar 30 2010, 10:34
- - Dreamer   Переделал почти как вы сказали (почти - потому что...   Mar 30 2010, 14:36
|- - zltigo   Цитата(Dreamer @ Mar 30 2010, 17:36) пото...   Mar 30 2010, 14:44
- - Dreamer   Цитатану в чем-то другом проблема, ибо работает re...   Mar 30 2010, 15:25
|- - zltigo   Цитата(Dreamer @ Mar 30 2010, 18:25) по с...   Mar 30 2010, 15:38
- - Dreamer   ЦитатаВсе взаимодействие четко описано в документа...   Mar 31 2010, 06:50
- - zltigo   Цитата(Dreamer @ Mar 31 2010, 09:50) Но в...   Mar 31 2010, 09:56


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

 


RSS Текстовая версия Сейчас: 21st August 2025 - 19:05
Рейтинг@Mail.ru


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