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

Отвечу на вопросы по 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. Прописываем его местоположение в юбуте. Теперь ядро должно стартануть.

 

 

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


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

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

 

Сейчас подбираю отладчик себе для 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

 

Спасибо!

 

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


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

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

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

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

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

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

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

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

 

Изменено пользователем mitrich1982

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


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

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

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

 

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

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

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

 

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

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


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

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

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

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

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

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


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

 

Есть в наличии 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.

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

 

 

 

 

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


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

Есть в наличии 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 нужен...

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


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

Случилась засада с 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 бинарника для этой платы?

 

 

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


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

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

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

 

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

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

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


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

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

 

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

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

 

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

 

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

 

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

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


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

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

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


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

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

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


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

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

 

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

 

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

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


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

подниму топик, 


есть десяток устройств, на MPC8321 - которые перестали работать, 
возможно производитель забыл добавить fsck при загрузке,
и при слете R/W партиции, к устройствам потерялся доступ.

(на других вендорах такое уже видел)

при пользовательском логине/CLI/SHELL - ругается на R/W FS, 
для bash - пароля от root нет, как и вместо uboot - какой-то легкий загрузчик,
который вызвается ... каким-то IO. пока не нашел.


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

 

вообщем, есть MPC8321 + S29GL064N на CS0 + MT29F2G16 на CS1 + JTAG T32 для MPC82xx/83xx,
и полное отсутствие опыта и знаний.

методом тыка - S29GL064N - считал, на мелкой скорости только,
crc32 - OK, но ничего нужного не оказалось.

теперь никак не удается считать MT29F2G16, пользуясь JTAG.

что-бы поправить слетевшую fs и залить назад.
(nand ecc помню, но пока не важно, да и решаемо обычно)

пробую инитить регистры как они выглядят в загрузчике,
или в обобщенном примере на 8313+8321/23, 
IOBASE()+0x05008 %Long 0x70001081; LBC_BR1
IOBASE()+0x0500C %Long 0xFFFF8100; LBC_OR1
IOBASE()+0x00028 %Long 0x70000000; LB_LAWBAR1
IOBASE()+0x0002C %Long 0x8000000B; LB_LAWAR1
после чего 
FLASHFILE.CONFIG IOBASE()+0x05000 0x0 &nand_bufferram_address &nandflash_cs1
FLASHFILE.TARGET 0x00001000++0x1fff 0x00003000++0x1FFF nand2g16_ppcpq.bin
похоже nand2g16_ppcpq.bin - загружается, но что-то ему не нравится,
отвечает "warning: function not implemented"

 

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

 

вообщем, может кто что подскажет, 
считать/записать MPC8321+29F2G16+JTAG. 

спасибо.

Изменено пользователем carver

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


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

по совету саппорта качнул CW for PA,
типа там есть флеш программер через CodeWarrior TAP,
самого TAP у меня нет, но по CW for PA - не похоже что он понимает NAND подключенный через UPM. 
в CW и флешки 29F2G16 нет, и только eLBC подключение упоминается для похожих.

наверное готового решения нет ((

нагуглил NANDFLASHWP.pdf, там пример на NAND по UPM, похож на использование в загрузчике,
в принципе там все не сложно, единственная лажа, что-то у меня проц - постоянно отваливается от jtag ((
если линейно там RAM считать, все ОК, а когда какой-то скриптик c остановками, то сотня-три циклов, и проц отваливается.
скорость что 20Mhz что 200kHz - особой разницы нет.

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

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


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

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

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

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

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

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

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

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

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

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