Scythian: различия между версиями

Материал из WIKI ELVEES
Нет описания правки
Нет описания правки
Строка 6: Строка 6:
'''Как указывать частоту DDR и импеданс?'''<blockquote>Перейдите в tools/ddrinit, настройте среду pipenv согласно README.rst + doc/index.rst.Выполните
'''Как указывать частоту DDR и импеданс?'''<blockquote>Перейдите в tools/ddrinit, настройте среду pipenv согласно README.rst + doc/index.rst.Выполните


- <span id="HTMLENTITY:1678102710252" style="font-family: <span class=" title="&quot;" contenteditable="false" draggable="true" mwt-noneditable="" mwt-wikimagic="" mwt-placeholder="" mwt-htmlentity="" span="">courier new", courier;" class="mwt-preserveHtml"&gt;pipenv run make menuconfig</span>
<pre>pipenv run make menuconfig</pre>Сконфигурируйте под свои нужды и сохранитесь. Появится .config. Выполните


Сконфигурируйте под свои нужды и сохранитесь. Появится .config. Выполните
<pre>pipenv run make savedefconfig</pre>и получите конфиг под Вашу плату. Переименуйте его и добавьте в tools/ddrinit/configs.
 
- <span id="HTMLENTITY:1678110281770" style="font-family: <span class=" title="&quot;" contenteditable="false" draggable="true" mwt-noneditable="" mwt-wikimagic="" mwt-placeholder="" mwt-htmlentity="" span="">courier new", courier;" class="mwt-preserveHtml"&gt;pipenv run make savedefconfig</span>
 
и получите конфиг под Вашу плату. Переименуйте его и добавьте в tools/ddrinit/configs.
Далее перейдите в директорию с системой сборки buildroot и в external-mcom03/fragments/<your_fragment> укажите название конфига из ddrinit, который получился выше.</your_fragment></blockquote>
Далее перейдите в директорию с системой сборки buildroot и в external-mcom03/fragments/<your_fragment> укажите название конфига из ddrinit, который получился выше.</your_fragment></blockquote>
'''Возможно ли записать образ ОС на USB-flash и с него запуститься, чтобы уже в дальнейшем прошить образ в eMMC?'''<blockquote>Да.</blockquote>
'''Возможно ли записать образ ОС на USB-flash и с него запуститься, чтобы уже в дальнейшем прошить образ в eMMC?'''<blockquote>Да.</blockquote>
'''Умеет ли Uboot прошивать eMMC?'''<blockquote>Да, U-Boot умеет загружать Linux и с USB-flash, и с eMMC памяти. Но для этого Вам нужно будет поддержать работу USB и eMMc в U-Boot на Вашем модуле (возможно для этого ничего не потребуется, (но всё-таки мы за это не отвечаем)).</blockquote>
'''Умеет ли Uboot прошивать eMMC?'''<blockquote>Да, U-Boot умеет загружать Linux и с USB-flash, и с eMMC памяти. Но для этого Вам нужно будет поддержать работу USB и eMMc в U-Boot на Вашем модуле (возможно для этого ничего не потребуется, (но всё-таки мы за это не отвечаем)).</blockquote>
'''И есть ли возможность каким то другим способом прошить образ ОС в eMMC память?'''<blockquote>Можно загрузить Linux по сети (TFTP + NFS) и из-под него прошить eMMC.</blockquote>
'''И есть ли возможность каким то другим способом прошить образ ОС в eMMC память?'''<blockquote>Можно загрузить Linux по сети (TFTP + NFS) и из-под него прошить eMMC.</blockquote>
'''Существует ли какой-нибудь документ по запуску "пустой" платы со 1892ВА018, когда в qSPI и eMMC еще ничего нет?'''<blockquote>Режимы загрузки описаны здесь: https://elvees.ru/mc/docs-portal/scythian/hw-design-guide/index.html#id7
'''Существует ли какой-нибудь документ по запуску "пустой" платы со 1892ВА018, когда в qSPI и eMMC еще ничего нет?'''<blockquote>Режимы загрузки описаны здесь: https://elvees.ru/mc/docs-portal/scythian/hw-design-guide/index.html#id7


Строка 26: Строка 18:


