|
|
  |
LPC 2888 |
|
|
|
Aug 8 2007, 06:19
|
Участник

Группа: Участник
Сообщений: 34
Регистрация: 28-03-07
Пользователь №: 26 565

|
Всем привет! Кто-нибудь работал с этим девайсом? Приобрел evaluation board от nohau и j-link. Плата работает нормально. Программа загружается в проц и все работает, но если сделать reset питания, то в контроллере продолжает работать старая программа, а новая не сохраняется в памяти. В чем тут проблема? Программу пишу на С IAR Workbench IDE. И еще вопрос... а чем можно программировать (какой программатор) эти процы? За ранее благодарен.
|
|
|
|
|
Aug 8 2007, 19:23
|
Участник

Группа: Участник
Сообщений: 19
Регистрация: 13-09-05
Пользователь №: 8 518

|
Вы программу прошиваете во SRAM и от туа запускаете, а старая программа прошита во FLASH. После сброса, естественно, будет работать только старая програама. У IAR в примерах программы для обоих типов памяти (project->Edit Configurations). Самый простой программатор Wigler, инфы по нему полно.
|
|
|
|
|
Aug 9 2007, 06:54
|
Участник

Группа: Участник
Сообщений: 34
Регистрация: 28-03-07
Пользователь №: 26 565

|
Цитата(by-pass @ Aug 8 2007, 23:23)  Вы программу прошиваете во SRAM и от туа запускаете, а старая программа прошита во FLASH. После сброса, естественно, будет работать только старая програама. У IAR в примерах программы для обоих типов памяти (project->Edit Configurations). Самый простой программатор Wigler, инфы по нему полно. <Большое спасибо
|
|
|
|
|
Aug 13 2007, 12:54
|
Участник

Группа: Участник
Сообщений: 34
Регистрация: 28-03-07
Пользователь №: 26 565

|
Наверное я чего-то не понимаю...Но у меня не получается загрузить программу во флеш. Пробывал загружать examples - пишет ошибки...Может кто подскажет в чем там дело?
|
|
|
|
|
Aug 13 2007, 18:31
|
Участник

Группа: Участник
Сообщений: 19
Регистрация: 13-09-05
Пользователь №: 8 518

|
Цитата(aka-cobra @ Aug 13 2007, 16:54)  Наверное я чего-то не понимаю...Но у меня не получается загрузить программу во флеш. Пробывал загружать examples - пишет ошибки...Может кто подскажет в чем там дело? Опишите подробнее, что Вы делаете, и какие ошибки выдаются. Наверняка дело в версии загрузчика в LPC2888. Если ругается на файл FlashPhilipsLPCxxx, то нужно обновить версию загрузчика в LPC2888. Как это точно делать не знаю, но не сложнее того,что вы делали. Или работать в IAR более старой версии, у которого файл FlashPhilipsLPCxxx для старой версий загрузчиков процов, например, 4.20.
|
|
|
|
|
Aug 14 2007, 14:21
|
Участник

Группа: Участник
Сообщений: 34
Регистрация: 28-03-07
Пользователь №: 26 565

|
Если посмотреть Debug Log:
Tue Aug 14 18:10:52 2007: DLL version: V3.74f, compiled Aug 10 2007 17:57:34 Tue Aug 14 18:10:52 2007: Firmware: J-Link compiled Jun 28 2007 10:45:08 ARM Rev.5 Tue Aug 14 18:10:52 2007: JTAG speed is initially set to: 32 kHz Tue Aug 14 18:10:52 2007: J-Link found 1 JTAG device. ARM core Id: 4F1F0F0F(ARM7) Tue Aug 14 18:10:52 2007: Device at TAP0 selected Tue Aug 14 18:10:52 2007: RTCK is not connected Tue Aug 14 18:10:52 2007: Auto JTAG speed: 1000 kHz Tue Aug 14 18:10:53 2007: 2744 bytes verified (5.54 Kbytes/sec) Tue Aug 14 18:10:53 2007: Warning: Verify error at address 0x104007B8, target byte: 0x56, byte in file: 0x00 Tue Aug 14 18:10:53 2007: Warning: Verify error at address 0x104007B9, target byte: 0x36, byte in file: 0x00 Tue Aug 14 18:10:53 2007: Warning: Verify error at address 0x104007BF, target byte: 0x08, byte in file: 0x00 Tue Aug 14 18:10:53 2007: Warning: Verify error at address 0x104007C0, target byte: 0x14, byte in file: 0x00 Tue Aug 14 18:10:53 2007: Warning: Verify error at address 0x104007C1, target byte: 0x22, byte in file: 0x4F Tue Aug 14 18:10:53 2007: Warning: Verify error at address 0x104007C2, target byte: 0x41, byte in file: 0x00 Tue Aug 14 18:10:53 2007: Warning: Verify error at address 0x104007C7, target byte: 0x14, byte in file: 0x00 Tue Aug 14 18:10:53 2007: Warning: Verify error at address 0x104007C8, target byte: 0x14, byte in file: 0x07 Tue Aug 14 18:10:53 2007: Warning: Verify error at address 0x104007C9, target byte: 0x14, byte in file: 0x00 Tue Aug 14 18:10:53 2007: Warning: Verify error at address 0x104007CA, target byte: 0x14, byte in file: 0x07 Tue Aug 14 18:10:53 2007: Warning: Verify error at address 0x104007CB, target byte: 0x14, byte in file: 0x00 Tue Aug 14 18:10:53 2007: Warning: Verify error at address 0x104007CF, target byte: 0x00, byte in file: 0x14 Tue Aug 14 18:10:53 2007: Warning: Verify error at address 0x104007D0, target byte: 0x41, byte in file: 0x7F . . . . Tue Aug 14 18:10:53 2007: Warning: Too many verify errors, only the first 200 are displayed Tue Aug 14 18:10:53 2007: There were warnings during download, see Log Window Tue Aug 14 18:10:59 2007: Loaded debugee: C:\Nohau\SeehauARM\Examples\Philips\LPC2800\IAR\blinky\Debug\Exe\blinky_lcd_eflash.elf Tue Aug 14 18:10:59 2007: Target reset
|
|
|
|
|
Aug 16 2007, 05:46
|
Участник

