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

 
 
 
Reply to this topicStart new topic
> Как самому создать файлы board info .xml?, для cyclone V SoC
spectr
сообщение Dec 12 2016, 08:33
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 285
Регистрация: 10-12-04
Из: Earth
Пользователь №: 1 437



Коллеги, вот в комплекте GHRD для De0-Nano-SoC идут два xml-ника: hps_common_board_info.xml и soc_system_board_info.xml.
Они нужны на этапе сборки DeviceTree командой sopc2dts - ей как раз эти два файлика подсовываются. Насколько я понимаю их содержимое, там описывается архитектура soc-системы с точки зрения процессора - что где сидит, как с чем связано, выставляются тайминги, скорости и т.п.

И вот какой вопрос возник: если собираю свою систему с нуля со своими sopc-присосками к процессору, то как мне получить такие файлы для своей системы? Насколько я понял в этих ваших интернетах, файлы эти пишутся какими-то неведомыми Богами-производителями плат. И все берут за основу как раз эти терасиковские файлы (из GHRD). А как создать свой под свою систему? Неужели в нашем энергичном 21-м веке надо писать такой xml ручками? Не, не вопрос - я конечно напишу если так и надо, но как-то это дико - везде куча тулзов для автоматической генерации чего угодно из чего угодно, а тут - неужели вот так вручную по хардкору?

Спасибо.
Go to the top of the page
 
+Quote Post
VBKesha
сообщение Dec 13 2016, 14:55
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 26
Регистрация: 10-01-07
Из: Брянск
Пользователь №: 24 263



Что то мне кажется что oc_system.xml создаётся Qsys автоматически.
hps_common надо отдельно смотреть.
Go to the top of the page
 
+Quote Post
chirik
сообщение Oct 23 2017, 11:25
Сообщение #3


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

Группа: Участник
Сообщений: 129
Регистрация: 29-10-09
Из: Карелии
Пользователь №: 53 301



hps_common_board_info.xml и soc_system_board_info.xml. И как вы с ними в итоге решили вопрос?
Go to the top of the page
 
+Quote Post
spectr
сообщение Oct 23 2017, 12:34
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 285
Регистрация: 10-12-04
Из: Earth
Пользователь №: 1 437



Ох и повозились мы с друже......
Отвечаю на свой же вопрос. Инфа архиценная:
- их самих править не надо
- создается третий файл xml (надо ручками, ручками)
- в него добавляется кастомное железо (Прикрепленный файл  custom_dts_modules_info.xml ( 211 байт ) Кол-во скачиваний: 106
)
- потом толкаем генерёж (Прикрепленный файл  java_soc_system_dtb.txt ( 613 байт ) Кол-во скачиваний: 48
, переименовать в .bat)
- батник генерит из xml файлы dts и dtb

Как-то так.
Полезная инфа:
https://github.com/altera-opensource/sopc2dts
https://rocketboards.org/foswiki/Documentat...reeGenerator140
собирать по примерам

ЗЫ: нам повезло, у нас всего одно кастомное устройство, видимое из линукса - это дма. А вот тем у кого ядрышки поболее и посложнее, тут уж.... не позавидую )))
Go to the top of the page
 
+Quote Post
sonycman
сообщение Oct 23 2017, 12:56
Сообщение #5


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Мне удобнее всего ручками править .dts файл, добавляя в него нужную периферию.
Несложный и хорошо читаемый синтаксис, к примеру:
Код
            i2c_fpga: i2c_fpga@0x100000000 {
                compatible = "mycore,i2c-master-0.1";
                reg = <0x00000001 0x00000000 0x00000010>;
                interrupt-parent = <&hps_0_arm_gic_0>;
                interrupts = <0 40 4>;
                clocks = <&clk_0>;
                speed-mode = <100000>;
            };

в отличие от нечитаемых .xml
Go to the top of the page
 
+Quote Post
chirik
сообщение Oct 23 2017, 13:48
Сообщение #6


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

Группа: Участник
Сообщений: 129
Регистрация: 29-10-09
Из: Карелии
Пользователь №: 53 301



Т.е. из GHRD мы должны взять .dts или .xml и дописать туда свое.

У меня же получается, что исходный GHRD проект от Terasic под ядро линукса 3.12
А дальнейшая инструкция с https://rocketboards.org/foswiki/Documentation/AVCVGSRD171 под более свежее ядро например.

То правильно ли я понимаю, что даже если я сделаю свои .dtb их нельзя будет использовать под более свежие версии линукса?
Go to the top of the page
 
+Quote Post
spectr
сообщение Oct 23 2017, 14:52
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 285
Регистрация: 10-12-04
Из: Earth
Пользователь №: 1 437



Не могу сказать.... Пробуйте....
Go to the top of the page
 
+Quote Post
sonycman
сообщение Oct 23 2017, 16:24
Сообщение #8


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(chirik @ Oct 23 2017, 17:48) *
То правильно ли я понимаю, что даже если я сделаю свои .dtb их нельзя будет использовать под более свежие версии линукса?

Думаю, что неправильно понимаете.
Новые версии линукса, как правило, совместимы с софтом, написанным под старые версии.

Тем более это должно относится к файлам Device Three.
Это, в конце концов, простые текстовые описания, без указания версии ядра.
Go to the top of the page
 
+Quote Post
chirik
сообщение Nov 15 2017, 09:39
Сообщение #9


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

Группа: Участник
Сообщений: 129
Регистрация: 29-10-09
Из: Карелии
Пользователь №: 53 301



Цитата(sonycman @ Oct 23 2017, 15:56) *
Мне удобнее всего ручками править .dts файл, добавляя в него нужную периферию.
Несложный и хорошо читаемый синтаксис, к примеру:
Код
            i2c_fpga: i2c_fpga@0x100000000 {
                compatible = "mycore,i2c-master-0.1";
                reg = <0x00000001 0x00000000 0x00000010>;
                interrupt-parent = <&hps_0_arm_gic_0>;
                interrupts = <0 40 4>;
                clocks = <&clk_0>;
                speed-mode = <100000>;
            };

в отличие от нечитаемых .xml


При таком подходе проблем с sysid_qsys id и timestamp не возникает? они же будут не соответствовать заново генерированной системе из qsys ?

Код
sysid_qsys: sysid@0x100001000 {
                compatible = "altr,sysid-16.1", "altr,sysid-1.0";
                reg = <0x00000001 0x00001000 0x00000008>;
                clocks = <&clk_0>;
                id = <2899645186>;    
                timestamp = <1492500749>;    
            }; //end sysid@0x100001000 (sysid_qsys)

Go to the top of the page
 
+Quote Post
chirik
сообщение Nov 23 2017, 10:56
Сообщение #10


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

Группа: Участник
Сообщений: 129
Регистрация: 29-10-09
Из: Карелии
Пользователь №: 53 301



И не подскажите почему в примерах при генерации dts в sopc2dts указывают опцию --bridge-removal all ??
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 18th July 2025 - 04:08
Рейтинг@Mail.ru


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