Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Отвечу на вопросы по PowerQUICC
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры > PowerQUICC
Страницы: 1, 2, 3
_SY_
UPD: Протупил, извиняюсь. Схема платы лежит внутри ISO-шника с Linux BSP на эту плату, ISO-шник можно скачать с сайта:

http://www.freescale.com/webapp/sps/site/o...5XX&tid=CWH

Называется так: "MPC8536DS Linux Board Support Package - LTIB (DVD 4)"

Ну 2 гига весит, к сожалению, но схема там точно есть внутри, в директории /help/hardware/DS

В принципе это справедливо для всех плат - схема платы лежит внутри ISO-шника с линуксом.

Цитата(gosu-art @ May 21 2010, 18:17) *
Подключаю сейчас шину eLBC (GPCM режим, 32 бита для ОЗУ-2Д) Так вот…

1. Правильно ли я понял, что для адреса LSB это LAD[24:31], а для данных MSB-LAD[0:7]?
Для чего так сделано?

Да, для 8-bit устройства.
Зачем так сделано - не знаю, всегда так было в PowerQUICC.

Цитата(gosu-art @ May 21 2010, 18:17) *
2. Обязательно подключать адрес через защелку? Или можно LA использовать? Посоветуйте, как лучше сделать.

Не обязательно, можно использовать LA. Только их всего 5 штук, не очень понимаю что вы на этом можете съэкономить.
В мануале везде написано LA[7:31], так вот это неправда, на самом деле LA[27:31].

На самом деле вопрос об использовании не-мультиплексированных адресов вовсе не простой. В случае, если вы используете UPM и пытаетесь burst-транзакции делать - можно будет делать инкрементацию адреса без вставки LALE-циклов. Но для обычной флешки подключенной через GPCM об этом можно не думать.
gosu-art
Цитата(_SY_ @ May 21 2010, 15:52) *
Да, для 8-bit устройства.
Зачем так сделано - не знаю, всегда так было в PowerQUICC.

А разве для 32 битной шины не нужно младший байт LAD[0:7] цеплять на старший DATA [24:31] ? И как при этом подключать адрес? В даташиите написано, что младший для адреса байт – LAD[24:31]. т.е цепляем LAD[24:31] на ADR[0:7]?А остальные лини по стандарту? т.е. LAD[8:23] на DATA[8:23], и так же соответственно адрес?
_SY_
Цитата(gosu-art @ May 24 2010, 11:59) *
А разве для 32 битной шины не нужно младший байт LAD[0:7] цеплять на старший DATA [24:31] ?


Для 32-bit шины LAD[0:31] надо цеплять на DATA[31:0], именной в обратной последовательности, нулевой к 31-му и т.д. При этом старший байт LAD[0:7] будет соответствовать DATA[31:24], и это именно старший байт, не младший.
Для 16-bit - LAD[0:7] надо цеплять на DATA[15:8], LAD[8:15] на DATA[7:0]
Для 8-bit - LAD[0:7] надо цеплять на DATA[7:0]

Цитата(gosu-art @ May 24 2010, 11:59) *
И как при этом подключать адрес? В даташиите написано, что младший для адреса байт – LAD[24:31]. т.е цепляем LAD[24:31] на ADR[0:7]?А остальные лини по стандарту? т.е. LAD[8:23] на DATA[8:23], и так же соответственно адрес?

В этих процессорах (традиционно) используется обратная нумерация, как шины адреса, так и шины данных.
Т.е. внутри группы LAD[0:31] старшим значащим является LAD[0], младшим - LAD[31].
Поэтому при подключении, допустим, к обычной флешке - все адресные веревки должны быть перевернуты.

Для 8-bit шины LAD[0:31] надо цеплять (через адресный latch) на ADDR[31:0], именно в обратной последовательности, нулевой к 31-му и т.д. При этом если флешка меньше размером, то старшие LAD[0], LAD[1] и т.д. остаются висеть в воздухе.
Для 16-bit - LAD[31] не используется, надо цеплять LAD[0:30] на ADDR[30:0], тоже в обратной последовательности
Для 32-bit - не используются LAD[31] и LAD[30], надо цеплять начиная с LAD[29], т.е. LAD[0:29] на ADDR[29:0], и тоже в обратной последовательности
gosu-art
Цитата(_SY_ @ May 24 2010, 11:46) *
Для 16-bit - LAD[31] не используется.......
Для 32-bit - не используются LAD[31] и LAD[30]............

Вроде это про LA, а не про LAD(п. 13.5.1.1 Multiplexed Address/Data Bus for 32-Bit Addressing). Или я ошибаюсь?

