wapster
Участник-
Постов
20 -
Зарегистрирован
-
Посещение
Репутация
0 ОбычныйИнформация о wapster
-
Звание
Участник
Посетители профиля
993 просмотра профиля
-
Понятно. Похоже надо копать в сторону драйвера qspi от альтеры.
-
Загрузился в ОЗУ и проверил как монтируется раздел. Собственно, место свободное появилось. Но потом начались сыпаться ошибки. Я так понял это как раз ситуация с тем, что созданный образ jffs2 не занимает всё указанное в dts пространство.
-
Выравнял размер партиции до конца флэшки, но ситуация не улучшилась. Можно ли как-то понять на каком месте идет зависание?
-
Это размер партиций, который задается в dts. Ели задать размер больше, то система будет ругаться, что фс система битая. Т.е. я так понял нужно ещё и как-то размер образа jffs2 увеличить.
-
Может быть. Как тогда освободить место в образе jffs2? Точнее не освободить, а добавить. На самой флэшке есть место, но партиция строится согласно образу. Это как-то в buildroot делается?
-
Подниму тему, ибо уже не знаю что делать. Исходные данные почти идентичны ТС, только ядро версии 4.14 и buildroot немного новее. Проблема в том, что rootfs не стартует с раздела jffs2. Указываю ядру в Default bootloader kernel arguments root=/dev/mtdblock1 rw rootfstype=jffs2. Ядро сообщает, что раздел успешно подмонтирован и потом тишина, т.е. как-будто система зависает. Добавлял в аргументы init=/bin/sh - такая же ситуация. Что я делаю не так? Можно ли как-то включить отладку init, чтобы понять чего не хватает? Пробовал загружать всю систему в ОЗУ и читать раздел jffs2 с rootfs - всё выглядет хорошо, даже удалось запустить /bin/sh. Только не удается создавать новые файлы и директории. Система говорит, что нет свободного места, но не думаю, что это как-то влияет в конечном итоге на результат.
-
Тоже стала интересна эта книга. Мне кажется общее представление о работе она даст, но практические примеры повторять точно не стоит, т.к. скорее всего они не заработают. Всё стремительно меняется и актуальной будет информация только из документации на ПО. За практическими примерами лучше идти на сайт разработчика платы, с которой собираетесь работать и изучать там всё.
-
Здравствуйте! Имеется Cyclone 5 на плате DE1-SoC. Взят пример системы в Quartus, который поставлялся с диском. Накатил на всё это дело Linux со свежесобранным ядром (4.9.76) и busybox. Всё отлично работает. Теперь имеется задача разобраться с использованием периферии, которая реализована в части FPGA. Для примера взял простейший jtag uart. Подключил его к шине lwh2f_axi. Пытаюсь описать подключение с указанием регистров в файле dts: hps_bridges: bridge@0xc0000000 { compatible = "altr,bridge-18.1", "simple-bus"; reg = <0xc0000000 0x20000000>, <0xff200000 0x00200000>; reg-names = "axi_h2f", "axi_h2f_lw"; clocks = <&h2f_usr1_clk &h2f_usr1_clk &h2f_usr1_clk>; clock-names = "h2f_axi_clock", "h2f_lw_axi_clock", "f2h_sdram0_clock"; #address-cells = <2>; #size-cells = <1>; ranges = <0x00000000 0x00000000 0xc0000000 0x00040000>, <0x00000001 0x00020000 0xff220000 0x000008>; juart@0x100060000 { compatible = "altr,juart-18.1", "altr,juart-1.0"; reg = <0x1 0x20000 0x8>; interrupt-parent = <&intc>; interrupts = <0 42 4>; clocks = <&h2f_usr1_clk>; }; }; Всё как в найденных примерах. Теперь система зависает на старте. В отладчике я вижу, что все адреса распознаны корректно, но при проверке шины драйвером процессор зависает. Я где-то упустил какую-то деталь. Что я сделал не так? Так же прикладываю dts файлы, которые шли с ядром и с которыми экспериментирую. Все изменения производил в файле socfpga.dtsi в секции soc. socfpga.dtsi socfpga.dts socfpga_cyclone5.dtsi
-
Запускал линукс на MAX10. Основная идея в том, что нужно создать монолитный образ с файловой системой и dtb в одном бинарнике. Делается это довольно просто через конфиг файл (menuconfig, xconfig и т.п.). Это бинарник vmlinux, который находится в корне ядра. Должен получиться достаточно большой файл. Отталкиваться можно от этой статьи https://rocketboards.org/foswiki/Documentation/AlteraMAX1010M50RevCDevelopmentKitLinuxSetupVLTS
-
Кажется сам нашел ответ. TSE обрезает на передачу первые два байта, потому что в исходящих пакетах в драйвере Linux не предусмотрено выравнивание. Обрезка первых двух байтов выключается программно с помощью регистра tx_cmd_stat. Программное управление этим регистром работает только в случае со встроенным FIFO. С внешним обрезка байтов на приём и передачу выключается одной галкой в Qsys. Таким образом получается, что входящий трафик обрабатывается корректно, а исходящий режется. Вопрос теперь как правильно переписать драйвер. Или же ещё в голову приходит навертеть какой-нибудь аппаратный блок, который будет заниматься выравниванием.
-
Добрый день! Наткнулся на проблему с TSE при использовании внешних FIFO. Имеется NIOS II, к которому через внешние FIFO и mSGDMA подключен TSE. NIOS II работает под управлением Linux со встроенным драйвером. Проблема заключается в том, что на передачу обрезаются первые два байта пакета. Я понимаю, что это связано с выравниванием заголовков, поэтому отключаю опцию "Align packet headers to 32-bit boundary". После данной манипуляции обрезаются первые два байта во входящих сообщениях, в то время как исходящие сообщения отсылаются корректно. То есть всё стало наоборот. Со встроенным в TSE буферами FIFO всё работает правильно. Куда копать? Не могу понять аппаратура это косячит или драйвер. Поставил вывод отсылаемого пакета в консоль в драйвере и ничего криминального не вижу. Ещё хотел бы уточнить, что ширина шины от процессора до FIFO через DMA 32 бита, а после FIFO она урезается до 8 бит через автоматический адаптер Qsys.
-
Спасибо за ответ! Этот файл по умолчанию там находится. SPI действительно был выключен, но после включения вручную ничего не изменилось. Даже лог ядра на первый взгляд не поменялся.
-
Удалось завести ядро путем добавления dts файла непосредственно в конфигурацию. Непонятно как оно вообще работает у ребят из rocketboards без загрузки этого файла. Теперь появилась другая проблема. Ядро упорно не видит qspi флэшку, то есть в списке mtd устройств пусто. То есть загружается всё это с флэшки, но при попытке подгрузить rootfs выходит kernel panic. Что я делаю не так? Такое ощущение, что флэшка неправильно описана в dts файле. Логи загрузки и dts файл прилагаю на всякий случай. 10m50_devboard.dts.txt
-
Здравствуйте! Имеется отладочная плата MAX10 FPGA Development kit, на которой нужно запустить Linux. Для этих целей нашелся неплохой мануал, по которому всё чудесно запускается https://rocketboards.org/foswiki/Documentat...tLinuxSetupV170 Хотелось бы обновить ядро и в дальнейшем иметь возможность добавлять свои модули и менять аппаратную конфигурацию NIOS II. После перекомпиляции ядра и rootfs система перестает запускаться. Просто не выводятся никакие сообщения в консоль. Кто-нибудь встречался с такой проблемой? В какую сторону нужно копать, чтобы разобраться? Есть ли возможность как-то отладить процесс загрузки? Используется следующая конфигурация: Altera MAX10 10M50 Rev C development kit Quartus Prime Standart Edition 17.0 ACDS version 17.0 Sourcery CodeBench Lite 2017.05-4 Ядро 4.9.76-ltsi-rt rootfs buildroot 2017.11