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

USB загрузчик для LPC2368

Доброго времени суток.

Возникла потребность в USB загрузчике для LPC.

Может есть аналог SAM-BA для NXP-ых продуктов?

Подскажите пожалуйста в какую сторону смотреть.

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


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

Доброго времени суток.

Возникла потребность в USB загрузчике для LPC.

Может есть аналог SAM-BA для NXP-ых продуктов?

Подскажите пожалуйста в какую сторону смотреть.

На данный момент такой загрузчик существует (по крайней мере, для LPC2148)

и находится в стадии тестирования. Скоро появится в доступе и будет

прошиваться при производстве новых чипов. Вроде бы для 23хх тоже будет.

Работает методом заливки HEX на USB Mass Storage Device, коим будет

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

софта.

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


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

А скоро это в месяцах, кварталах или годах?

Скоро - это скоро.

Направил запрос компетентным органам.

Ответят - сообщу тут.

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


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

Спасибо. Мой вопрос был без подвоха, учитывая скорое появление ATXMEGA.

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


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

Вот это вещь - http://www.tnkernel.com/usb_fw_upgrader.html!

Кто-то уже может запускал это для LPC23xx? Если запускали, опишите какие изменения требуются.

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


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

..какие изменения требуются.

В первом приближении контроллер прерываний другой.

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


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

В первом приближении контроллер прерываний другой.

Это понятно. Сделано. А в остальных приближениях?

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


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

Это понятно. Сделано. А в остальных приближениях?

USB хидеры править (или не использовать от TN вообще ) - адреса поменялисть, и имена немного.

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


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

USB хидеры править (или не использовать от TN вообще ) - адреса поменялисть, и имена немного.

Всё. Понял.

Еще вопрос. Кусок кода из модуля fwu.c:

int main()

{

unsigned int * ptr;

int state;

 

rMEMMAP = 0x1;

 

tn_arm_disable_interrupts();

 

Init_CRC32_Table();

 

state = flash_pcell; //-- For IAR linker only

//---- Set interrupts vectors

ptr = (unsigned int *)IRQ_RAM_ADDR;

*ptr = 0xE59FF018; //-- ldr pc, [pc, #24]

ptr = (unsigned int *)FIQ_RAM_ADDR;

*ptr = 0xE59FF018; //-- ldr pc, [pc, #24]

 

//--- Put IRQ & FIQ vectors in RAM

ptr = (unsigned int *)IRQ_RAM_FUNC_ADDR;

*ptr = (unsigned int)&cpu_irq_isr;

ptr = (unsigned int *)FIQ_RAM_FUNC_ADDR;

*ptr = (unsigned int)&cpu_fiq_isr;

 

#ifndef RUN_FW_ALWAYS

 

//--- Check 'Run as Loader' mark

ptr =(unsigned int *)RAM_START_ADDR;

if(!(*ptr == 0x12345678 && *(ptr+1) == 0x43211234))

{

do_switch_to_firmware(); //-- Never returns

}

#else

start_firmware(); //-- Never returns

#endif

...

...

}

Откуда в раме появляется два числа 0x12345678 и 0x43211234 если программа еще не использовала вообще эти адреса?

Или я не туда смотрю?

 

USB хидеры править (или не использовать от TN вообще ) - адреса поменялисть, и имена немного.

Еще есть один наглый вопрос. Если вы запускали это дело под lpc23xx можете выложить? Поменять всё и сам могу, но хочу сэкономить время хоть чуток.

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


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

Откуда в раме появляется два числа 0x12345678 и 0x43211234 если программа еще не использовала вообще эти адреса?

Выставятся, когда уже из работающей программы будет запрошен загрузчик, после чего будет через watchdog изображен reset...

Если вы запускали это дело...

Не запускал ни под чем, посто читал в свое время для общего развития и работал с обеими контроллерами.

И не сочтите за труд, для исходников пользоваться опциями форматирования.

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


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

Выставятся, когда уже из работающей программы будет запрошен загрузчик, после чего будет через watcdog изображен reset...

 

Не запускал ни под чем, посто читал в свое время для общего развития и работал с обеими контроллерами.

И не сочтите за труд, для исходников пользоваться опциями форматирования.

"И не сочтите за труд, для исходников пользоваться опциями форматирования." - ОК :)

Что значит "после чего будет через watcdog изображен reset..."?

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


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

Что значит "после чего будет через watcdog изображен reset..."?

Ну.. то и значит - reset будет инициализирован watchdog-ом, попадете на main(), где прочитаете ранее занесенные магические цифры и пойдете в загрузчик....

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


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

Выставятся, когда уже из работающей программы будет запрошен загрузчик, после чего будет через watchdog изображен reset...

 

Не запускал ни под чем, посто читал в свое время для общего развития и работал с обеими контроллерами.

И не сочтите за труд, для исходников пользоваться опциями форматирования.

Всё! Разобрался! Спасибо огромное за ответы :)

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


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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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