The eLBC supports port sizes of 8, 16, and 32 bits. When there is an access larger than the port size, the
eLBC breaks up the access into smaller transactions using the non-multiplexed address signals LAn. For
32-bit devices, LA[30:31] are irrelevant since these address bits are implicit in the byte lanes which carry
data. Similarly, for 16-bit devices, LA[30] is used and LA[31] is irrelevant; however, for 8-bit devices,
LA[30:31] are necessary.
_SY_
Это вообще для всех. Попробую объяснить, извиняюсь если слишком подробно:

Каждое значение адреса адресует 1 байт.

Если у вас ваша флешка 8-битная, и вы пишете 8-bit по адресу 0x00000000, то следующие 8-bit будут по адресу +1, т.е 0x00000001

Если у вас ваша флешка 16-битная, и вы пишете 16-bit (2 байта) по адресу 0x00000000, то следующие 16-bit будут по адресу +2, т.е 0x00000002
Ну и так далее:

0x00000000
0x00000002
0x00000004
0x00000006
0x00000008

Видно, что младший бит адреса всегда равен нулю.

А со стороны флешки - каждый адрес адресует 16-бит. Т.е. можно записать 16 бит по адресу 0 и следующие 16-бит по адресу 1.
Поэтому, младший адрес флешки в таком случае подключают не к первому (младшему) адресу шины, а ко второму.

Для 32-bit устройства все аналогично, только не используются два младших адреса.
В этом смысле разницы между LAD[] и LA[] нету.
gosu-art
Спасибо за развернутый ответ!!! Все понял!
Но по ходу возникли следующие вопросы)))):
1. Могу ли я заменить ADR[29:27] на LA[29:27] для GPCM ? (полагаю да)
2. Для глобальной записи из WE юзать? WE[0]?
3. Если мне нужны сигналы LBS[0:3] (при чтении и при записи), то уже GPСМ использовать не получится? Откуда в этом случае можно взять глобальный сигнал записи?
Прилагаю схемку….
_SY_
Цитата(gosu-art @ May 26 2010, 18:39) *
1. Могу ли я заменить ADR[29:27] на LA[29:27] для GPCM ? (полагаю да)

Да, конечно.

Цитата(gosu-art @ May 26 2010, 18:39) *
2. Для глобальной записи из WE юзать? WE[0]?

Если возможна запись только 32-bit целиком, то можно использовать любой из WE[0:3], т.к. при записи 32 бит они все будут активны.
Если устройство поддерживает побайтовую запись, т.е. использует сигналы байт-селектов, то либо объединять все 4 вместе по или (точнее - и), либо использовать глобальный LBCTL.

Цитата(gosu-art @ May 26 2010, 18:39) *
3. Если мне нужны сигналы LBS[0:3] (при чтении и при записи), то уже GPСМ использовать не получится? Откуда в этом случае можно взять глобальный сигнал записи?

Байт-селектов в GPCM нету, только индивидуальные WE. Либо использовать UPM (что вобщем тоже несложно), либо городить на внешней логике схемку из WE[0:3] и OE.

Либо третий вариант - принять мужественное решение забить на байт-селекты и обращаться к этой памяти только 32-битными транзакциями.

Цитата(gosu-art @ May 26 2010, 18:39) *
Прилагаю схемку….

По схемке:

1. Байт-селекты перепутаны. LBS0 соответствует LAD[0:7], LBS1 - LAB[8:15], и т.д.
У вас на схеме LBS0 подключен к BE0L, который по всей видимости разрешает первый байт I/O[0:7], а там LAD[24:31].

2. GPCM не будет работать без пулапа на LGTA

3. LSYNC_IN должен быть соединен с LSYNC_OUT через петлю обратной связи, если local bus будет использоваться на высокой частоте, т.к. там надо будет включать DLL mode.

4. Адресный latch наверное такой большой не нужен, если всего 14 адресов использовать.

5. Стартовать ваш процессор откуда будет, если LCS0 не подключен?
Славка
Такой ламерский вопрос... Никогда с DDR2 не работал...
1. Можно ли подключить 1 чип MT47H16M16BG к MPC8323 или обязалово пару надо?
2. Есть ли аналоги подешевле, ну или какими чипами памяти пользуетесь вы?
3. Выкладывают ли на фрискейлы прошивки для I2C епромки, которая грузит ю-бут через кермит в параллельную флешку?

Один чип MT47H16M16BG стоит 9-10 баксов... несправедливо как то, если учесть что целая планка DDR2 в комп стоит столько же, где штук 8 чипов стоит аналогичных...
_SY_
Цитата(Славка @ May 27 2010, 15:47) *
1. Можно ли подключить 1 чип MT47H16M16BG к MPC8323 или обязалово пару надо?

