All streams
Search
Write a publication
Pull to refresh
20
0
Send message
Олег!
Вы написали вопросы к моей реплике, которая относилась к следующему тезису LampTester'а:
не начнут писать качественную документацию на том языке, на котором говорят сейчас все квалифицированные инженеры, мы так и будем вариться в своем соку и бесконечно догонять.

Мою реплику следует рассматривать именно как замечание к этому тезису и не стоит пытаться приписывать мне обобщения, которых я не делал. Ключевые слова в исходном тезисе — на том языке, а совсем не документация.
А уж ваш вопрос
Я правильно понимаю, что на текущем этапе к Т1 документацию никакую вообще писать не надо, потому что пока продукт не продаётся, то её отсутствие ничему не мешает?

и вовсе провокационен.
Для того, чтобы на него ответить надо знать ответы на вопросы:
  • какой там сейчас у Байкал в части T1 этап и сколько он продлится?
  • существует ли вообще документация на T1 на любом языке? может она уже написана (на нескольких языках), но её никому не показывают?
  • продаётся ли сейчас продукт?

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

Давайте конкретнее. Вот скажите, а Baikal T1 (ну или платы с ним) — это розничный продукт? Как у него с дистрибуцией?
П — планирование.

Ц — цель.
Если была цель сделать продающейся в рознице продукт, будет одно планирование. А если цели были совсем другие — другое планирование.
А уж какие там у руководства Байкал Электроникс цели… Открываем устав ОАО «Байкал Электроникс» (см. http://e-disclosure.ru/portal/files.aspx?id=30795&type=1), смотрим пункт 4:
4.1. Основной целью деятельности Общества является извлечение прибыли.

Каких либо более конкретных целей по части Baikal-T1 я на сайте http://www.baikalelectronics.ru не нашёл, если вам повезёт больше, пожалуйста, сообщите.
Это как раз всё понятно. Как ОС-то называется?
Из публикации я понял, что до использования AHCI использовался медленный программный интерфейс ATA. Драйвер для контроллера диска в ATA-режиме вы тоже сами писали, или он был позаимствован из какого-то BSP (AKA ППМ — пакет поддержки модуля)?
Откройте секрет, что это за такая ОС РВ для ответственных применений с поддержкой ARINC 653, что в 2016 году она не имеет поддержки SATA контроллера на PCIe?
Скорее всего автор хотел сказать: "В процессор встроены 3 Ethernet PHY". Т.е. подключаешь трансформаторы, розетки и готов Ethernet.

По части 1GbE. Посмотрите же блок-схему на странице http://www.baikalelectronics.ru/products/35:
Baikal-T1: rgmii
Из SoC выходит пара интерфейсов RGMII — надо использовать внешние трансиверы.
Спасибо, lelik363! Он своим орлиным зрением разглядел пару трансиверов для 1GbE на плате.
По представленному в публикации фото можно даже определить их тип:
KSZ9031RNX
это Micrel KSZ9031RNX.
По части же 10GbE вновь см. блок-схему на странице http://www.baikalelectronics.ru/products/35:
из SoC выходит XAUI, то есть и для 10GbE внешний трансивер потребен (см. про XAUI тут https://habrahabr.ru/company/metrotek/blog/234369/).
я каждый раз плачу, читая их документацию на русском.

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

Ну вот вы всё правильно пишите — надо писать качественную документацию. А вот писать документацию на том языке, на котором говорят сейчас все квалифицированные инженеры, имеет смысл только в том случае, если на этом языке её будет кто-то читать. То есть надо начать делать что-то минимально интересное, и только когда окажется, что продвижению вашего продукта мешает отсутствие документации на на том языке, вот только тогда будет смысл заниматься подготовкой этой самой документации. Давайте решать проблемы по мере их возникновения, а то опять какой-то карго-культ получится.
Девборда на такой процессор стоит, кстати говоря, в несколько раз дороже байкаловской.

Так и интерфейсов и ядер в несколько десятков (!) раз больше чем в Baikal-T1.
Этот самый Octeon III — чип немного другого класса, я его привёл в качестве примера специально, чтобы точно обойти Baikal-T1 по номенклатуре интерфейсов в ответ на Такого вроде как ни у кого нет.
А кроме Octeon III ещё и Octeon II бывает — он скромнее.
Валлийцы — национальность, уэльсцы — жители Уэльса, вне зависимости от национальности.

Это несколько поверхностная трактовка; рекомендую ознакомиться с очерком Невтон | Ньюто'н | Нью'тон, или Сколько сторон имеет языковой знак? из книги В.А. Успенского Труды по нематематике.
Вот только одна цитата:
Как известно, знаменитый писатель Хаксли (1894—1963) приходится внуком знаменитому биологу Гексли (1825—1895).

Так вот отношение между валлийцами и уэльсцами приблизительно такое же как между Гексли и Хаксли: валлийцы появились в русском языке в то время когда было принято использовать транслитерацию для заимствования иностранных слов, а уэльсцы — результат использования транскрипции; так что сложно обсуждать, в каком случае какое слово лучше использовать (в этом я абсолютно согласен с Camel).
Замечу лишь, что в современном русском языке слово валлийцы используется пока ещё чаще, чем уэльсцы (см., к примеру, статистику google).
И что я вижу? "Powered by LOONGSON", "LM228001", "LS3B1500A", "GH22B". Не так я себе представлял иероглифы...

То есть 龙芯, это не иероглифы?
Вот если бы вы задали вопрос так: А почему китайцы не маркируют массовые чипы только иероглифами?, тогда да, предъявленные картинки не годились бы в качестве контроаргумента. Так что предъявленне фото свидетельствуют, что китайцы вполне используют иероглифы для маркировки микросхем.
Более того, обратите внимание, что для указания семейства процессора Loongson использованы арабские цифры 2 и 3, хотя у китайцев есть родные подходящие иероглифы 二 и 三; более того, китайцы очень часто используют арабские цифры, вот пример заметки с сайта агенства Синьхуа http://www.xinhuanet.com/:

Так, что увидать маркировку только из иероглифов вряд ли получится — цифры скорее всего будут использованы арабские.
apple a9 — 100% разработка архитектуры ядра — кроме графики (графика Imagination Technologies — Великобританя)

Таки да, Apple сам делает для себя ядра, и, кстати, не только Apple, см. https://en.wikipedia.org/w/index.php?title=List_of_ARM_microarchitectures#Designed_by_third_parties
Многие роутеры даже сейчас, имея 1Гбит порты, могут пропустить трафика на 10-20 Гбит. Если взять суммарную скорость всех сетевых интерфейсов то получается 12Гбит, а процессор 1.2ГГЦ, получается за каждый такт процессору нужно обработать 10бит, при теоретическом пределе в 64 бита (2 ядра по 32 бита), т.е. повод сомневаться и провести тесты есть.

Ваше рассуждение справедливо, если процессор, "просматривает" каждый принятый сетевой пакет. Однако, вы же ведёте речь про роутер, то есть устройство, которое, приняв пакет, смотрит на его заголовок и решает, что с пакетом дальше делать. Но ведь весь пакет просматривать процессору совсем не обязательно! Это в старые времена, когда сетевые контроллеры были туповаты, а производительность сетевых интерфейсов не очень велика, тогда приходилось считать контрольные суммы IP/UDP/TCP на процессоре. Но для гигабитных интерфейсов это может быть слишком накладно. В хороших сетевых контроллерах реализован аппаратный подсчёт контрольных сумм IP/UDP/TCP как на приёме, так и на отправке, так что процессор весь пакет не просматривает (см., например, Intel® Ethernet 10 Gigabit Server Adapters Advanced Driver Settings: Checksum offload.
… связал их с современными ирландцами, шотландцами и уэльсцами.

Принц хотя и Уэльский, но вот жителей Уэльса по-русски обычно зовут валлийцами, а не уэльсцами.
Почему же не маркируют? Очень даже маркируют. Вот Loongson-2 — вполне себе массовый:
Loongson-2
А вот Loongson-3 — нельзя сказать, что массовый, плату купить трудно, но всё-таки полюбуйтесь на маркировку:
Loongson-3B1500
Три эзернета 1+1+10 Гбит уже многого стоит. Такого вроде как ни у кого нет.

См. http://www.cavium.com/OCTEON-III_CN78XX.html
  • Up to 4x XLAUI
  • Up to 8x XAUI/Dual XAUI
  • Up to 16x KR/XFI
  • Up to 32x SGMII

Уточню: XLAUI — это для подключения трансивера 40 Гбит/с Ethernet.
Да и ядер процессорных поболе — от 24 до 48.
Да и ядра эти — не MIPS32, а MIPS64.
См. мой комментарий выше. Подозреваю, что GarryC видел документацию на купленные IP-блоки, которая была написана авторами этих IP-блоков, т.е. не в стенах Байкал электроникс.
Я не моуг представить, зачем писать документацию на русском.

А вы использовали когда-нибудь отечественную СБИС в своих разработках?
Если да, и на неё была документация на английском языке, то пожалуйста, укажите ссылку (очень интересно посмотреть, возможно там будет что-то вроде ай уил врайт фром май харт).
В качестве положительного примера см. продукцию Миландр. На миландровском сайте вы легко найдёте тома документации на их продукцию на русском, но не найдёте на английском (хотя часть сайта переведена на английский язык). Аналогично, продукция всяких там МЦСТ, Элвисов да НИИСИ также имеет документацию именно на русском языке. И документация эта есть потому, что заказчик в ТЗ на микросхему указал, что должна быть документация по ЕСКД.
А так, вы конечно правы: если покупать готовые IP-блоки, которые конечно же сопровождаются документацией на английском, то нет необходимости готовить свою документацию да ещё и на русском — отдать потребителю то, что пришло с IP-блоками, кому надо — разберутся.
А вот если вы будете делать IP-блок сами — таки да, придётся писать свою документацию (можно даже на английском), хотя бы для того, чтобы на основе этой документации были сделаны тесты для IP-блока.
К сожалению, это держится в секрете.

Очень жаль!
Ну могу удержаться от комментирования упомянутого абзаца (пусть и без предложения про некоторые компоненты):
За основу было взято лицензированное ядро MIPS P5600, кроме того были лицензированы контроллеры Ethernet, SATA и USB. Российским разработчикам предстояло собрать эти компоненты вместе, заставить их корректно работать друг с другом и произвести разводку чипа по современной топологии 28 нм.

Давайте обратимся к имеющейся на сайте baikalelectronics.ru информации по Baikal-T1. Есть там блок-схема:
блок-схема
Какие блоки остались, если вычеркнуть Ethernet, SATA, USB (для последних двух, думаю, можно смело блоки PHY тоже вычёркивать), а также процессорные ядра:
  • DDR3 контроллер (вместе с PHY);
  • PCIe 3.0 контроллер (вместе с PHY);
  • AXI fabric — "быстрая" коммуникационная система на базе ARM AMBA AXI ;
  • мост для подключения контроллеров "медленных" интерфейсов к AXI;
  • ну и эти самые контроллеры "медленных" интерфейсов.

Отдельно перечислю контроллеры "медленных" интерфейсов (укажу типичные производительности контроллеров, но документации на Baikal-T1 в свободном доступе нет, так что эти данные только для справки):
  • SPI (самые быстрые известные мне SPI Flash устройства работают на 104 МГц, т.е. для одной линии данных SPI выходит около 10 МБ в обе стороны);
  • I2C (типичные частоты на SCK — 100 или 400 КГц, т.е. менее 100/400 Кбит/с в одну сторону);
  • UART (типичные скорости 9600 — 115200 бит/с, хотя, может быть блок в Baikal-T1 умеет и 921 Кбит/с, а может и больше, но всё равно, не десятки Мбит/с);
  • GPIO (тут без конкретики говорить о производительности передачи данных не стоит).

Усилия на создания хорошего контроллера ОЗУ DDR3 или контроллера PCIe 3.0 сопоставимы или даже больше, чем на создание контроллера Ethernet, PHY для этих интерфейсов — отдельная и непростая работа. Подозреваю, что IP-блоки этих контроллеров покупные. Пожалуйста, учтоните, верны ли мои подозрения.
Что же касается AXI fabric, то тут обычно покупается не IP-блок, а генератор IP-блока, с помощью которого и создаётся специальный блок с нужным числом портов и требыемыми ограничениями для конкретной SoC.
Для примера, см. генератор от Xilinx: AXI interconnect IP block.
Проектирование коммутатора AXI от Xilinx сводится к заполнению нескольких форм и выглядит приблизительно так:

Далее остаются контроллеры "медленных" интерфейсов, да мост для их подключения к AXI. Тут тем более логично использовать готовые блоки, если только не требуется сделать интерфейсы с нетиповыми дополнительными возможностями (но если так, то почему об этих нетиповых возможностях ничего не рассказывается?).
Может бытьчто-то действительно сделано с нуля, но этого нет на блок-схеме?
По поводу того, что российским разработчикам предстояло собрать эти компоненты вместе, заставить их корректно работать друг с другом замечу, что
  • если были закуплены отлаженные и проверенные IP-блоки контроллеров, то их подключение к AXI не должно вызывать проблем другие потребители, которые покупали эти IP-блоки до Байкала уж наверняка пытались их так и эдак подключать, и опыт у поставщика IP-блоков имеется; кроме того, а наверняка с IP-блоком можно купить и поддержку.
  • а если были закуплены непонятные, сырые, кривые и косые IP-блоки, с которых надо заставить корректно работать, то тут можно только развести руками и сказать Бачили очі, що купували, їжте, хоч повилазьте.

Ну а для того, чтобы произвести разводку чипа по современной топологии 28 нм действительно надо провести большую работу — SoC-то немаленький и если всё работает как надо, то топологов Байкала можно только похвалить.
Если у Вас есть какие-то вопросы по процессору, задавайте их. Я на связи с разработчиками.

Вот простой вопрос. В публикации есть абзац:
За основу было взято лицензированное ядро MIPS P5600, кроме того были лицензированы контроллеры Ethernet, SATA и USB. Российским разработчикам предстояло собрать эти компоненты вместе, заставить их корректно работать друг с другом и произвести разводку чипа по современной топологии 28 нм. Некоторые компоненты процессора разрабатывались с нуля.

Вот скажите, какие именно компоненты разрабатывались с нуля?
11 лет? Отличный возраст, чтобы начать участвовать в разработке linux, как ранее рекомендовал rutaka_n!

Как показала практика, можно открыть счёт своих linux'овых commit'ов и в более юном возрасте.
Вот, к примеру, в linux взяли commit, автором которого числится девочка четырёх лет:

То, что стоимость больше и характеристики хуже — то верно подметил hzs.

Но это было бы не очень страшно, если бы у МВ77.07 была бы ощутимая поддержка (со стороны сообщества пользователей или со стороны производителя) — но её нет.

В своё время я приобрёл один экземпляр МВ77.07 и вот некоторые подмеченные мной факты:

  • можно пойти в магазин и просто так взять и купить Raspberry PI. С МВ77.07 такой фокус не пройдёт. Надо обращаться непосредственно в НТЦ Модуль;
  • сколько выпущено тех Raspberry PI, а сколько МВ77.07 — мой первый модуль МВ77.07 имел серийный номер между 0050 и 0060 (сходу и не вспомнить). Когда через несколько месяцев я принёс его на гарантийный обмен по причине плохой пайки BGA трансивера Ethernet, то мне выдали модуль с серийным номером между 0060 и 0070. Похоже, что тираж той платы весьма невелик. (Кстати, у выданного на обмен модулю как-то неважно работал наплатный USB-hub);
  • для Raspberry PI есть сайт, и там тебе и HELP и FORUM и DOWNLOAD, новости там, примеры всякие да советы. Для МВ77.07 ничего подобного нет, только страника на официальном сайте НТЦ Модуль, да организация RC-Module на github'е. Поддержкой ПО для К1879ХБ1Я и МВ77.07 занимается единственный человек, сотрудник НТЦ Модуль nekromant (хотя портировать ядро linux, судя по copyright'ам, заказывали в далёком теперь 2011 году конторе Promwad).
  • necromant, надо отдать ему должное, пиарил плату, см., например, http://www.linux.org.ru/news/hardware/10347668 и http://www.linux.org.ru/news/conference/10990627.

Вижу два возможных объяснения ситуации вокруг МВ77.07:

  • либо это карго-культ — кто-то искренне хотел сделать конкурента RaspberryPI, но хотели как лучше, а получилось как всегда;
  • либо никто и не собирался делать массовую плату, а все видимые потуги вокруг МВ77.07, это больше для отчётности: дескать, мы-то старались, сделали вот плату, но народ у нас какой-то неправильный, не берёт.
Цель — получение рабочей операционной системы на железке с процом не самой популярной архитектуры.

Внешняя цель подмечена правильно, хотя согласиться с тем, что речь идёт про процы не самой популярной архитектуры не могу; подозреваю, что ARM как раз и является самой популярной архитектурой, см., например, новость, про то, что отметка в 50 млрд поставленных СБИС с ядром ARM преодолена в феврале 2014 года. Сравните оценки IDC по продажам в 2015 году PC (308 млн устройств) и смартфонов (1429 млн устройств); кроме смартфонов есть ещё много всяких интересных устройств, которые трудно заподозрить в использовании процессоров x86...

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

Дело в том, что публикация получилась на основе моего опыта по работе со студентами и молодыми сотрудниками, которых надо было обучать навыкам разработки ПО для не x86-процессоров: как подготавливать инструментальную ЭВМ, как настраивать инструментальные средства, как собирать и запускать ПО на целевой ЭВМ. Таким образом, публикацию, нужно рассматривать не только как рецепт для решения конкретной практической задачи, но и как учебный материал, дающий читателю некоторые начальные навыки, которые ему пригодятся когда потребуется вносить правки в ядро linux, писать baremetal ПО или даже править QEMU.

Ядро в моём конкретном случае нужно только преобразовать в специальный формат для U-Boot-загрузчика (uImage
насколько я помню). Но без перекомплиции. Просто скачать, распаковать, преобразовать штатными дебиновскими
утилитами.

В начале публикации было сказано: Debian rootfs отвязана от конкретной платы и SoC, а вот ядро linux может быть привязано к SoC и даже плате. Соответственно компоненты rootfs не грех скачать и готовые; ядро же можно скачать готовое, а можно получить из какого-то другого источника. В дальнейшем изложении эта мысль проиллюстрирована сборкой ядра с нужными опциями, тем более, что выполнить десяток коротких команд в консоли — дело не сложное. А уж с методической точки зрения лишнее упражнение по сборке ядра — только на пользу.

Я почему и зацепился, потому как усилий на порядок меньше получается.

Публикация, как говорится в начале, рассказывает о том, как можно при помощи debootstrap установить, а затем как при помощи QEMU запустить ОС Debian для ЭВМ с процессорами MIPS и ARM. Но нигде не обещается выполнить всё перечисленное с минимальными усилиями; изложение построено так, чтобы

  • материал был интересен как можно большему кругу читателей (поэтому рассказано и про MIPS и про ARM; поэтому и используется эмулятор, а не реальная плата);
  • были зацепки для дальнейших модификаций — чтобы можно пройти по рекомендованному в публикации маршруту, убедиться, что всё работает, а затем что-нибудь поменять: toolchain, ядро, rootfs, QEMU, сценарий загрузки; в конце концов, можно и осуществить запуск Debian на реальной плате.

Information

Rating
6,228-th
Registered
Activity