Перейти к содержанию
    

wapster

Участник
  • Постов

    20
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о wapster

  • Звание
    Участник
    Участник

Посетители профиля

877 просмотров профиля
  1. uClinux+jffs2 без u-boot

    Понятно. Похоже надо копать в сторону драйвера qspi от альтеры.
  2. uClinux+jffs2 без u-boot

    Загрузился в ОЗУ и проверил как монтируется раздел. Собственно, место свободное появилось. Но потом начались сыпаться ошибки. Я так понял это как раз ситуация с тем, что созданный образ jffs2 не занимает всё указанное в dts пространство.
  3. uClinux+jffs2 без u-boot

    Выравнял размер партиции до конца флэшки, но ситуация не улучшилась. Можно ли как-то понять на каком месте идет зависание?
  4. uClinux+jffs2 без u-boot

    Это размер партиций, который задается в dts. Ели задать размер больше, то система будет ругаться, что фс система битая. Т.е. я так понял нужно ещё и как-то размер образа jffs2 увеличить.
  5. uClinux+jffs2 без u-boot

    Может быть. Как тогда освободить место в образе jffs2? Точнее не освободить, а добавить. На самой флэшке есть место, но партиция строится согласно образу. Это как-то в buildroot делается?
  6. uClinux+jffs2 без u-boot

    Собственно, скриншот консоли, где всё затыкается.
  7. uClinux+jffs2 без u-boot

    Подниму тему, ибо уже не знаю что делать. Исходные данные почти идентичны ТС, только ядро версии 4.14 и buildroot немного новее. Проблема в том, что rootfs не стартует с раздела jffs2. Указываю ядру в Default bootloader kernel arguments root=/dev/mtdblock1 rw rootfstype=jffs2. Ядро сообщает, что раздел успешно подмонтирован и потом тишина, т.е. как-будто система зависает. Добавлял в аргументы init=/bin/sh - такая же ситуация. Что я делаю не так? Можно ли как-то включить отладку init, чтобы понять чего не хватает? Пробовал загружать всю систему в ОЗУ и читать раздел jffs2 с rootfs - всё выглядет хорошо, даже удалось запустить /bin/sh. Только не удается создавать новые файлы и директории. Система говорит, что нет свободного места, но не думаю, что это как-то влияет в конечном итоге на результат.
  8. Embedded Linux

    Тоже стала интересна эта книга. Мне кажется общее представление о работе она даст, но практические примеры повторять точно не стоит, т.к. скорее всего они не заработают. Всё стремительно меняется и актуальной будет информация только из документации на ПО. За практическими примерами лучше идти на сайт разработчика платы, с которой собираетесь работать и изучать там всё.
  9. Здравствуйте! Имеется 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
  10. Запускал линукс на MAX10. Основная идея в том, что нужно создать монолитный образ с файловой системой и dtb в одном бинарнике. Делается это довольно просто через конфиг файл (menuconfig, xconfig и т.п.). Это бинарник vmlinux, который находится в корне ядра. Должен получиться достаточно большой файл. Отталкиваться можно от этой статьи https://rocketboards.org/foswiki/Documentation/AlteraMAX1010M50RevCDevelopmentKitLinuxSetupVLTS
  11. Кажется сам нашел ответ. TSE обрезает на передачу первые два байта, потому что в исходящих пакетах в драйвере Linux не предусмотрено выравнивание. Обрезка первых двух байтов выключается программно с помощью регистра tx_cmd_stat. Программное управление этим регистром работает только в случае со встроенным FIFO. С внешним обрезка байтов на приём и передачу выключается одной галкой в Qsys. Таким образом получается, что входящий трафик обрабатывается корректно, а исходящий режется. Вопрос теперь как правильно переписать драйвер. Или же ещё в голову приходит навертеть какой-нибудь аппаратный блок, который будет заниматься выравниванием.
  12. Добрый день! Наткнулся на проблему с 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.
  13. Спасибо за ответ! Этот файл по умолчанию там находится. SPI действительно был выключен, но после включения вручную ничего не изменилось. Даже лог ядра на первый взгляд не поменялся.
  14. Удалось завести ядро путем добавления dts файла непосредственно в конфигурацию. Непонятно как оно вообще работает у ребят из rocketboards без загрузки этого файла. Теперь появилась другая проблема. Ядро упорно не видит qspi флэшку, то есть в списке mtd устройств пусто. То есть загружается всё это с флэшки, но при попытке подгрузить rootfs выходит kernel panic. Что я делаю не так? Такое ощущение, что флэшка неправильно описана в dts файле. Логи загрузки и dts файл прилагаю на всякий случай. 10m50_devboard.dts.txt
  15. Здравствуйте! Имеется отладочная плата 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
×
×
  • Создать...