Нет, MPC8323 DDR контроллер не поддерживает 16-bit, эта поддержка есть в 8313 и 8315

Цитата(Славка @ May 27 2010, 15:47) *
2. Есть ли аналоги подешевле, ну или какими чипами памяти пользуетесь вы?

Ну аналоги-то известны - Samsung, Kingston, Hynix
Пользоваться удобнее готовыми SODIMM модулями, там где размер платы позволяет.
Просто потому что за счет SPD информации появляется некоторая гибкость настройки.

Цитата(Славка @ May 27 2010, 15:47) *
3. Выкладывают ли на фрискейлы прошивки для I2C епромки, которая грузит ю-бут через кермит в параллельную флешку?

Не видел, но я думаю никакого секрета в ней нету, напишите в сапорт - пришлют образ.

Цитата(Славка @ May 27 2010, 15:47) *
Один чип MT47H16M16BG стоит 9-10 баксов... несправедливо как то, если учесть что целая планка DDR2 в комп стоит столько же, где штук 8 чипов стоит аналогичных...

Ну не совсем "аналогичных", 16-битных чипов вы там скорее всего не найдете.
А если найдутся, то что мешает распаять планку? Бывало и такое.
Славка
Цитата(_SY_ @ May 28 2010, 08:33) *
Нет, MPC8323 DDR контроллер не поддерживает 16-bit, эта поддержка есть в 8313 и 8315

Не понятно... А чипы есть 32-битные? Ни у микрона, ни у самсунга не нашел модулей x32

Цитата
most JEDEC standard x8, x16, or x32 DDR2 and DDR memories available.

x8 x16 x32 width модулей - это и есть разрядность модулей?
тоесть чтобы подключить память над или 4 модуля x8, или 2модуля x16, или 1x32?

Цитата(_SY_ @ May 28 2010, 08:33) *
Не видел, но я думаю никакого секрета в ней нету, напишите в сапорт - пришлют образ.

В какой момент загрузки линукса (от включения питания до логина) происходит инициализация DDR контроллера?
Просто если поменять память, пойдет ли этот образ I2C флешки для новой системы?
И где хранится конфигурация в образе линукс, чтоб можно было ее изменить? smile3046.gif

Цитата(_SY_ @ May 28 2010, 08:33) *
Ну не совсем "аналогичных", 16-битных чипов вы там скорее всего не найдете.
А если найдутся, то что мешает распаять планку? Бывало и такое.

Это идея smile.gif А какие там обычно чипы используются?

Цитата(_SY_ @ Mar 17 2009, 20:49) *
Кому интересно - ссылка на сравнительную таблицу продуктов PowerQUICC на сайте freescale
http://www.freescale.com/files/32bit/doc/b...RDSDPRODSUM.pdf

В этой таблице написано что у MPC8323E: T1/E1 - 2 , T3/E3 - вообще нету!!!! В даташите:
The SI includes the following features:
• Can connect to four independent TDM channels. Each can be one of the following:
— T1 or CEPT line
— Integrated services digital network primary rate (PRI)
— ISDN basic rate–interchip digital link in 4 channels (IDL)
— E3 or DS3 clear channel. ---------4 Е3!!!!
— User-defined interfaces.
• Independent, programmable transmit and receive routing paths.
• Total of 512 routing entries for receive and transmit each. ----- 512 таймслотов - это 16х32, тоесть как раз Е3 поток
• Total of 256 routing entries + 256 shadow routing entries for receive and transmit each. Эта строчка пока непонятна...
-----------------------------------------------------------------------
Кому верить то? В таблице - 2хЕ1, а в даташите 4хЕ3!
_SY_
Цитата(Славка @ May 28 2010, 15:42) *
Не понятно... А чипы есть 32-битные? Ни у микрона, ни у самсунга не нашел модулей x32

Мне не попадались.

Цитата(Славка @ May 28 2010, 15:42) *
x8 x16 x32 width модулей - это и есть разрядность модулей?
тоесть чтобы подключить память над или 4 модуля x8, или 2модуля x16, или 1x32?

Да.

Цитата(Славка @ May 28 2010, 15:42) *
В какой момент загрузки линукса (от включения питания до логина) происходит инициализация DDR контроллера?
Просто если поменять память, пойдет ли этот образ I2C флешки для новой системы?
И где хранится конфигурация в образе линукс, чтоб можно было ее изменить? smile3046.gif

Этим занимается boot loader, а не линукс. Я думаю что все описано в документации на него.

http://www.denx.de/wiki/U-Boot/WebHome

