реклама на сайте
подробности

 
 
> Dream Platform II, недостающая часть мозаики (с картинками)
Evgeny_CD
сообщение Aug 14 2006, 23:52
Сообщение #1


Гуру
******

Группа: СуперМодераторы
Сообщений: 2 065
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 892



========= Предыдущие обсуждения по теме =========

Dream Board
http://www.caxapa.ru/echo/arm.html?id=64968
http://www.caxapa.ru/echo/arm.html?id=64969
http://electronix.ru/forum/index.php?s=&am...st&p=143432

Dream Platform: "$8, которые изменили мир"
http://www.caxapa.ru/echo/arm.html?id=65085
http://electronix.ru/forum/index.php?showtopic=19858

FreeScale (Motorola) ColdFire - наши мольбы о !BGA услышаны?
http://www.caxapa.ru/echo/arm.html?id=63110
http://electronix.ru/forum/index.php?showtopic=18754

========= Термины и определения =========

HCPU - Host CPU - типа главный
HFPGA - его FPGA
SCPU - Slave CPU - периферийный сопроцессор
SFPGA - его FPGA

========= Рисунки к тексту =========

http://upload.caxapa.ru/Deram_Platform.pdf - 80к

========= Стандартые медленные драйвера =========

Обычный проц, обычная ОСь, обычные дрова. Медленная работа

* UART
* SPI
* I2C

========= Стандартые быстрые драйвера =========

* Ethernet
* USB

========= nanoPCI =========

Dream Platform: "$8, которые изменили мир"
http://www.caxapa.ru/echo/arm.html?id=65085
http://electronix.ru/forum/index.php?showtopic=19858

========= TAL драйвера =========

Transaction Abstraction Layer - по аналогии с HAL.

Специализированые драйвера. Все общение на уровне транзакций. Например, для SD/CF/IDE
* записать кластер
* считать кластер

Для RS-485, по которому ModBus бегает
* передать пакет
* считать принятый пакет.

Базовые примитивы драйвера

* init ()
* status_get ()
* cmd_read ()
* cmd_wright ()
* data_read ()
* data_wright ()

Есди надо, перифейриная плата выставляет запрос на обслуживание, который вызывает прерывание. Регистр прерываний.

========= Таймер реального времени =========

Привязка всех процессов к RT.

Выдача синхронизации на периферийные платы при помощи специальной команды.

========= Многопоточный контроллер памяти =========

Буферизация больших пакетов, чтобы экономить ресурс блочной памяти FPGA.

"Коммутация данных" - передача данных от одного периферийного устройства к другому минуя память HCPU.

========= Режим отладки =========

На плате основного контроллера запускается простое приложение, которое конвертирует данные периферийных контроллеров в простой и быстрй IP протокол (UDP, raw). Главное - скорость. Передача по локальной сети, потерь пакетов мало.

На пЫсюке запускается специальный отладочный сервер, который конвертит "простой протокол" в "сокетный" интерфейс по localhost. Каждое устройсто видно как 5 сокетов
* status_get
* cmd_read
* cmd_wright
* data_read
* data_wright

Целевая ОСь + целевое приложение - синтетический порт или симулятор. Нормальные TAL драйвера заменяются на сокетные. При этом симулируемая ОСь работает с реальным железом!!!

Идеальня среда для отладки нового железа. Через сокет "натягиваем" железяку отладочной софтиной на пЫтоне.

========= Требования к HCPU =========

* хороший контроллер DMA с работой через внешнюю шину
* Ethernet внутренний с DMA
* необходимый минимум контроллеров

Кандидаты:

* AT91RM9200 - пролетает по критерию DMA
* ColdFire - самое то по причине хорошего DMA и Ethernet
* LH7952(0|4|5) - самое то по причине DMA
* нелюбимый мною x86 - получает шанс, если HFPGA на PCI посадить.
* PPC405, MPC5200B - самое то!

Уникальный вариант - MCF5407CAI220 - IC MPU 32B 220MHZ COLDF 208-FQFP - 25 pcs $34.92 http://www.digikey.com

* 316 DMIPS !!!
* PQFP 208
* -40!
* мало периферии, Ethernet нет.
* DMA 4 канала есть.
* нет MMU - нет проблем с портированием ОСей. Порта на RTEMS нет, но должны пойти порты на MCF52xx с минимальным перехаком.

Это самый быстрый из известных мне PQFP -40 процессоров.

========= Экономические аспекты =========

Периферийный контроллер - от $11.

XC3S250E-4PQG208C 15.25 http://www.digikey.com

HCPU ColdFire MCF5270, 5208 - 10$.

Т.е. основной контроллер собирается от $30. Вполне разумная плата за фантатическую гибкость!

========= "А зачем нам кузнец?" =========

* Максимальная гибкость. Делаем небольшие платочки под специфическую периферию, и втыкам их в свободные слоты основной платы. Предложенного интерфейса nanoPCI хватит для всех стоящих лично передо мной Embedded задач на долгие и долгие годы.

* Независимость от поставщиов. Требования к HCPU очень простые, FPGA тоже какая-нибудь найдется всегда - "выкос" линеек процессоров нас не волнует.

