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

Есть плата сделана по образу и подобию KIT-a под проц IXP425. Но стандартный REDBOOT не дышит. Решили написать програмку чтобы зоморгал проц светодиодами. Но вот беда даже не предпологаем как это сделать. подскажить кто знает как создать бинарник для проца чтобы просто поморгать.

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


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

Есть плата сделана по образу и подобию KIT-a под проц IXP425. Но стандартный REDBOOT не дышит. Решили написать програмку чтобы зоморгал проц светодиодами. Но вот беда даже не предпологаем как это сделать. подскажить кто знает как создать бинарник для проца чтобы просто поморгать.

Сначала по вопросу.

В общем так-же как и для любого ARM процессора.

Как я понимаю, у Вас есть, ну по крайней мере должен быть, компилятор для IXP425 для Linux.

Пишете программу мигания светодиодом, подсовываете свой собственный скрипт линкера с правильным распределением адресов. Выводите бинарик и прошиваете его во флеш.

Хотя лучше взять компилятор для ARM7TDMI. С ним будет гораздо проще.

 

По RedBoot.

Вы его прошивали во флаш как? Откуда брали винарик для прошивки? А этот бинарик точно тот, что Вам нужен?

 

1) Intel дает мануалы, в которых описаны все ситуации. Читайте.

2) Intel дает четыре варианта (вообще-то 8, но это с NPE и без, а Вас касаются четыре).

2.1) Little Endian, RAM

2.2) Little Endian, ROM

2.3) Big Endian, RAM

2.4) Big Endian, ROM

Вам, как я догадываюсь, нужен Big Endian, ROM. Прошить его во флеш через JTAG.

Чем шьете? Не забудте про byte-swap. Это должен делать программатор.

Я использовал jtag с http://openwince.sourceforge.net/jtag/. Он это делать умеет.

Примеры скриптов прилагаются.

ixp_flash.zip

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


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

Сначала по вопросу.

В общем так-же как и для любого ARM процессора.

Как я понимаю, у Вас есть, ну по крайней мере должен быть, компилятор для IXP425 для Linux.

Пишете программу мигания светодиодом, подсовываете свой собственный скрипт линкера с правильным распределением адресов. Выводите бинарик и прошиваете его во флеш.

Хотя лучше взять компилятор для ARM7TDMI. С ним будет гораздо проще.

 

По RedBoot.

Вы его прошивали во флаш как? Откуда брали винарик для прошивки? А этот бинарик точно тот, что Вам нужен?

 

1) Intel дает мануалы, в которых описаны все ситуации. Читайте.

2) Intel дает четыре варианта (вообще-то 8, но это с NPE и без, а Вас касаются четыре).

2.1) Little Endian, RAM

2.2) Little Endian, ROM

2.3) Big Endian, RAM

2.4) Big Endian, ROM

Вам, как я догадываюсь, нужен Big Endian, ROM. Прошить его во флеш через JTAG.

Чем шьете? Не забудте про byte-swap. Это должен делать программатор.

Я использовал jtag с http://openwince.sourceforge.net/jtag/. Он это делать умеет.

Примеры скриптов прилагаются.

Значится так сначала мы баловались на ките, перепрошивали флешку програматором и вставляли в панельку. Компилили под линуксом исходники RedBoot 1.94. вобщем на ките моргали светодиодами. Потом перешли к нашей плате подправили RedBoot, но некаких признаков жизни не получили. постарались всунуть код мигания как можно ближе к началу загрузки. Вобщем ничего нам это не дало. И поскольку мы вообщето чайни в этих делах то не понимаем сам процес компиляции под линуксом. как сделать прожку моргнуть и всё. Привыкли блин к средам разработки под виндой, где как говорится всё включено в пакет програмирования. Я так подозреваю что всё дело в makefile но как это пределать мы "0"! :)

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


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

Значится так сначала мы баловались на ките, перепрошивали флешку програматором и вставляли в панельку. Компилили под линуксом исходники RedBoot 1.94. вобщем на ките моргали светодиодами. Потом перешли к нашей плате подправили RedBoot, но некаких признаков жизни не получили. постарались всунуть код мигания как можно ближе к началу загрузки. Вобщем ничего нам это не дало. И поскольку мы вообщето чайни в этих делах то не понимаем сам процес компиляции под линуксом. как сделать прожку моргнуть и всё. Привыкли блин к средам разработки под виндой, где как говорится всё включено в пакет програмирования. Я так подозреваю что всё дело в makefile но как это пределать мы "0"! :)

А зачем пересобирать RedBoot? Память отличается от кита? Тип или размер?

Перекомпилить RedBoot, поставить в него другую флешку и прошить. RedBoot не править!!! Добиться работоспособности RedBoot на ките.