Цитата(Славка @ May 28 2010, 15:42) *
Это идея smile.gif А какие там обычно чипы используются?

Да разные бывают, вот например 2-гиговый модуль Hynix HYMP125S64CR8 сделал из 16-ти чипов по 8 бит, чипы HY5PS1G831C
А модули меньшего размера (1G и 512Mb) сделаны на 16-битных чипах.

Цитата(Славка @ May 28 2010, 15:42) *
— E3 or DS3 clear channel


E3 имеет очень сложную канальную структуру, которая не поддерживается. "E3 clear channel" это просто битовый поток со скоростью E3, без поддержки без канальной структуры.
Простой битовый поток конечно нет проблем принять.
Славка
Цитата(_SY_ @ May 28 2010, 13:50) *
Этим занимается boot loader, а не линукс. Я думаю что все описано в документации на него.

Значит i2c boot будет работать даж без памяти или при любой ее конфигурации?

Цитата(_SY_ @ May 28 2010, 13:50) *
E3 имеет очень сложную канальную структуру, которая не поддерживается. "E3 clear channel" это просто битовый поток со скоростью E3, без поддержки без канальной структуры.
Простой битовый поток конечно нет проблем принять.

Тоесть 4 полноценных E1 с клоком в 16 раз больше (32 Мбит) без проблем перепакует отправит и даж не запыхается?
А почему в даташите 4 канала, а в той таблице 2 канала?... чую здесь какой то подвох...
Вот у MPC8560 - 8 каналов E1, в даташите написано, что они без проблем могут работать как E3, но в таблице написано что всего 2 канала E3.
_SY_
Цитата(Славка @ May 28 2010, 18:01) *
Значит i2c boot будет работать даж без памяти или при любой ее конфигурации?

Я не очень понимаю смысл вопроса. Что такое "i2c boot"?

Цитата(Славка @ May 28 2010, 18:01) *
Тоесть 4 полноценных E1 с клоком в 16 раз больше (32 Мбит) без проблем перепакует отправит и даж не запыхается?
А почему в даташите 4 канала, а в той таблице 2 канала?... чую здесь какой то подвох...
Вот у MPC8560 - 8 каналов E1, в даташите написано, что они без проблем могут работать как E3, но в таблице написано что всего 2 канала E3.

TDM интерфейс - железный, он ресурсы процессора или QE не потребляет. Можете щелкать биты туда/сюда как хочется. А дальше вопрос, что именно вы хотите с этими битами делать. Если просто сложить в память без обработки, то нужен transparent протокол. Надо оценивать производительность QE, сможет ли она лопатить transparent протокол с нужной вам скоростью. Если производительности QE хватило, то в память вы сложили. А дальше надо понять, что конкретно нужно сделать, какие конкретно нужны процессорные ресурсы для этого.
Славка
Цитата(_SY_ @ May 28 2010, 21:28) *
Я не очень понимаю смысл вопроса. Что такое "i2c boot"?

Ну это бут с внешней I2C eeprom'ки (которая грузит юбут через Kermit)...

Цитата(_SY_ @ May 28 2010, 21:28) *
TDM интерфейс - железный, он ресурсы процессора или QE не потребляет. Можете щелкать биты туда/сюда как хочется. А дальше вопрос, что именно вы хотите с этими битами делать. Если просто сложить в память без обработки, то нужен transparent протокол. Надо оценивать производительность QE, сможет ли она лопатить transparent протокол с нужной вам скоростью. Если производительности QE хватило, то в память вы сложили. А дальше надо понять, что конкретно нужно сделать, какие конкретно нужны процессорные ресурсы для этого.

В Linux есть tdm драйвер ucc_tdm называются... Как вы оцениваете его производительность? Задача будет что-то типа взять пакет эзернет, взять канал ТЧ (1 таймслот от слик) и послать по tdm...
Хватит его (драйвера) для работы с четырьмя 32 Мгцовыми tdm на mpc8323 (задачи те же, ну там еще может маршрутизация самих таймслотов)?
Да и вопрос так и остался открытым))) Чего эт они в даташите пишут одно, в таблицу заполняют другое, и что это значит??
_SY_
Цитата(Славка @ May 31 2010, 11:43) *
Ну это бут с внешней I2C eeprom'ки (которая грузит юбут через Kermit)...

I2C eeprom не грузит U-boot, она содержит код флэш программатора, который умеет брать образ флэшки по протоколу Kermit и программировать флэшку.
Т.е. с помощью нее можно образ U-boot-а зашить в пустую флешку без использования USB TAP, если у вас нет USB TAP.

