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

Запуск Linux на NIOS2

Всем привет

 

Пытаюсь запустить linux на nios2 (на отл. плате SoCKIT (циклон5)

 

Делаю все по инструкции тут - https://rocketboards.org/foswiki/Documentat...II_Linux_kernel

Ядро успешно собирается, NIOS2 также в минимальной конфигурации собираю по примеру.

Загрузку\запуск ядра делаю из RAM.

 

А далее происходят странности - когда заливаю ядро через консоль (nios2-download -g vmlinux) - почему-то заливается только кусок в 4.3мб.

 

$ nios2-download -g vmlinux

Using cable "CV SoCKit [uSB-1]", device 1, instance 0x00

Pausing target processor: OK

Initializing CPU cache (if present)

OK

Downloaded 4307KB in 0.5s (8614.0KB/s)

Verified OK

Starting processor at address 0x00000000

 

ну и ничего не стартует. DTS файл добавляю, прописываю Set custom kernel region base address 0x0.

 

Странно что записывает только 4.3мб ядра. Хотя ядро компилится в 56мб.

 

На этот же NIOS2 запускаю ucLinux по инструкции с youtube. Тут загрузка происходит видимо успешно -

 

$ nios2-download -g zImage

Using cable "CV SoCKit [uSB-1]", device 1, instance 0x00

Pausing target processor: OK

Initializing CPU cache (if present)

OK

Downloaded 3582KB in 4.0s (895.5KB/s)

Verified OK

Starting processor at address 0xC1000000

 

$ nios2-terminal.exe

Linux version 3.5.0-rc4-01329-ga227997-dirty (alex) (gcc version 4.1.2)

#767 Wed Aug 15 11:20:59 MSK 2018

bootconsole [early0] enabled

early_console initialized at 0xf0041048

ERROR: Nios II MUL different for kernel and DTS

 

и затыкается вот на этой ошибке. Что с ней делать не знаю. MUL инструкции включены и в ядре и в NIOS. Пробовал в разных комбинациях - нифига.

 

В общем в чем может быть проблема в первой части? В загрузке ядра? Почему из 56мб. грузятся только 4.3?

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

$ nios2-download -g vmlinux

а попробуйте другой имидж:

Output file name : vmImage
Output directory : <Linux_kernel_top_directory>/arch/nios2/boot

не из корня исходников..

и перед заливкой гляньте его размер:

ls -l arch/nios2/boot

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

так не получается.

 

$ nios2-download -g vmImage

C:\intelFPGA\17.0\nios2eds\bin\gnu\H-x86_64-mingw32\bin\nios2-elf-objcopy.exe:vm

Image: File format not recognized

vmImage.srec: Unable to open input file

rm: cannot remove 'vmImage.srec': No such file or directory

 

Размер vmImage - 2 130 000

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

так не получается.

 

$ nios2-download -g vmImage

C:\intelFPGA\17.0\nios2eds\bin\gnu\H-x86_64-mingw32\bin\nios2-elf-objcopy.exe:vm

Image: File format not recognized

vmImage.srec: Unable to open input file

rm: cannot remove 'vmImage.srec': No such file or directory

 

Размер vmImage - 2 130 000

возможно вы что-то пропустили или чего-то не хватает в системе..

прошел по этой инструкции, "от балды" взял 10m50_defconfig и не трогая конфигов собрал, у вас должно в конце сборки быть подобное:

  CHK     include/generated/compile.h
  AR      built-in.a
  LD      vmlinux.o
  MODPOST vmlinux.o
  KSYM    .tmp_kallsyms1.o
  KSYM    .tmp_kallsyms2.o
  LD      vmlinux
  SYSMAP  System.map
  OBJCOPY arch/nios2/boot/vmlinux.bin
  GZIP    arch/nios2/boot/vmlinux.gz
  UIMAGE  arch/nios2/boot/vmImage
Image Name:   Linux-4.17.0-00122-g103d053ac594
Created:      Mon Aug 20 17:50:43 2018
Image Type:   NIOS II Linux Kernel Image (gzip compressed)
Data Size:    1944942 Bytes = 1899.36 kB = 1.85 MB
Load Address: c8000000
Entry Point:  c8000000
Kernel: arch/nios2/boot/vmImage is ready
user@debian-local:~/src/erase/linux-socfpga$
user@debian-local:~/src/erase/linux-socfpga/arch/nios2/boot$ file vm
vmImage      vmlinux.bin  vmlinux.gz
user@debian-local:~/src/erase/linux-socfpga/arch/nios2/boot$ file vmImage
vmImage: u-boot legacy uImage, Linux-4.17.0-00122-g103d053ac594\037\213\010, Linux/Nios-II, OS Kernel Image (gzip), 1944942 bytes, Mon Aug 20 14:50:43 2018, Load Address: 0xC8000000, Entry Point: 0xC8000000, Header CRC: 0x2DF4434D, Data CRC: 0x58290B66

для контрольки сделайте проверку file vmImage

 

ЗЫ сборка в линуксе надеюсь?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Смотрите, у меня конечно все в linux компилируется. И конечно также как у Вас file показывает все что нужно.

Дело в том что, повторю, я загружаю ядро в RAM. Не с флешки или SD карты. Файл vmImage видимо для загрузки через u-boot нужен. При загрузке через nios2-download он также выдает ошибку!

 

Ну и глобально проблема у меня не в компиляции ядра - ядро компилируется без ошибок, все ок.

Основное что меня смущает - почему ядро такое большое - 56 мб..в примерах там 5-6-7 мб. этот vmlinux в корне.. ну и почему оно не загружается полностью а только 4.3мб. всегда.

 

Проблема видимо или в:

 

а) правильных настройках ядра. Хотя делаю все по инструкции.

б) возможно в настройках ниоса...

хотя там все максимально сейчас просто - ядро, память DDR3, on-chip (там TLB), таймер, jtag..все..

 

Может у кого-то есть пример настроек ядра - хотя-бы как соотносятся base memory address, reset vector, exeption vector с настройками в ядре? Если это как-то влияет конечно.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Запускал линукс на MAX10. Основная идея в том, что нужно создать монолитный образ с файловой системой и dtb в одном бинарнике. Делается это довольно просто через конфиг файл (menuconfig, xconfig и т.п.). Это бинарник vmlinux, который находится в корне ядра. Должен получиться достаточно большой файл.

Отталкиваться можно от этой статьи https://rocketboards.org/foswiki/Documentation/AlteraMAX1010M50RevCDevelopmentKitLinuxSetupVLTS

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...