Кит IXDP425? Там в комплекте вторая флешка с загрузчиком vxworks. Чтоб не запортить единственную рабочую - тренируйтесь на ней.

 

Есть программист для микроконтроллеров? Желательно ARM. Если есть такой - он раскажет как сделать это.

Чтоб программа работала без ОС нужно в этой рограмме все сделать вручную. Т.е. инициализацию процессора, стека, памяти, секций .data и .bss, периферию, и потом мигать светодиодами. Линкер должен все это разместить в памяти - то есть нужно скрипт линкера писать.

Никаких libc (glibc, uclibc и прочих) использовать нельзя, потому как они расчитаны на операционную систему, которой а Вас пока нет.

В общем, попробуйте сначала скомпилить RedBoot и заставить его работать на ките.

А потом акуратно внося изменения в инициализацию SDRAM подкоректируйте и прошейте в свою плату.

 

На этом этапе никаких Makefile Вам писать не надо. Пользуйтесь тем, что есть в RedBoot.

Да, а компилер Вы какой используете? Случайно не gcc хоста? Это вопрос так, из параноидальных соображений, но все-же.

 

А в Вашей плате процессор к флешке обращается?

Что осцилограф показывает?

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


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

А зачем пересобирать RedBoot? Память отличается от кита? Тип или размер?

Перекомпилить RedBoot, поставить в него другую флешку и прошить. RedBoot не править!!! Добиться работоспособности RedBoot на ките.

Кит IXDP425? Там в комплекте вторая флешка с загрузчиком vxworks. Чтоб не запортить единственную рабочую - тренируйтесь на ней.

 

Есть программист для микроконтроллеров? Желательно ARM. Если есть такой - он раскажет как сделать это.

Чтоб программа работала без ОС нужно в этой рограмме все сделать вручную. Т.е. инициализацию процессора, стека, памяти, секций .data и .bss, периферию, и потом мигать светодиодами. Линкер должен все это разместить в памяти - то есть нужно скрипт линкера писать.

Никаких libc (glibc, uclibc и прочих) использовать нельзя, потому как они расчитаны на операционную систему, которой а Вас пока нет.

В общем, попробуйте сначала скомпилить RedBoot и заставить его работать на ките.

А потом акуратно внося изменения в инициализацию SDRAM подкоректируйте и прошейте в свою плату.

 

На этом этапе никаких Makefile Вам писать не надо. Пользуйтесь тем, что есть в RedBoot.

Да, а компилер Вы какой используете? Случайно не gcc хоста? Это вопрос так, из параноидальных соображений, но все-же.

 

А в Вашей плате процессор к флешке обращается?

Что осцилограф показывает?

Я ж и говорю на ките мы RedBoot запускаем без вопросов, и моргаем светодиодами, а вот плата наша мертвецом лежит, к флешке вроде обращается сигналы какито ставит, но посеольку частота огогенная, то соответственно понять правильно ли оно обращается нереально. Вот а щас глянул что к оперативке он всегда на третий банкобращается не знаю правильно ли это.

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


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

Вы KIT один в один скопировали? Из герберов или имели полный проект платы в EDA?

Если трассировали сами, то даже не берусь че-то советовать.

А так мертвые платы поднимают через JTAG.

GCC тут плохой помошник.

Возьмите пакет RealView и JTAG адаптер Multi-ICE.

В RealView есть профиль цепочки JTAG для IXP425

Если Multi-ICE задорого покажется, то можно прикупить кажется за 70$ клон адаптера J-Link.

Он поддерживает интерфейс RDI который в свою очередь поддерживает RealView.

Можно пытаться даже Wiggler присобачить, но это уже на любителя.

 

Далее пытаетесь без всякой инициализации залить через JTAG простую прогу во внутреннюю RAM проца. В IXP вроде есть какие-то несчастные 8 Кб в движке очередей мапированные на общее пространство.

Вот эта прога и может пытаться поморгать светодиодом, правда придется еще завести соответствующую шину и порт.

 

 

Я ж и говорю на ките мы RedBoot запускаем без вопросов, и моргаем светодиодами, а вот плата наша мертвецом лежит, к флешке вроде обращается сигналы какито ставит, но посеольку частота огогенная, то соответственно понять правильно ли оно обращается нереально. Вот а щас глянул что к оперативке он всегда на третий банкобращается не знаю правильно ли это.

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


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

Если Multi-ICE задорого покажется, то можно прикупить кажется за 70$ клон адаптера J-Link.

J-Link раньше (год назад) XScale не поддерживал. Только Wiggler (LPT или USB) - для штоб задышало - самое то.

И ручками + утилиты от макраигора его потрогать:

http://www.macraigor.com/ocd_cmd.htm

 

А компилятор можно тут взять:

http://www.macraigor.com/full_gnu.htm

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


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