Цитата(Славка @ May 31 2010, 11:43) *
В Linux есть tdm драйвер ucc_tdm называются... Как вы оцениваете его производительность? Задача будет что-то типа взять пакет эзернет, взять канал ТЧ (1 таймслот от слик) и послать по tdm...
Хватит его (драйвера) для работы с четырьмя 32 Мгцовыми tdm на mpc8323 (задачи те же, ну там еще может маршрутизация самих таймслотов)?
Да и вопрос так и остался открытым))) Чего эт они в даташите пишут одно, в таблицу заполняют другое, и что это значит??

Про производительность драйвера ucc_tdm спросите в сапорте.

Про корявые таблицы - я вам ответил как есть на самом деле. Таблицу можно исправить, если есть желание, то можете туда-же написать, скажут вам спасибо и исправят.
Славка
Цитата(_SY_ @ May 31 2010, 12:23) *
I2C eeprom не грузит U-boot, она содержит код флэш программатора, который умеет брать образ флэшки по протоколу Kermit и программировать флэшку.
Т.е. с помощью нее можно образ U-boot-а зашить в пустую флешку без использования USB TAP, если у вас нет USB TAP.

Ну эт понятно. Вопрос в том, что если я поменяю конфигурацию памяти (заменю чипы), будет ли работать этот флеш программатор??
Если заменю паралельную флеш на другую?
Ведь ДДР контроллер инициализируется уже только в u-boot.
Нет у меня USB TAP и 500 баксов за него, а плату свою сделать хочется...

Цитата(_SY_ @ May 31 2010, 12:23) *
Про производительность драйвера ucc_tdm спросите в сапорте.
Про корявые таблицы - я вам ответил как есть на самом деле. Таблицу можно исправить, если есть желание, то можете туда-же написать, скажут вам спасибо и исправят.

Да непонятная у них поддержка... Особенно по Линуксу... Когда спросишь чо-нить не элементарное, то они сразу грят извините, Линукс бесплатный идите на форумы и там спрашивайте...
Седня спросил их про токи потребления по питанию... В MPC8323EEC.pdf есть только
Table 5. MPC8323E Power Dissipation! Больше ничего, резонный вопрос на сколько бпшник расчитывать...
Так как необходимый параметр это Power Consumtion (Мощность потребления)
В ответ на реквест меня начали учить закону ома, грят, ты подели мощность рассеивания на напряжение питания ядра и получишь ток потребления проца smile.gif я ему в ответ написал байку про КПД)) Вот жду чо ответит... Так где взять то ток потребления по 1 и 3.3В, если в документации этого нет?
_SY_
Э..м-м-м... А что такое КПД проца? Проц - это грелка, он ничего не делает в моем понимании - ни к массе ускорение не прикладывает, ни тяжести не поднимает в поле потенциальных сил.
Как оценить полезную работу проца в Ваттах?

Цитата(Славка @ May 31 2010, 16:51) *
Ну эт понятно. Вопрос в том, что если я поменяю конфигурацию памяти (заменю чипы), будет ли работать этот флеш программатор??
Если заменю паралельную флеш на другую?

Думаю что нет. Думаю что он специфичен как к типу флешки, так и к типу DDR-памяти, т.к. скорее всего инициализирует и использует DDR память.

Цитата(Славка @ May 31 2010, 16:51) *
Да непонятная у них поддержка... Особенно по Линуксу... Когда спросишь чо-нить не элементарное, то они сразу грят извините, Линукс бесплатный идите на форумы и там спрашивайте...

Ну драйвер-то их самописаный, насколько я понимаю, кто его должен еще поддерживать?

И я не очень понимаю, причем тут Линукс, если честно. Вы хотите железяку заставить принимать/передавать 4 потока TDM по 32 mbps, все это в сыром виде складывать в память (это transparent режим), потом как-то обработать с помощью своего софта самопального и отправить про Ethernet. Ну так и попросите оценить производительность QE для этой конкретной задачи, причем здесь какой-то линукс и какой-то драйвер? Железо прежде всего должно уметь прокачивать, а потом уже будете колупать драйвер, если он криво написан и не работает как вам надо.

Цитата(Славка @ May 31 2010, 16:51) *
Седня спросил их про токи потребления по питанию... В MPC8323EEC.pdf есть только
Table 5. MPC8323E Power Dissipation! Больше ничего, резонный вопрос на сколько бпшник расчитывать...
Так как необходимый параметр это Power Consumtion (Мощность потребления)
В ответ на реквест меня начали учить закону ома, грят, ты подели мощность рассеивания на напряжение питания ядра и получишь ток потребления проца smile.gif я ему в ответ написал байку про КПД)) Вот жду чо ответит... Так где взять то ток потребления по 1 и 3.3В, если в документации этого нет?

