Jump to content

    

Отвечу на вопросы по PowerQUICC

Спасиб за помощь. Ядро стартануло...дальше легче )

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

 

отлаживался через связку bdi-gdb.

 

Отладка юбута

 

Не знаю как на других процах но на ppc идет в два этапа. до релокации и после.

 

Ищем функцию board_init_f. Это последняя функция которая вызывается до релокации.Собственно в ней и происходит подготовка к этому.

 

Ищем строку

WATCHDOG_RESET();

 

gd->relocaddr = addr; /* Record relocation address, useful for debug */

 

memcpy (id, (void *)gd, sizeof (gd_t));

 

relocate_code (addr_sp, id, addr);

 

Выведем на консоль значение переменной с помощью printf или через gdb print/x addr

 

Дальше нужно установить этот адрес базовым для этого делаем следующее:

Breakpoint 1, board_init_f (bootflag=1) at board.c:611

611 gd->relocaddr = addr; /* Record relocation address, useful for debug */

(gdb) delete

Delete all breakpoints? (y or n) y

(gdb) si

0xfe0052dc 611 gd->relocaddr = addr; /* Record relocation address, useful for debug */

(gdb) symbol-file

Discard symbol table from `./u-boot'? (y or n) y

No symbol file now.

(gdb) add-symbol-file u-boot 0xffbe000 (где 0xffbe000 значение переменной addr)

add symbol table from file "u-boot" at

.text_addr = 0xffbe000

(y or n) y

Reading symbols from ./u-boot...done.

(gdb) b board_init_r (первая функция после релокации)

Breakpoint 2 at 0xffc309c: file board.c, line 639.

(gdb) info breakpoints

Num Type Disp Enb Address What

2 breakpoint keep y 0x0ffc309c in board_init_r at board.c:639

(gdb) c

Continuing.

 

если остновились. То значит всё ок.

Breakpoint 2, board_init_r (id=0xff9bf4c, dest_addr=268165120) at board.c:639

639 gd = id; /* initialize RAM version of global data */

 

отладка перехода на ядро

Юбут проделав все свои дела, распоковав ядро должен передать на него управление. Это происходит из файла bootm.c функция boot_jump_linux. Дойдя до неё способом который описан выше, пытаюсь попасть в ядро.

Программа из юбута должна прыгнуть на тот адрес, который называется ентри поинт в образе ядра. Соотвественно у меня это адрес 0. И т.е. Если поставить брекпоинт на адрес 0 то по идее там должна находится первая инструкция ядра. Это NOP.

 

Так и не понял всё таки есть ли возможность грузится без dtb файла. Но если его не указать то в ядре повиснем на функции early_init_devtree (prom.c).Собственно, которая и читаего его видимо. Поэтому свой файл можно собрать допустим из mpc836x_mds.dts. Прописываем его местоположение в юбуте. Теперь ядро должно стартануть.

 

 

Share this post


Link to post
Share on other sites

Добрый время суток!!!

 

Сейчас подбираю отладчик себе для MPC8536...Что Вы можете порекомендовать по этому поводу!! Валяется тут у меня на работе BDM CYCLONE MAX со времен ColdFire'а! Но хватит ли его, чтоб раскрыть полный потенциал отладки камушка? На freescale нашел следующее:

http://www.abatron.ch/products/bdi-family/...?rowid=1-6WQ8S1

http://www.ronetix.at/peedi.html?rowid=1-42FTCC

http://www.ghs.com/products/probe.html?rowid=1-15RO5L

 

Спасибо!

 

Share this post


Link to post
Share on other sites

Господа подскажите пожалуйста!

дали плату потренироваться 8309.

сделал тестовый проект Welcome to CodeWarrior!

запустил его в дебагере - всё работает - в консоль плюёт.

как теперь его запихать в плату, какие файлы куда пихать ничё не понятно, есть ли какой нить мануал на эту тему, jtag и codewarrior у меня есть?

раньше работал с блэкфин так там всё по инструкции всё понятно - ldr файл записываешь и всё.

Файл приложения какого расширения должен быть -если .bin, то как правильно его сгенерить?

 

Edited by mitrich1982

Share this post


Link to post
Share on other sites

Надо восстановить плату на базе процессора MPC8270 и флеш памяти S29GL256N (2 корпуса) на плате 20 пиновый JTAG.

В наличии имеется такая же рабочая.

 

C помощью какого софта возможно сделать следующие операции:

1)Считать данные флеш памяти S29GL256N в файл компьютера через JTAG

2)Записать данные из файла (считаного с рабочей платы) в нерабочую плату.

 

Заранее благодарю за ответ.

Share this post


Link to post
Share on other sites
C помощью какого софта возможно сделать следующие операции:

1)Считать данные флеш памяти S29GL256N в файл компьютера через JTAG

2)Записать данные из файла (считаного с рабочей платы) в нерабочую плату.

Если флеш подключена стандартно, без каких-то там плисин и защит, то тем же кодеварриором. Хотя, и в остальных случаях тоже. Просто больше действий.

Share this post


Link to post
Share on other sites

 

Есть в наличии JTAG - Wiggler LPT

интерфейс подключения

TRST_N 1 2 GND

TDI 3 4 GND

TDO 5 6 GND

TMS 7 8 GND

TCK 9 10 GND

SRST_N 11 12 nc

nc 13 14 VCC

 

 

На плате по даташиту на JTAG - MPC8270

TDO 1 2 nc

TDI 3 4 TRST

nc 5 6 VDD_SENSE 20om питание

TCK 7 8 nc

TMS 9 10 nc

SRESET 11 12 nc

HRESET 13 14 key

CHKSPT_OUT 15 16 GND

 

Затруднения вызывают подключения следующие сигналы SRESET, HRESET, CHKSPT_OUT.

Куда их подключать?

 

 

 

 

Share this post


Link to post
Share on other sites
Есть в наличии JTAG - Wiggler LPT

интерфейс подключения

TRST_N 1 2 GND

TDI 3 4 GND

TDO 5 6 GND

TMS 7 8 GND

TCK 9 10 GND

SRST_N 11 12 nc

nc 13 14 VCC

 

 

На плате по даташиту на JTAG - MPC8270

TDO 1 2 nc

TDI 3 4 TRST

nc 5 6 VDD_SENSE 20om питание

TCK 7 8 nc

TMS 9 10 nc

SRESET 11 12 nc

HRESET 13 14 key

CHKSPT_OUT 15 16 GND

 

Затруднения вызывают подключения следующие сигналы SRESET, HRESET, CHKSPT_OUT.

Куда их подключать?

 

Эти сигналы для COP - стандартного debug интерфейса у FSL.

Используются Codewarrior-ом.

Никуда не подключайте.

Считать\зашить флешу можно с помощью Universal Scan и Xilinx или Altera кабелем (правда намного дольше, чем в CW.)

Сам так и делал - только внимательно читайте доки- как настроить Universal Scan.

Но надо иметь схему или знать как подключена флеш к процу (скорее всего стандартным способом - смотрите даташит на проц)

А если с CW дела не имели - будет Вам тяжко. Да и USB TAP нужен...

Share this post


Link to post
Share on other sites

Случилась засада с EVM-кой.

 

Есть EVM MPC8360EAPB.

Она пришла прошитая: U-boot + Linux

Всё работало нормально.

В ходе экспериментов зашили в неё u-boot,

который не смог стартануть - виснет после строки

SDRAM: 64 MB (local bus)

 

Пытаюсь зашить во флешь бинарь u-boot-а,

который лежит на диске пришедшем с платой.

Та же ботва - снова виснет на той же самой строке.

Пытался стянуть образы iso с сайта freescale.

Тянул 3 разных образа:

1. MPC8360E_PB_K26_20061208-LTIB.iso

2. MPC8360E_PB_K26_20071012-LTIB.iso

3. MPC8360E_PB_K26_20081112-LTIB.iso

 

U-boot из образа №1 даже не стартует.

U-boot из образа №2 достать не удалось.

Этот исошник битый. 2 раза качал из разных мест.

 

U-boot из образа №3 тоже виснет на той же самой строке.

 

Нет ли у кого u-boot-a бинарника для этой платы?

 

 

Share this post


Link to post
Share on other sites
Случилась засада с EVM-кой.

Нет ли у кого u-boot-a бинарника для этой платы?

 

Всем спасибо.

Плату восстановил.

Share this post


Link to post
Share on other sites

Возникла проблема с ремонтом контроллеров на базе MC68EN360, понимаю, штука довольно древняя но приходится чинить...

 

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

Загрузчик и FW monitor зашиты в две запаянных на плату AM29F400B в корпусах 48-Pin TSOP с шагом выводов 0,5 мм

 

Имеется на плате BDM-порт, 10-и пиновый, порылся по инету, нашел BD-32, собрал переходник на LPT-порт, есть утилитка, позволяет читать память, регистры и на этом застрял...

 

Если кто может подсказать как провернуть "операцию" буду счастлив.

 

PS: Были бы флешки побольше размером - отпаял бы и в программаторе прошил, а так что-то стремно- вдруг распрограммируются, да и адаптера под шаг 0,5 нету...

Share this post


Link to post
Share on other sites

Прошу совета. Мне нужно вытянуть из Freescale MPC8569E максимальное количество 100 Мегабитных Ethernet портов. Я совсем запутался и в терминалогии, и в настройках, и в выводах. :blink: Подскажите, какие "фи" использовать, какие настройки IO выбрать. Возможно, есть мануалы, где это доступно изложено. Документацию Freescale MPC8569E в этой части не понимаю. Заранее благодарен.

Share this post


Link to post
Share on other sites

Добрый день! Меня интересует реализация ethernet-интерфейса на процессоре powerquicc. Скорости передачи данных - до 20 Мбит/c, требуется HDLC-контроллер. Видел подобную вещь на MPC875, но он наверное уже устарел. Что есть из аналогов более новых? Как обстоит дело с отладочными платами и примерами проектов, пробной версией CodeWarrior и ее функциональностью? У симметрона есть отладочная плата для MPC885 - CWH-PPC-885XN-VX, но на сайте freescale значится как более не производимая.

Share this post


Link to post
Share on other sites
Добрый день! Меня интересует реализация ethernet-интерфейса на процессоре powerquicc. Скорости передачи данных - до 20 Мбит/c, требуется HDLC-контроллер. Видел подобную вещь на MPC875, но он наверное уже устарел. Что есть из аналогов более новых? Как обстоит дело с отладочными платами и примерами проектов, пробной версией CodeWarrior и ее функциональностью? У симметрона есть отладочная плата для MPC885 - CWH-PPC-885XN-VX, но на сайте freescale значится как более не производимая.

 

Приветствую!

 

Вот тут есть список процов с HDLC контроллером + список актуальных отладок.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this