Jump to content

    
Sign in to follow this  
_SY_

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

Recommended Posts

На страничке 8349-го есть пара ссылок на стэки - CMX и MQX

 

http://www.cmx.com/tcpip.htm

 

http://www.embedded-access.com/products/rt...cpip_stack.html

 

Я думаю что можно их перетащить на 8315 при большом желании, разница между этими процессорами не должна быть сильно большой.

 

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

Share this post


Link to post
Share on other sites
На страничке 8349-го есть пара ссылок на стэки - CMX и MQX

Да, MQX очень и очень неплох, правда, там не все драйвера для TSEC-ов в исходниках удалось найти - хотелось "подглядеть", когда свой стек портировался.

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

Жаль, цифры были бы интересны.

 

 

Share this post


Link to post
Share on other sites
На страничке 8349-го есть пара ссылок на стэки - CMX и MQX

 

http://www.cmx.com/tcpip.htm

 

http://www.embedded-access.com/products/rt...cpip_stack.html

 

Я думаю что можно их перетащить на 8315 при большом желании, разница между этими процессорами не должна быть сильно большой.

 

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

 

Я разговаривал с Embedded Access. Свободной версии нет. Это - коммерческий продукт (MQX для MPC8315 c поддержкой платы MPC8315 rdb) стоимостью 20kUSD. За стэк они просят 9k.

Share this post


Link to post
Share on other sites

привет.

 

у нас платка с MPC8360A.

 

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

 

Юбут вроде стартует нормально:

U-Boot 2010.06 (Sep 13 2010 - 13:49:41) MPC83XX

 

Reset Status: Software Hard, External/Internal Soft, External

 

CPU: e300c1, MPC8360A, Rev: 2.1 at 528 MHz, CSB: 264 MHz

Board: E836

I2C: ready

DRAM: 256 MiB (DDR2, 64-bit, ECC on, 264 MHz)

FLASH: 16 MiB

In: serial

Out: serial

Err: serial

Net: FSL UEC3, FSL UEC0

 

=> boot

## Booting kernel from Legacy Image at fe050000 ...

Image Name: Linux Kernel Image

Image Type: PowerPC Linux Kernel Image (gzip compressed)

Data Size: 1262679 Bytes = 1.2 MiB

Load Address: 00010000

Entry Point: 00010000

Verifying Checksum ... OK

Uncompressing Kernel Image ... OK

 

## Transferring control to Linux (at address 00010000) ...

Booting using board info...

 

И всё дальше тишина. Потом вроде управление должно перейти на файл из ядра

head_32.S но чет в нём не знаю даже как отладку вывести.

 

Share this post


Link to post
Share on other sites

Uboot и линукс откуда взяты? Из фрискейловского BSP на 8360 плату? Патчи все приложены?

Память DDR проверили на работоспособность?

Share this post


Link to post
Share on other sites

Юбут собран с небольшой правкой конфига mpc8360emds.h.

ядро соотвественно тоже.

память рабочая. поскольку в юбуте просматривал через md ту область куда ядро распакуется.

ядро стартует по адресу 0x00010000. удается даже поставить брекпоинт на этот адрес. И при выполненении следующего шага

PC становится равен 0x6fc.

Может хотяб алгоритм для отладки можете посоветовать...

 

Share this post


Link to post
Share on other sites
Юбут собран с небольшой правкой конфига mpc8360emds.h.

ядро соотвественно тоже.

Напишите более подробно, что собирали, чем собирали, и так далее.

 

ядро стартует по адресу 0x00010000. удается даже поставить брекпоинт на этот адрес. И при выполненении следующего шага

PC становится равен 0x6fc.

Что за инструкция лежит по этому адресу? Какой дебагер? Какой брекпоинт? Софтварный? Софтварный брекпоинт это и есть exception 0x700.

 

Может хотяб алгоритм для отладки можете посоветовать...

Алгоритм отладки линуксового ядра посоветовать не могу.

CodeWarrior Linux Platform Edition его вроде бы может дебагать, но ни разу не пробовал.

Edited by _SY_

Share this post


Link to post
Share on other sites

Спасибо за ответы.

 

Тогда если можно то начну с простых вопросов. сама последовательность действий у меня правильная или надо чтот иначе делать? до этого с powerpc не работал, поэтому все действия основаны на армовском опыте.

 

1. Скачиваю юбут последнюю версию. Правлю конфиг под свою платку.Собираю компилятором который был получен из openwrt. Патчей не каких не накладывал.

2. Флешка начинается с адреса 0xfe000000. по этому адресу и пишу u-boot.bin. юбут стартанул. корректоно проинициализировав оперативку,флэш,езернет.

3. Скачиваю последнюю версию ядра.Собираю тем же кросс-компилятором.Патчей не накладывал. Из директории kernel/arch/powerpc/boot/ беру файл zImage и подгатавливаю спомощью утилиты юбута для заливки. указавав Load Address 0x00000000 и Entry Point 0x00000000.

4. заливаю образ по адресу 0xfe050000. как видно юбут раскрывает образ корректно и передает управление ядру. Дальше ничего.

 

Еще вот такой вопрос. есть некий файл mpc8360ece.dtb на диске который идет с платкой фрискэйла 8360RDK. И вроде он тож заливается во влеш судя по мануалу. Он нужен мне?

 

Share this post


Link to post
Share on other sites

dtb это device tree без него ядро не будет работать. В документации kernel есть документация как писать этот device tree, в каталоге /documentation/powerpc/dts-binding/

 

Честно говоря нету опыта с кросскомпилятором из openwrt, проще всего по-моему взять готовый BSP на плату 8360.

Share this post


Link to post
Share on other sites

Вы ядро какой командой Uboot-а запускаете? Если "bootm", то там в явном виде необходимо указать адрес device tree

Вот с сайта Uboot-а:

 

http://www.denx.de/wiki/DULG/UBootCmdGroupExec

 

Usage:

bootm [addr [arg ...]]

- boot application image stored in memory

passing arguments 'arg ...'; when booting a Linux kernel,

'arg' can be the address of an initrd image

When booting a Linux kernel which requires a flat device-tree

a third argument is required which is the address of the

device-tree blob.

 

Ядро без dtb не будет работать.

Share this post


Link to post
Share on other sites

Ок.

получается dtb собирается из dts с помощью компилятора dtc. а dts где взять? Стандартный который лежит в boot/dts/ наверно же неподойдет. Самому править его?

Edited by neiro80

Share this post


Link to post
Share on other sites

Можно еще вопрос про отладку задать.

 

Пытаюсь средствами gdb и bdi2000 отладить u-boot.

Интересует вот сам алгоритм. У меня получается отлаживаться до того момента пока не отработала функция cpu_init_f. Собственно в этой функции происходит relocation. и дальше видимо теряется контроль над отладкой.

Вот тут рассказано как надо делать http://www.denx.de/wiki/DULG/DebuggingUBoot

Ну и собственно вопрос (поскольку не получается повторить)...так и надо делать?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this