В документации написано только потребление самого девайса, оно-же его рассеяние. Если у вас какие-то внешние нагрузки к ногам подключены, то соответственно, по 3.3В надо будет что-то добавить, в зависимости от сопротивления ваших нагрузок, их емкостей и частоты с которой вы эти емкости перезаряжаете. Конечно, никто вам полное потребление всех ваших нагрузок считать не будет.

Насчет закона ома не очень понял, по-моему вы че-то путаете, закон ома это U=I*R
Славка
Цитата(_SY_ @ May 31 2010, 14:40) *
Э..м-м-м... А что такое КПД проца? Проц - это грелка, он ничего не делает в моем понимании - ни к массе ускорение не прикладывает, ни тяжести не поднимает в поле потенциальных сил.
Как оценить полезную работу проца в Ваттах?

Каюсь, сам ступил laughing.gif Он мне уже объяснил про полезную работу проца)))
кстать интересно... Вот съедает проц 5 Вт, значит и греется он тож на 5 Вт? Или все таки греется на 3 Вт и КПД у него будет 2/5 = 40%?
Цитата(_SY_ @ May 31 2010, 14:40) *
Думаю что нет. Думаю что он специфичен как к типу флешки, так и к типу DDR-памяти, т.к. скорее всего инициализирует и использует DDR память.

Вот пижоны а, замутили какой то программатор за 500 баксов и софт за 1500 молодцы... Начальство готово его купить, только сказало, чтоб сначала показал, что PowerPC стоят того чтоб в них вкладыватся... Я сам понимаю, что нихрена они не стоят того, но изучить их хочется)))

Цитата(_SY_ @ May 31 2010, 14:40) *
Ну драйвер-то их самописаный, насколько я понимаю, кто его должен еще поддерживать?
И я не очень понимаю, причем тут Линукс, если честно. Вы хотите железяку заставить принимать/передавать 4 потока TDM по 32 mbps, все это в сыром виде складывать в память (это transparent режим), потом как-то обработать с помощью своего софта самопального и отправить про Ethernet. Ну так и попросите оценить производительность QE для этой конкретной задачи, причем здесь какой-то линукс и какой-то драйвер? Железо прежде всего должно уметь прокачивать, а потом уже будете колупать драйвер, если он криво написан и не работает как вам надо.

Кого попросить оценить?
Линукс - потому что ни Кодевариора ни Юсб ТАПа у нас нет...

Цитата(_SY_ @ May 31 2010, 14:40) *
Насчет закона ома не очень понял, по-моему вы че-то путаете, закон ома это U=I*R

Извиняюсь... rolleyes.gif Для меня закон Ома и уравнение мощности - это все из одной оперы)) Американская система образования...
http://www.the12volt.com/ohm/ohmslaw.asp
_SY_
Цитата(Славка @ May 31 2010, 19:49) *
кстать интересно... Вот съедает проц 5 Вт, значит и греется он тож на 5 Вт? Или все таки греется на 3 Вт и КПД у него будет 2/5 = 40%?

Ну а куда ему остальную энергию-то деть? Закон сохранения ведь никто не отменял, сколько поглощает столько и излучает в тепло,
если работы не совершает.

Цитата(Славка @ May 31 2010, 19:49) *
Вот пижоны а, замутили какой то программатор за 500 баксов и софт за 1500 молодцы... Начальство готово его купить, только сказало, чтоб сначала показал, что PowerPC стоят того чтоб в них вкладыватся... Я сам понимаю, что нихрена они не стоят того, но изучить их хочется)))

MPC8323 это урезаная версия от MPC8360, которую сделали специально для миграции со старых MPC82xx и MPC8xx девайсов.
Сильно большой производительности не ждите.

Цитата(Славка @ May 31 2010, 19:49) *
Кого попросить оценить?

Сапорт.
Для старых CPM был специальный Excel файл для оценки CPM performance, а для новой QE - вроде нет.
dkogna
Цитата(Славка @ May 31 2010, 05:51) *
Ну эт понятно. Вопрос в том, что если я поменяю конфигурацию памяти (заменю чипы), будет ли работать этот флеш программатор??
Если заменю паралельную флеш на другую?
Ведь ДДР контроллер инициализируется уже только в u-boot.
Нет у меня USB TAP и 500 баксов за него, а плату свою сделать хочется...

А Вам и не нужно покупать USB TAB за 500 зеленых. Это забота руководства. Вам в этой ситуации этот самый дебагер ой как поможет. Вы же другую память и флеш будете ставить. Вы с этим дебагеров сможете запустить проц без памаяти. Потом с помошью дебагера отладите тайминг памяти.