* Идельная среда отлаки (при наличи мощного пЫсюка и гигабитного Ethernet порта получаем неплохой real time). Нет места спорам - какую ось выбрать. Взяли uCOS в синтетическом режиме - попробовали. Не понравилось - eCos, RTEMS к нашим услугам.

* в принципе, можно и на линукс целевую логику реализовать. Т.е. есть плата - концентратор данных, и есть Linuх управляющий софт, например на x86 (бр...)

========= Просьбы =========

Критика - welcom!

========= Дополнительные посты, полезные в контексте рассматриваемых проблем =========

TDD (Test-driven Development) применительно к embedded системам: похоже, я догнал, как это должно быть устроено.
http://www.caxapa.ru/echo/arm.html?id=63285
http://electronix.ru/forum/index.php?showtopic=18859

Развитие идей по упрощенной отладке.
http://www.caxapa.ru/echo/arm.html?id=63474
http://electronix.ru/forum/index.php?s=&showtopic=18859

eCos на ARM симуляторе SID, автоматическое тестирование при помощи DejaGNU - очень интересно!!!
http://www.caxapa.ru/echo/arm.html?id=62769
http://electronix.ru/forum/index.php?showtopic=18602

uCOS: гораздо более правильная ОСь, чем я долгое время думал.
http://www.caxapa.ru/echo/arm.html?id=61909
http://electronix.ru/forum/index.php?showtopic=18222

Сквозная система разработки embedded устройств
Полноценная GNU среда для embedded разработки
http://www.caxapa.ru/echo/arm.html?id=60891
http://electronix.ru/forum/index.php?showtopic=17562

Продвинутые make'еры: все уже изобретено!
http://www.caxapa.ru/echo/arm.html?id=61898
http://electronix.ru/forum/index.php?showtopic=18212

Концептуальный вопрос по написанию прототипа в среде "похожей на embedd Ось" (Ch и не только).
http://www.caxapa.ru/echo/arm.html?id=58541

"Питон для Си-программистов"
http://www.caxapa.ru/mcu/wwwboard.html?id=57403
http://www.caxapa.ru/mcu/wwwboard.html?id=57960

Ch
http://www.caxapa.ru/mcu/wwwboard.html?id=57905
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Evgeny_CD
сообщение Aug 24 2006, 22:37
Сообщение #2


Гуру
******

Группа: СуперМодераторы
Сообщений: 2 065
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 892



1. Пока не достигну концептуального просветления - ничего делать не буду.

2. После этого напишу подробно план действий и "запощу" в публик - дабы быть раскритикованным.

3. Далее выберу примитивный проект и буду на нем "тренироваться на кошках".

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

5. Соберу команду единомышленников.

6. После всего этого возьмусь за серьезные проекты.

Так что того - "не дождетесь"!!!

По BlackFin - я по прежнему считаю его самым лучшим DSP для практических задач. В том числе и по причине наличия GCC и JTAG для GDB за вполне разумные деньги
http://www.section5.ch/index.php?which=1&sub=0#insight

Dream Platform II неявно подразумевает наличие BF в качестве одного из периферийных устройств. biggrin.gif

Что касается MMU - после некоторого просветления по RTOS'ам я заметно отдалился от Linux, и MMU в Embedded приложениях мне кажется довольно бесполезной штукой.
Go to the top of the page
 
+Quote Post
dmivs
сообщение Aug 25 2006, 06:33
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 101
Регистрация: 7-09-05
Из: Riga, LV
Пользователь №: 8 333



Цитата(Evgeny_CD @ Aug 25 2006, 01:37) *
Что касается MMU - после некоторого просветления по RTOS'ам я заметно отдалился от Linux, и MMU в Embedded приложениях мне кажется довольно бесполезной штукой.

В чем с вами и соглашается FreeScale


--------------------
Go to the top of the page
 
+Quote Post
Evgeny_CD
сообщение Aug 25 2006, 06:51
Сообщение #4


Гуру
******

Группа: СуперМодераторы
Сообщений: 2 065
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 892



Цитата(dmivs @ Aug 25 2006, 10:33) *
Цитата(Evgeny_CD @ Aug 25 2006, 01:37) *
Что касается MMU - после некоторого просветления по RTOS'ам я заметно отдалился от Linux, и MMU в Embedded приложениях мне кажется довольно бесполезной штукой.
В чем с вами и соглашается FreeScale
В MCF5475/85 они таки прикрутили MMU к СoldFire. Мне фраза в доке понравилась: "обспечивает быстродействие на уровне 97% по отношению к такому же процу без MMU" (вольный пересказ).

Просто desktop и embedded ОСи - это идеологически разные ОСи. Путем шаманства их можно делать похожими друг на друга (патчить линух до приемлемых параметров либо обвешивать простую embedded оську всякими compatibility layer, пока она не упадет под тяжестью маразма) - но это не есть правильно.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 17:45
Рейтинг@Mail.ru


Страница сгенерированна за 0.01398 секунд с 7
ELECTRONIX ©2004-2016