Также есть страница https://dist.elvees.com/mcom03/docs/linux-sdk/2022.09/design/boot-flow.html</blockquote>
Также есть страница https://dist.elvees.com/mcom03/docs/linux-sdk/2022.09/design/boot-flow.html</blockquote>
'''Доступно ли описание на открытую часть драйвера графического контроллера 1892ВМ14Я (FrameBuffer)?'''<blockquote>Драйверы описаны в http://dist.elvees.com/support/1892VM14YA/linux/Buildroot/v3.1/docs/mcom02-linux-kernel-manual.pdf</blockquote>
'''Доступно ли описание на открытую часть драйвера графического контроллера 1892ВМ14Я (FrameBuffer)?'''<blockquote>Драйверы описаны в http://dist.elvees.com/support/1892VM14YA/linux/Buildroot/v3.1/docs/mcom02-linux-kernel-manual.pdf</blockquote>
'''При запуске на модулях ELV-MC03-SMARC-R (RockPI) сборки Buildroot 09.2022 возникает проблема:'''<pre>Found /boot/extlinux/extlinux.conf
'''При запуске на модулях ELV-MC03-SMARC-R (RockPI) сборки Buildroot 09.2022 возникает проблема:'''<pre>Found /boot/extlinux/extlinux.conf
Retrieving file: /boot/extlinux/extlinux.conf
Retrieving file: /boot/extlinux/extlinux.conf
Строка 35: Строка 25:
Error reading config file
Error reading config file
SCRIPT FAILED: continuing...
SCRIPT FAILED: continuing...
"Synchronous Abort" handler, esr 0x96000005&nbsp;<br></pre><blockquote>При перепрошивке qspi-flash эта область не перезаписывается.  
"Synchronous Abort" handler, esr 0x96000005&nbsp;<br></pre><blockquote>При перепрошивке qspi-flash эта область не перезаписывается. Поскольку в релизе от сентября изменился объем доступной DDR-памяти, адреса также изменились.
Поскольку в релизе от сентября изменился объем доступной DDR-памяти, адреса также изменились.
Для решения проблемы следует сбросить env.
Для решения проблемы следует сбросить env.
   
   
Строка 42: Строка 31:
saveenv
saveenv
boot</pre></blockquote>
boot</pre></blockquote>
'''Я скачал настроенный Buildroot и хочу внести изменения в исходники. Можно ли так делать?'''<blockquote>Можно, но нежелательно. Изменения, вносимые в build-директорию, могут быть потеряны. Необходимо делать так, как описано в [https://dist.elvees.com/mcom03/docs/linux-sdk/latest/components/buildroot.html#build-localmk инструкции]</blockquote>
'''Я скачал настроенный Buildroot и хочу внести изменения в исходники. Можно ли так делать?'''<blockquote>Можно, но нежелательно. Изменения, вносимые в build-директорию, могут быть потеряны. Необходимо делать так, как описано в [https://dist.elvees.com/mcom03/docs/linux-sdk/latest/components/buildroot.html#build-localmk инструкции]</blockquote>
'''Как измерить время на DSP-ядре ElCore50 в тактах либо в наносекундах?'''<blockquote>Можно читать счетчик тактов:<pre>asm volatile("tcd tic_cntr, %0" : "=r"(value) : :);</pre></blockquote>
'''Как измерить время на DSP-ядре ElCore50 в тактах либо в наносекундах?'''<blockquote>Можно читать счетчик тактов:<pre>asm volatile("tcd tic_cntr, %0" : "=r"(value) : :);</pre></blockquote>
 
'''Какие ограничения PCIE_A - работа в режиме 1х PCIe v2.1 (2.5GT/s)?'''<blockquote>В драйвере не поддерживается PCIe legacy interrupts.</blockquote>
'''Какие ограничения PCIE_A - работа в режиме 1х PCIe v2.1 (2.5GT/s)?'''<blockquote>
'''Возможен ли перенос существующей системы загрузки(SBL-&gt;DDRInit-&gt;SBL-&gt;TF-A-&gt;U-Boot-&gt;Linux) на вариант без использования QSPI0 памяти, используя загрузку с SDMMC0(eMMC)?'''<blockquote>Да, загрузка с eMMC возможна. Для этой реализации необходимо выдержать задержку 500мс снятия RESET на 1892ВА018 после включения питания на микросхемах eMMC.</blockquote>
В драйвере не поддерживается PCIe legacy interrupts.
</blockquote>
 
'''Возможен ли перенос существующей системы загрузки(SBL-&gt;DDRInit-&gt;SBL-&gt;TF-A-&gt;U-Boot-&gt;Linux) на вариант без использования QSPI0 памяти, используя загрузку с SDMMC0(eMMC)?'''<blockquote>
Да, загрузка с eMMC возможна. Для этой реализации необходимо выдержать задержку 500мс снятия RESET на 1892ВА018 после включения питания на микросхемах eMMC.
</blockquote>


= Вопросы по проектированию аппаратуры =
= Вопросы по проектированию аппаратуры =
'''В документации указана опорная частота PLL равная 27.456 МГц. Отечественных резонаторов на такое значение нет, ближайшее 27.1919 МГц. Можно ли менять опорную частоту и в каких пределах?'''<blockquote>Согласно [https://elvees.ru/mc/docs-portal/scythian/hw-design-guide/index.html документации], частота 27.456 МГц является основной рабочей, т.к. на ней удобнее реализовывать SDR, но <span style="text-decoration: underline;">'''не является обязательной'''</span>.</blockquote>
'''В документации указана опорная частота PLL равная 27.456 МГц. Отечественных резонаторов на такое значение нет, ближайшее 27.1919 МГц. Можно ли менять опорную частоту и в каких пределах?'''<blockquote>Согласно [https://elvees.ru/mc/docs-portal/scythian/hw-design-guide/index.html документации], частота 27.456 МГц является основной рабочей, т.к. на ней удобнее реализовывать SDR, но <span style="text-decoration: underline;">'''не является обязательной'''</span>.</blockquote>
=== Вопросы по интерфейсам микросхемы ===<blockquote>Подскажите, поддерживает ли контроллер PCIe процессора 1892ВА018 подключение устройств с конфигурацией лейнов x1 и x2?- Да, поддерживает.</blockquote>
=== Вопросы по интерфейсам микросхемы ===<blockquote>Подскажите, поддерживает ли контроллер PCIe процессора 1892ВА018 подключение устройств с конфигурацией лейнов x1 и x2?- Да, поддерживает.</blockquote>


Строка 66: Строка 46:
=== Особенности пайки ===
=== Особенности пайки ===


''' Есть ли особенности по пайке и реболингу, инструкции и рекомендации? '''<blockquote>Температурный профиль пайки подбирается технологом при производстве аппаратуры. Технические требования к выполнению технологических операций пайки и профили указаны в ГОСТ Р 56427-2015. Насколько нам известно, наши потребители используют стандартный профиль пайки для BGA-микросхем.
''' Есть ли особенности по пайке и реболингу, инструкции и рекомендации? '''<blockquote>Температурный профиль пайки подбирается технологом при производстве аппаратуры. Технические требования к выполнению технологических операций пайки и профили указаны в ГОСТ Р 56427-2015. Насколько нам известно, наши потребители используют стандартный профиль пайки для BGA-микросхем.Данный профиль может быть скорректирован с учетом функциональных особенностей платы.</blockquote>
Данный профиль может быть скорректирован с учетом функциональных особенностей платы.</blockquote>
 
[[Category:Процессоры]]
[[Category:Процессоры]]

Версия от 17:03, 6 марта 2023

Общая информация

Модуль в формате SMARC. Работа "из коробки"

Вопросы по программному обеспечению

Как указывать частоту DDR и импеданс?

Перейдите в tools/ddrinit, настройте среду pipenv согласно README.rst + doc/index.rst.Выполните

pipenv run make menuconfig

Сконфигурируйте под свои нужды и сохранитесь. Появится .config. Выполните

pipenv run make savedefconfig

и получите конфиг под Вашу плату. Переименуйте его и добавьте в tools/ddrinit/configs. Далее перейдите в директорию с системой сборки buildroot и в external-mcom03/fragments/<your_fragment> укажите название конфига из ddrinit, который получился выше.</your_fragment>

Возможно ли записать образ ОС на USB-flash и с него запуститься, чтобы уже в дальнейшем прошить образ в eMMC?

Да.

Умеет ли Uboot прошивать eMMC?

Да, U-Boot умеет загружать Linux и с USB-flash, и с eMMC памяти. Но для этого Вам нужно будет поддержать работу USB и eMMc в U-Boot на Вашем модуле (возможно для этого ничего не потребуется, (но всё-таки мы за это не отвечаем)).

И есть ли возможность каким то другим способом прошить образ ОС в eMMC память?

Можно загрузить Linux по сети (TFTP + NFS) и из-под него прошить eMMC.

Существует ли какой-нибудь документ по запуску "пустой" платы со 1892ВА018, когда в qSPI и eMMC еще ничего нет?

Режимы загрузки описаны здесь: https://elvees.ru/mc/docs-portal/scythian/hw-design-guide/index.html#id7

Спецификация BootROM, отправляется по запросу на почту.

Также есть страница https://dist.elvees.com/mcom03/docs/linux-sdk/2022.09/design/boot-flow.html

Доступно ли описание на открытую часть драйвера графического контроллера 1892ВМ14Я (FrameBuffer)?

Драйверы описаны в http://dist.elvees.com/support/1892VM14YA/linux/Buildroot/v3.1/docs/mcom02-linux-kernel-manual.pdf

При запуске на модулях ELV-MC03-SMARC-R (RockPI) сборки Buildroot 09.2022 возникает проблема:

Found /boot/extlinux/extlinux.conf
Retrieving file: /boot/extlinux/extlinux.conf
Reading file would overwrite reserved memory 
Failed to load '/boot/extlinux/extlinux.conf'
Error reading config file
SCRIPT FAILED: continuing...
"Synchronous Abort" handler, esr 0x96000005 <br>

При перепрошивке qspi-flash эта область не перезаписывается. Поскольку в релизе от сентября изменился объем доступной DDR-памяти, адреса также изменились.

Для решения проблемы следует сбросить env.

Для этого во время загрузки U-boot нужно зайти в консоль uboot и ввести следующие команды:

env default -a
saveenv
boot

Я скачал настроенный Buildroot и хочу внести изменения в исходники. Можно ли так делать?

Можно, но нежелательно. Изменения, вносимые в build-директорию, могут быть потеряны. Необходимо делать так, как описано в инструкции

Как измерить время на DSP-ядре ElCore50 в тактах либо в наносекундах?

Можно читать счетчик тактов:

asm volatile("tcd tic_cntr, %0" : "=r"(value) : :);

Какие ограничения PCIE_A - работа в режиме 1х PCIe v2.1 (2.5GT/s)?

В драйвере не поддерживается PCIe legacy interrupts.

Возможен ли перенос существующей системы загрузки(SBL->DDRInit->SBL->TF-A->U-Boot->Linux) на вариант без использования QSPI0 памяти, используя загрузку с SDMMC0(eMMC)?

Да, загрузка с eMMC возможна. Для этой реализации необходимо выдержать задержку 500мс снятия RESET на 1892ВА018 после включения питания на микросхемах eMMC.

Вопросы по проектированию аппаратуры

В документации указана опорная частота PLL равная 27.456 МГц. Отечественных резонаторов на такое значение нет, ближайшее 27.1919 МГц. Можно ли менять опорную частоту и в каких пределах?

Согласно документации, частота 27.456 МГц является основной рабочей, т.к. на ней удобнее реализовывать SDR, но не является обязательной.

=== Вопросы по интерфейсам микросхемы ===

Подскажите, поддерживает ли контроллер PCIe процессора 1892ВА018 подключение устройств с конфигурацией лейнов x1 и x2?- Да, поддерживает.

Требования к проектированию

Рекомендации по Проектированию аппаратуры

Особенности пайки

Есть ли особенности по пайке и реболингу, инструкции и рекомендации?

Температурный профиль пайки подбирается технологом при производстве аппаратуры. Технические требования к выполнению технологических операций пайки и профили указаны в ГОСТ Р 56427-2015. Насколько нам известно, наши потребители используют стандартный профиль пайки для BGA-микросхем.Данный профиль может быть скорректирован с учетом функциональных особенностей платы.