Я месяца 2-3 тому видел, что кто то в Москве , через eBay, продавал б/у отладочную плату с USB TAP кажись за 100 или 150 дол.
vitan
Цитата(dkogna @ May 31 2010, 19:04) *
Вам в этой ситуации этот самый дебагер ой как поможет. Вы же другую память и флеш будете ставить.

Там в кодеварриоре куча глюков в программаторе флэша. И не только там. Я лично потратил около недели поиска на форумах и суппортах, пока не заработала прошивка моей флэши...
VladA
Цитата(_SY_ @ Apr 24 2010, 12:35) *
У пользователя VladA отключен личный ящик, поэтому отвечаю здесь.

Честно говоря, я создавал эту тему для того, чтобы как-то помочь людям разобраться с powerquicc.
У меня нету цели как-то рекламировать себя и я не ищу себе какие-то дополнительные подработки.
Поэтому - я готов бесплатно ответить на ваши вопросы в этой теме, если они у вас есть.

Если нет желания разбираться самостоятельно, то лучше создать тему в разделе "Предлагаю работу".


Не подскажете,
Возможно ли найти eTSEC Ethernet driver с TCP/IP стэком для MPC8315/14.
_SY_
Цитата(VladA @ Jun 25 2010, 02:49) *
Не подскажете,
Возможно ли найти eTSEC Ethernet driver с TCP/IP стэком для MPC8315/14.

Ну в Линуксе на 8315-ю плату разве нету драйвера? Или вам standalone стэк нужен? Про standalone имплементации стека TCP/IP слышал, но это извращение по-моему, обычно если нужен стек TCP/IP, то используют линукс или любую другую ос и не греют голову.
VslavX
Цитата(_SY_ @ Jun 25 2010, 10:40) *
Ну в Линуксе на 8315-ю плату разве нету драйвера? Или вам standalone стэк нужен? Про standalone имплементации стека TCP/IP слышал, но это извращение по-моему, обычно если нужен стек TCP/IP, то используют линукс или любую другую ос и не греют голову.

Извращение не извращение, а 70МБпс по TCP на 8347@533MHz дает smile.gif (и есть еще что пооптимизировать).
Вопрос у меня такой - сколько получится на линуксе на таком железе? Нет ли практических цифр? (я так понял у Вас есть платформа на которой можно проверить)

VladA
Цитата(_SY_ @ Jun 25 2010, 03:40) *
Ну в Линуксе на 8315-ю плату разве нету драйвера? Или вам standalone стэк нужен? Про standalone имплементации стека TCP/IP слышал, но это извращение по-моему, обычно если нужен стек TCP/IP, то используют линукс или любую другую ос и не греют голову.


Нужен stand-alone. Или в любой другой ОС, которую можно найти бесплатно или за разумные деньги. Linux уже есть и работает, но не устраивает.

Цитата(VslavX @ Jun 25 2010, 06:18) *
Извращение не извращение, а 70МБпс по TCP на 8347@533MHz дает smile.gif (и есть еще что пооптимизировать).
Вопрос у меня такой - сколько получится на линуксе на таком железе? Нет ли практических цифр? (я так понял у Вас есть платформа на которой можно проверить)

Конкретно не проверяли. Скорость для нашего приложения не важна. Нужен софт, который поддержал бы EThernet и TCP/IP на такой платформе. Linux есть, но не устраивает по другим причинам.
_SY_
На страничке 8349-го есть пара ссылок на стэки - CMX и MQX

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

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

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

Производительность линуксового стэка не проверяли, задачи такой небыло, та и так понятно что никто там особо ничего не оптимизировал.
VslavX
Цитата(_SY_ @ Jun 26 2010, 04:42) *
На страничке 8349-го есть пара ссылок на стэки - CMX и MQX

Да, MQX очень и очень неплох, правда, там не все драйвера для TSEC-ов в исходниках удалось найти - хотелось "подглядеть", когда свой стек портировался.
Цитата(_SY_ @ Jun 26 2010, 04:42) *
Производительность линуксового стэка не проверяли, задачи такой небыло, та и так понятно что никто там особо ничего не оптимизировал.

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

VladA
Цитата(_SY_ @ Jun 25 2010, 21:42) *
На страничке 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.
neiro80
привет.