это всё конечно хорошо, но сетуация ещё сложнее чем вы можете себе представить. У нас Jtag не выведен, ну короче нету его :wacko:

 

Да и ещё один попутный вопрос, подскажите что можно почитать по начальной инициализации таких процов. В документации мы чё т ничё путного не нашкрябали.

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


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

Тогда сюда можно:

http://www.rowley.co.uk/arm/index.htm

+

http://www.rowleydownload.co.uk/arm/packages/XScale.htm

 

вроде, там должны быть простейшие примеры

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


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

это всё конечно хорошо, но сетуация ещё сложнее чем вы можете себе представить. У нас Jtag не выведен, ну короче нету его :wacko:

 

Да и ещё один попутный вопрос, подскажите что можно почитать по начальной инициализации таких процов. В документации мы чё т ничё путного не нашкрябали.

А как Вы флешку програмируете без JTAG?

 

А что скачать с сайта Intel нельзя?

25248006.pdf - Intel IXP42X Product Line of Network Processors and IXC1100 Control Plane Processor Developer’s Manual

http://www.intel.com/design/network/produc...docs/ixp4xx.htm

Читаем раздел GPIO, инициализируем его и мигаем светодиодом.

 

 

И проверте, что у Вас на плате за сигналы подаются на те пины, к которым на ките припаяны переключатели SW2, SW3, SW4.

Там задается конфигурация при сбросе, в том числе и конфигурация флеш памяти.

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


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

А как Вы флешку програмируете без JTAG?

 

А что скачать с сайта Intel нельзя?

25248006.pdf - Intel IXP42X Product Line of Network Processors and IXC1100 Control Plane Processor Developer’s Manual

http://www.intel.com/design/network/produc...docs/ixp4xx.htm

Читаем раздел GPIO, инициализируем его и мигаем светодиодом.

И проверте, что у Вас на плате за сигналы подаются на те пины, к которым на ките припаяны переключатели SW2, SW3, SW4.

Там задается конфигурация при сбросе, в том числе и конфигурация флеш памяти.

1. в ките у нас панелька с флешкой, поэтому мы её вынимаем и перепрошиваем и назад ставим.

2. инициализация GPIO, само по себе ничё не дпёт, мы так подозриваем что необходимо провести начальную инициализацию проца (ну там выделить память и т.д.).

3. и почему то мы не находим на плате переключателей SW2, SW3, SW4.

4. а кит у нас такой http://www.intel.com/design/network/produc...ntation_kit.htm

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


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

1. в ките у нас панелька с флешкой, поэтому мы её вынимаем и перепрошиваем и назад ставим.

2. инициализация GPIO, само по себе ничё не дпёт, мы так подозриваем что необходимо провести начальную инициализацию проца (ну там выделить память и т.д.).

3. и почему то мы не находим на плате переключателей SW2, SW3, SW4.

4. а кит у нас такой http://www.intel.com/design/network/produc...ntation_kit.htm

 

Во первых! Согласно данному Вами линку. в этом ките нет панельки на флеш. ixdpg425_user_guide.pdf, Page 10, Figure 2.

Во вторых! 2) Как Вы прошиваете ВАШИ платы?

В третьих! Согласно данному Вами линку. ixdpg425_user_guide.pdf, Page 15, Table 5.

 

Напишите маленькую програмку на ассемблере, слинкованную для флеш без ремапа и использующую только регистры. Без кешей и SDRAM.

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


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

Во первых! Согласно данному Вами линку. в этом ките нет панельки на флеш. ixdpg425_user_guide.pdf, Page 10, Figure 2.

Во вторых! 2) Как Вы прошиваете ВАШИ платы?

В третьих! Согласно данному Вами линку. ixdpg425_user_guide.pdf, Page 15, Table 5.

 

Напишите маленькую програмку на ассемблере, слинкованную для флеш без ремапа и использующую только регистры. Без кешей и SDRAM.

панельки там не нарисованы но на нашем ките они есть.

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


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

панельки там не нарисованы но на нашем ките они есть.

Вы предпочитаете читать посты и отвечать на самые незначительные вопросы?

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


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

Во первых! Согласно данному Вами линку. в этом ките нет панельки на флеш. ixdpg425_user_guide.pdf, Page 10, Figure 2.

Во вторых! 2) Как Вы прошиваете ВАШИ платы?

В третьих! Согласно данному Вами линку. ixdpg425_user_guide.pdf, Page 15, Table 5.

 

Напишите маленькую програмку на ассемблере, слинкованную для флеш без ремапа и использующую только регистры. Без кешей и SDRAM.

Очень помогли спасибо. Оказывается когда тросировали плату просто случайно недогледели. И подтяжки на конфигурацию проца непоставили. Вобщем пока ждём когда нам запаяют подтяжки и продолжим наладку.

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


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

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

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

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

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

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

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

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

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

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