Перейти к содержанию
    

Прошивка LPC2124 с адреса 0x10000

Потребовалось залить дополнительную прошивочку для загрузки в FPGA в старшую область Flash

LPC2124. Казалось-бы какие могут быть проблемы?

В распоряжении имеется:

1. J-Flash 3.10D + MT-Link

2. Родной Philips ISP LPC2000 2.2.1

3. Альтернативный ISP lpc21isp 1.31

 

Что мучаем:

- Чип LPC2124 - bootloader 1.63;

- тестовый тектстовый файлик размером 16664 байта перегнанный в linear HEX.

 

1. Вообще-то потребуется в основном заливка через RS-232, но начал с J-Flash.

Не залилось! Ругань на сектор 0x12000. К счатью заметил (после многих месяцев использования),

что какой-то размер странный индицирует J-Flash для LPC2124 - 120K и 14 секторов. Ошибочка у

Segger - подправил описание чипа - порядок. Прошилось все как надо.

 

2. Переходим к Филипсофской утилите. Загружаем. Зашиваем. Слова худого в ответ не слышим.

А что во Flash? Во Flash каша:

- Собственно код с 0x00000 стерт, правда с адреса 0 записаны 64 байта мусора.

- C адреса 0x10000 располагается залитый файл, но он обрывается на

0x13FFF. Дальше 0xFF

 

Контролирую через Buffer->Flash Bufer Operation...

Все нормально... Но шьет аналогично.

 

3. Возвращаюсь к J-Flash - Жуть! Он не может стереть те самые 64байта в начале.

Не может и все! Весь чип чистится а 64байта нет. Сдох? Включаем-Выключаем-Перегружаем-Опять..

Не помогает. Запускаю ISP LPC2000 - Стереть-Проверить- говорит порядок. Читаем через J-Flash -

64байта на месте. Записать - ну естественно облом.

 

4. Берем другой чип - ПОВТОРИЛОСЬ!!!!

 

5. Берем альтернативный ISP - пробуем грузить программу с 0 адреса - загрузилась! Правильно!

Запускаем J-Flash - Стирается! Пишется!

Повторяю порчу еще несколько раз - СТАБИЛЬНЫЙ эффект.

 

6. Ну его этот Philips. Беру lpc21isp.

Зашиваю с 0x10000 требуемый файл. Уже при загрузке ясно,

что lpc21isp шьет с 0 до 0x10000 адреса нули :-(. Смотрим результат - Ой!

С нулевого адреса 32байта (не 64) мусора. Далее 0x00. Далее с 0x10000 искомое. НО!

после конца забито нулями и еще повторяется кусок текста.

Хорошо, что J-Flash без проблем это все стирает.

 

Теперь собственно вопрос:

Как залить через RS232 дополнительную (не одновременно с основной) прошивку

по старшим адресам Flash. Кто-то чем-то делал?

 

P.S.

Я конечно буду пробовать в случае чего копаться в исходниках lpc21isp, но сдается мне, что

может быть бесполезным и/или изрядно хлопоттым - уж очень похоже на баг в bootloader :-(((

На Philips, естественно, тоже напишу...

 

P.P.S.

Повторил эксперимент с LPC2294 - проблем НЕТ!

Повтори эксперимент с LPC2124 сказав, что это LPC2294 - проблемы ЕСТЬ!

 

P.P.P.S.

Попробовал заливать одним файлом:

- проблема с 32/64 байтами с 0 адреса исчезла у обоих

- осталось обрезание файла для филипса и добавление мусора в конце для lpc21isp

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Немного не по-сути вопроса. Вы не забыли в опциях проекта J-Flash

на закладке ARM прописать два макроса. 1-ый - Reset , 2-ой

Write32bit по E01FC040 со значением 1 ? Может вопрос звучит и глупо,

но я не сразу до этого дошел, тоже долго мучился :-)))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Немного не по-сути вопроса. Вы не забыли в опциях проекта J-Flash

на закладке ARM прописать два макроса. 1-ый - Reset , 2-ой

Write32bit по E01FC040 со значением 1 ?

AAAAAAA!!!!!!!!

Ну и туманно Вы изьяснились! Но это практически наверняка ПО ТЕМЕ!!!!!!

 

Этот $%U^&*%^&$ Philips ISP LPC2000 вроде как на первый взгляд не стирает

код НО ГРОБИТ контрольную сумму. Ну а дальше "Boot Loader Mode" и 64 бита ремапинга!

Ну дальше J-Flash в ступоре. Полагаю несомненно это ОНО!

 

ISP lpc21isp, напротив, тупо пишет контрольную сумму ВСЕГДА, но стирает все сектора перед

этим. Начал грубо латать код lpc21isp - недоработок там вагон и маленькая тележка.

Память под прошивку выделяет своеобразно и не оединичивает и прочее.. прочее...

Главное он в принципе не может шить никак, кроме как с нуля. Причем все так странно писано, что править и латать и латать придется. Но поскольку главный "глюк" нашел свое объяснение,

то работа не пропадет даром. С остальным уже разберусь.

 

Спасибо! О результатах эксперимента доложу.

 

Я вот только одного пока не пойму - ПОЧЕМУ LPC2294 прошился???????

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Иногда и у меня с первого раза прошивался без этих макросов. Возможно там уже была зашита прога, которая делала remap на user flash. А сам J-Flash кстати reset не делает, если его не попросить. Вобщем допер до этого сам, а потом оказалось что все проще - у них в поставке есть готовые примеры jflash проектов - там так и сделано.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Иногда и у меня с первого раза прошивался без этих макросов. Возможно там уже была зашита прога, которая делала remap на user flash.

В том-то и дело, что нет - стерто все начисто!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Похожие фокусы имел в J-Flash с LPC2138.

Это само-собой - ЭТОТ эффект для всех един и теперь понятен и обходим средствами

J-Flash.

 

А вот то, что ни одной двух из известных мне ISP утилит нельзя прошить Flash не с 0 сектора

это меня поразило. Еще больше поразило, что вроде как 'можно', но дерьмо по полной программе.

Да и при штатном прошивании с 0 сектра появляются эффекты - филипс режет в старших сегментах

а LPC21ISP оставляет мусор и пачки 0 в хвосте в любом случае.

 

Вчера грубо помахал шашкой и залатал LPC21ISP - теперь шьет с начала любого сектора и без мусора.

Все хорошо, но неожиданно потерял время :-(.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...