у нас платка с 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 но чет в нём не знаю даже как отладку вывести.
_SY_
Uboot и линукс откуда взяты? Из фрискейловского BSP на 8360 плату? Патчи все приложены?
Память DDR проверили на работоспособность?
neiro80
Юбут собран с небольшой правкой конфига mpc8360emds.h.
ядро соотвественно тоже.
память рабочая. поскольку в юбуте просматривал через md ту область куда ядро распакуется.
ядро стартует по адресу 0x00010000. удается даже поставить брекпоинт на этот адрес. И при выполненении следующего шага
PC становится равен 0x6fc.
Может хотяб алгоритм для отладки можете посоветовать...
_SY_
Цитата(neiro80 @ Sep 14 2010, 15:54) *
Юбут собран с небольшой правкой конфига mpc8360emds.h.
ядро соотвественно тоже.

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

Цитата(neiro80 @ Sep 14 2010, 15:54) *
ядро стартует по адресу 0x00010000. удается даже поставить брекпоинт на этот адрес. И при выполненении следующего шага
PC становится равен 0x6fc.

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

Цитата(neiro80 @ Sep 14 2010, 15:54) *
Может хотяб алгоритм для отладки можете посоветовать...

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

Тогда если можно то начну с простых вопросов. сама последовательность действий у меня правильная или надо чтот иначе делать? до этого с 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. И вроде он тож заливается во влеш судя по мануалу. Он нужен мне?
_SY_
dtb это device tree без него ядро не будет работать. В документации kernel есть документация как писать этот device tree, в каталоге /documentation/powerpc/dts-binding/

Честно говоря нету опыта с кросскомпилятором из openwrt, проще всего по-моему взять готовый BSP на плату 8360.
neiro80
блин. а если в двух словах...то куда писать этот dtb и откуда ядро будет знать о нем?
т.е. без dtb линукс не стартанет на powerpc чтоли?
_SY_
Вы ядро какой командой 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 не будет работать.
neiro80
Ок.
получается dtb собирается из dts с помощью компилятора dtc. а dts где взять? Стандартный который лежит в boot/dts/ наверно же неподойдет. Самому править его?
_SY_
Да, писать самостоятельно dts, потом компилировать с помощью компилятора dtc и получать на выходе dtb.

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

Пытаюсь средствами gdb и bdi2000 отладить u-boot.
Интересует вот сам алгоритм. У меня получается отлаживаться до того момента пока не отработала функция cpu_init_f. Собственно в этой функции происходит relocation. и дальше видимо теряется контроль над отладкой.
Вот тут рассказано как надо делать http://www.denx.de/wiki/DULG/DebuggingUBoot
Ну и собственно вопрос (поскольку не получается повторить)...так и надо делать?
_SY_
Ну видимо да. С отладкой U-boot опыта нету, извините. Он обычно как-то работает.
neiro80
Спасиб за помощь. Ядро стартануло...дальше легче )
Отпишу тут..мож кому пригодится инфа да и чтоб самому не забыть...

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

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

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

Спасибо!
mitrich1982
Господа подскажите пожалуйста!
дали плату потренироваться 8309.
сделал тестовый проект Welcome to CodeWarrior!
запустил его в дебагере - всё работает - в консоль плюёт.
как теперь его запихать в плату, какие файлы куда пихать ничё не понятно, есть ли какой нить мануал на эту тему, jtag и codewarrior у меня есть?
раньше работал с блэкфин так там всё по инструкции всё понятно - ldr файл записываешь и всё.
Файл приложения какого расширения должен быть -если .bin, то как правильно его сгенерить?
klevo
Надо восстановить плату на базе процессора MPC8270 и флеш памяти S29GL256N (2 корпуса) на плате 20 пиновый JTAG.
В наличии имеется такая же рабочая.

C помощью какого софта возможно сделать следующие операции:
1)Считать данные флеш памяти S29GL256N в файл компьютера через JTAG
2)Записать данные из файла (считаного с рабочей платы) в нерабочую плату.

Заранее благодарю за ответ.
vitan
Цитата(klevo @ Mar 22 2012, 14:03) *
C помощью какого софта возможно сделать следующие операции:
1)Считать данные флеш памяти S29GL256N в файл компьютера через JTAG
2)Записать данные из файла (считаного с рабочей платы) в нерабочую плату.

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

Есть в наличии 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.
Куда их подключать?



Victor®
Цитата(klevo @ Apr 2 2012, 14:19) *
Есть в наличии 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 нужен...
nemo444
Случилась засада с 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 бинарника для этой платы?

nemo444
Цитата(nemo444 @ Jul 5 2012, 16:08) *
Случилась засада с EVM-кой.
Нет ли у кого u-boot-a бинарника для этой платы?


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

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

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

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

PS: Были бы флешки побольше размером - отпаял бы и в программаторе прошил, а так что-то стремно- вдруг распрограммируются, да и адаптера под шаг 0,5 нету...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.