Группа: Участник
Сообщений: 34
Регистрация: 28-03-07
Пользователь №: 26 565

|
Ну вот...получилось программировать внутреннюю flash память этого проца. Но программа, которая работает в RAM, в flash-памяти не работает. В чем тут может быть дело? Программирую в IAR 4.41, для получения bin-файла в опциях проекта ставлю linker->output = raw-binary. Потом при помощи утилиты Hostcryptv2 преобразую в ebn-файл, а с помощью MassDFU загружаю программу в flash...
|
|
|
|
|
Aug 16 2007, 19:01
|
Участник

Группа: Участник
Сообщений: 19
Регистрация: 13-09-05
Пользователь №: 8 518

|
Цитата(aka-cobra @ Aug 16 2007, 09:46)  Ну вот...получилось программировать внутреннюю flash память этого проца. Но программа, которая работает в RAM, в flash-памяти не работает. В чем тут может быть дело? Программирую в IAR 4.41, для получения bin-файла в опциях проекта ставлю linker->output = raw-binary. Потом при помощи утилиты Hostcryptv2 преобразую в ebn-файл, а с помощью MassDFU загружаю программу в flash... Первое, необходимо программно "отмаппить" вектора прерываний во FLASHв регистре MEMMAP. Второе, есть файл линкера (*.xcl), т.е. после того как программа скомпилирована, линкер раскидывает программу в заданные области памяти, определяемые файлом линковки. Соответственно, эти файлы разные для работы из RAM и из FLASH. Гляньте любой пример в IARe, например "Philips\LPC212x\Olimex-P212X\timer", там два файла *.xcl и два подпроекта для работы в RAM и FLASH. Разница в подпроектах в этих самых файлах, сравните их между собой, и все станет ясно. Различны секции -DROMSTART -DROMEND - это память программ и INTVEC - это расположение векторов прерываний. Отрывайте карту памяти кристалла, смотрите на числа и все поймете. P.S. Раз плата называется JLINK, то там должен быть этот самый JTAG-эмулятор JLINK. Если так, то просто надо его настроить в опциях и весь процесс "заливки" и отладки софта сведется к нажатию ctrl+d, так как описанный вами путь как-то далек от совершенства.
|
|
|
|
|
Aug 17 2007, 05:23
|
Участник

Группа: Участник
Сообщений: 34
Регистрация: 28-03-07
Пользователь №: 26 565

|
С файлом xcl я более-менее разобрался... Можно по подробнее про "отмаппить" вектора прерываний во FLASHв регистре MEMMAP." Дело в том, что при загрузке программы во flash, IAR пишет ошибку: Fri Aug 17 09:11:52 2007: Warning: Target inconsistency detected in Memory range 0x10400719-0x10400A03 Как это можно исправить?
|
|
|
|
|
Aug 17 2007, 12:44
|
Участник

Группа: Участник
Сообщений: 34
Регистрация: 28-03-07
Пользователь №: 26 565

|
Ну вот...появилась новая ошибка. При загрузке в flash память IAR выдает: "Data outside flash" Може кто-нибудь подскажет в чем тут дело?
|
|
|
|
|
Aug 17 2007, 22:16
|

кекс
     
Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326

|
Цитата(aka-cobra @ Aug 17 2007, 15:44)  Ну вот...появилась новая ошибка. При загрузке в flash память IAR выдает: "Data outside flash" Може кто-нибудь подскажет в чем тут дело? Вам уже подсказали. Вдумчиво перечитайте еще разок коментарий #9 уважаемого by-pass. Можете также попробовать Keil. С ним возни в разы меньше чем с IAR'ом, и отладчик удобнее.
|
|
|
|
|
Aug 18 2007, 19:04
|
Участник

Группа: Участник
Сообщений: 34
Регистрация: 28-03-07
Пользователь №: 26 565

|
Да я вроде все так и делаю...При чем не работают примеры от IAR. На сколько я понял эту ошибку выдает flash loader. Если задать в xcl файле -DROMSTART=00000 -DROMEND=fffff, то ошибка не выводится, но в памяти проца ни чего нет и программа не работает. А если указывать правильные адреса (как в даташите и в примерах) -DROMSTART=10400000 -DROMEND=104fffff, то IAR выдает ошибку "Data outside flash". Что я делаю не так????
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|