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

Запуск Linux с GUI на SAM5D3

Добрый день.

Изучаю атмеловский Evaluation Kit SAMA5D3 на базе ядра Cortex-A5. Есть много примеров от Atmel для работы с этой платой. Все эти примеры показывают как это делать без операционной системы.

Помогите, пожалуйста, разобраться как утановить Linux. И главное как вывести на экран платы хоть что-нибудь работающее из под этого Linux. Например окно браузера с загруженной страницей (при этом плата подключена по Ethernet). Или пускай это будет Hello, World.

Спасибо.

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


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

Сколько уже раз обсуждались подобные вопросы и в "гугле" и на данном форуме, но народ все равно хочет чтобы все сделали за них :) Я так понимаю что Вы даже не пытались нарыть что-то самостоятельное по данной теме иначе 100% наткнулись на сайт Atmel'a - http://www.at91.com/linux4sam/bin/view/Linux4SAM/ на котором все вопросы давным давно решены и разжеваны.

По теме кроме ссылки: задайте конкретный вопрос - получите конкретный ответ ;)

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


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

Хорошо! Вы правы. Зашел не с той стороны. Буду задавать конкретные вопросы.

 

Представленный Вами сайт я читал. Вот на данной странице этого сайта в разделе Demo archives качаю архив linux4sam-buildroot-sama5d3xek_linux4sam_4.2.zip. Распаковываю и вижу следующее:

post-79787-1390807696_thumb.png

Глядя вот на эту картинку с linux4sam.....

post-79787-1390806775_thumb.png

...делаю вывод, что в данном случае

AT91Bootstrap - это загрузчик первого уровня и в примере это файл u-boot-sama5d3xek_nandflash.bin

U-Boot - это загрузчик второго уровня и в примере это файл sama5d3xek-nandflashboot-uboot-3.6.0.bin

U-Boot Env. - это, насколько я понял, некий файл, который хранит переменные, необходимые для работы загрузчика. В примере это файл ubootEnvtFileNandFlash.bin

Device Tree (dtb) - это файл с описанием "железа" и в примере это файл sama5d33ek.dtb

Linux Kernel - это ядро ОС и в примере это файл zImage-sama5d3

Root FS (UBIFS) - файловая система и в примере это файл rootfs-sama5d3ek.ubi

Далее смотрю содержание файла demo_linux_nandflash.bat. Там написано следующее

sam-ba.exe \usb\ARM0 at91sama5d3x-ek demo_linux_nandflash.tcl > logfile.log 2>&1 notepad logfile.log

Подключаю плату, запускаю скрипт. Проходит какое-то время и я получаю log-файл следующего содержания

-I- Waiting ...
-I- TCL platform : Windows NT
-I- SAM-BA 2.12  on : windows
current connection is \usb\ARM0, \\usb\\ARM0 to be matched 
-I- Retrieved arguments from command line :
-I- argv 0 : \usb\ARM0
-I- argv 1 : at91sama5d3x-ek
-I- argv 2 : demo_linux_nandflash.tcl
0
\USBserial\COM19
-I- Connection : \USBserial\COM19 (target(comType) = 0)
-I- Board : at91sama5d3x-ek
-I- Traces Level : 4
-I- target(handle) : 17873784
Read device Chip ID at 0xfffff240 --- get 0x00000000
Read device Chip ID at 0xffffee40 --- get 0x8a5c07c2
-I- Found processor : at91sama5d3x (Chip ID : 0x8a5c07c2)
sourcing device file C:/Program Files/Atmel/sam-ba_2.12/sam-ba.exe/../tcl_lib/devices/at91sama5d3x.tcl
sourcing board description file C:/Program Files/Atmel/sam-ba_2.12/sam-ba.exe/../tcl_lib/at91sama5d3x-ek/at91sama5d3x-ek.tcl
-I- Loading applet applet-lowlevelinit-sama5d3x.bin at address 0x308000
-I- Memory Size : 0x0 bytes
-I- Buffer address : 0x4
-I- Buffer size: 0x0 bytes
-I- Applet initialization done
-I- Low level initialized
-I- External RAM Settings :  extRamVdd=0, extRamType=1, extRamDataBusWidth=16, extDDRamModel=1
-I- Loading applet applet-extram-sama5d3x.bin at address 0x308000
-I- Memory Size : 0x8000000 bytes
-I- Buffer address : 0x308B0C
-I- Buffer size: 0x0 bytes
-I- Applet initialization done
-I- External RAM initialized
-I- Command line mode : Execute script file : demo_linux_nandflash.tcl
-I- === name before swith sama5d3 ===
-I- === 0x00414300 ? 0x00004301 (sama5d36) ===
-I- === 0x00414300 ? 0x00584300 (sama5d35) ===
-I- === 0x00414300 ? 0x00414300 (sama5d33) ===
-I- === socName is sama5d33 ===
-I- Chip variant is sama5d33
-I- Board variant is ek
-I- === ecc before swith sama5d3 ===
-I- === eccType is 0xc0902405 ===
-I- === Initialize the NAND access ===
-I- NANDFLASH::Init (trace level : 4)
-I- Loading applet applet-nandflash-sama5d3x.bin at address 0x20000000
-I- Memory Size : 0x10000000 bytes
-I- Buffer address : 0x2001052C
-I- Buffer size: 0x20000 bytes
-I- Applet initialization done
-I- === Enable PMECC OS Parameters ===
   - HEADER value  is 0xC0902405
-I- Pmecc header configration successful
-I- PMECC configure c0902405
-I- === Erase all the NAND flash blocs and test the erasing ===
-I- GENERIC::EraseAll
-I- === Load the bootstrap in the first sector ===
Sending boot file done.
-I- === Load the u-boot in the next sectors ===
-I- Send File u-boot-sama5d3xek_nandflash.bin at address 0x00040000
GENERIC::SendFile u-boot-sama5d3xek_nandflash.bin at address 0x40000
-I- File size : 0x49338 byte(s)
-I- Complete 0%
-I-     Writing: 0x20000 bytes at 0x40000 (buffer addr : 0x2001052C)
-I-     0x20000 bytes written by applet
-I- Complete 43%
-I-     Writing: 0x20000 bytes at 0x60000 (buffer addr : 0x2001052C)
-I-     0x20000 bytes written by applet
-I- Complete 87%
-I-     Writing: 0x9338 bytes at 0x80000 (buffer addr : 0x2001052C)
-I-     0x9338 bytes written by applet
-I- === Load the u-boot environment variables ===
-I- Send File ubootEnvtFileNandFlash.bin at address 0x000c0000
GENERIC::SendFile ubootEnvtFileNandFlash.bin at address 0xC0000
-I- File size : 0x20000 byte(s)
-I- Complete 0%
-I-     Writing: 0x20000 bytes at 0xC0000 (buffer addr : 0x2001052C)
-I-     0x20000 bytes written by applet
-I- === Load the Kernel image and device tree database ===
-I- Send File sama5d33ek.dtb at address 0x00180000
GENERIC::SendFile sama5d33ek.dtb at address 0x180000
-I- File size : 0x5408 byte(s)
-I- Complete 0%
-I-     Writing: 0x5408 bytes at 0x180000 (buffer addr : 0x2001052C)
-I-     0x5408 bytes written by applet
-I- Send File zImage-sama5d3 at address 0x00200000
GENERIC::SendFile zImage-sama5d3 at address 0x200000
-I- File size : 0x2AEE48 byte(s)
-I- Complete 0%
-I-     Writing: 0x20000 bytes at 0x200000 (buffer addr : 0x2001052C)
-I-     0x20000 bytes written by applet
// здесь ведется загрузка
-I- Complete 97%
-I-     Writing: 0xEE48 bytes at 0x4A0000 (buffer addr : 0x2001052C)
-I-     0xEE48 bytes written by applet
-I- === Enable trimffs ===
-I- === Load the linux file system ===
-I- Send File rootfs-sama5d3ek.ubi at address 0x00800000
GENERIC::SendFile rootfs-sama5d3ek.ubi at address 0x800000
-I- File size : 0x1C60000 byte(s)
-I- Complete 0%
-I-     Writing: 0x20000 bytes at 0x800000 (buffer addr : 0x2001052C)
-I-     0x20000 bytes written by applet
-I- Complete 0%
-I-     Writing: 0x20000 bytes at 0x820000 (buffer addr : 0x2001052C)
-I-     0x20000 bytes written by applet
// здесь ведется загрузка
-I- Complete 99%
-I-     Writing: 0x20000 bytes at 0x2420000 (buffer addr : 0x2001052C)
-I-     0x20000 bytes written by applet
-I- Complete 99%
-I-     Writing: 0x20000 bytes at 0x2440000 (buffer addr : 0x2001052C)
-I-     0x20000 bytes written by applet
-I- === DONE. ===

Сравниваю адреса. Все совпадает. Делаю сброс, после чего на экранчике крутится в бесконечном цикле рекламный видео ролик от ATMEL.

Подключаюсь через JTAG. Открываю HyperTerminal. Подключаюсь к JLink CDC UART Port. Вновь сбрасываю питание и в HyperTerminal наблюдаю следующее..

AT91Bootstrap 3.6.0-00034-gbfd71bd (Fri Oct 18 10:56:50 CST 2013)

1-Wire: Loading 1-Wire information ...
1-Wire: ROM Searching ... Done, 0x3 1-Wire chips found

1-Wire: BoardName | [Revid] | VendorName
  #0x0  SAMA5D33-CM [BB2]      RONETIX
  #0x1  SAMA5D3x-MB [CC3]      FLEX
  #0x2  SAMA5D3x-DM [BB2]      FLEX

1-Wire: SYS_GPBR2: 0x481246b, SYS_GPBR3: 0x690821

NAND: ONFI flash detected
NAND: Manufacturer ID: 0x2c Chip ID: 0x32
NAND: Disable On-Die ECC
NAND: Initialize PMECC params, cap: 0x4, sector: 0x200
NAND: Image: Copy 0x80000 bytes from 0x40000 to 0x26f00000
NAND: Done to load image


U-Boot 2012.10-00126-g5e9f9da (Sep 29 2013 - 09:40:15)

CPU: SAMA5D33
Crystal frequency:       12 MHz
CPU clock        :      528 MHz
Master clock     :      132 MHz
DRAM:  512 MiB
WARNING: Caches not enabled
NAND:  256 MiB
MMC:   mci: 0
In:    serial
Out:   serial
Err:   serial
Net:   gmacb0
Warning: failed to set MAC address

Hit any key to stop autoboot:  0

NAND read: device 0 offset 0x180000, size 0x5408
21512 bytes read: OK

NAND read: device 0 offset 0x200000, size 0x2aee48
2813512 bytes read: OK
## Flattened Device Tree blob at 21000000
   Booting using the fdt blob at 0x21000000
   Loading Device Tree to 3fd84000, end 3fd8c407 ... OK
Device tree update:
  mb-rev property set to C

Starting kernel ...

Booting Linux on physical CPU 0
Linux version 3.6.9+ (jenkins@shaarm01) (gcc version 4.7.3 (Sourcery CodeBench L
ite 2013.05-24) ) #1 Sun Sep 29 12:45:12 CST 2013
CPU: ARMv7 Processor [410fc051] revision 1 (ARMv7), cr=10c53c7d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: Atmel SAMA5 (Device Tree), model: Atmel SAMA5D33-EK
Memory policy: ECC disabled, Data cache writeback
AT91: Detected soc type: sama5d3
AT91: Detected soc subtype: sama5d33
AT91: sram at 0x300000 of 0x20000 mapped at 0xfef58000
Clocks: CPU 528 MHz, master 132 MHz, main 12.000 MHz
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 130048
Kernel command line: console=ttyS0,115200 mtdparts=atmel_nand:256k(bootstrap)ro,
512k(uboot)ro,256k(env),256k(env_redundant),256k(spare),512k(dtb),6M(kernel)ro,-
(rootfs) rootfstype=ubifs ubi.mtd=7 root=ubi0:rootfs rw
PID hash table entries: 2048 (order: 1, 8192 bytes)
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Memory: 512MB = 512MB total
Memory: 514156k/514156k available, 10132k reserved, 0K highmem
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
    vmalloc : 0xe0800000 - 0xff000000   ( 488 MB)
    lowmem  : 0xc0000000 - 0xe0000000   ( 512 MB)
    modules : 0xbf000000 - 0xc0000000   (  16 MB)
      .text : 0xc0008000 - 0xc04f2d7c   (5036 kB)
      .init : 0xc04f3000 - 0xc0519534   ( 154 kB)
      .data : 0xc051a000 - 0xc054b9c0   ( 199 kB)
       .bss : 0xc054b9e4 - 0xc0563de8   (  98 kB)
NR_IRQS:16 nr_irqs:16 16
sched_clock: 32 bits at 100 Hz, resolution 10000000ns, wraps every 4294967286ms
Console: colour dummy device 80x30
Calibrating delay loop... 262.96 BogoMIPS (lpj=1314816)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
Setting up static identity map for 0x203af008 - 0x203af060
devtmpfs: initialized
pinctrl core: initialized pinctrl subsystem
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
AT91: mb rev: C
AT91: Power Management (with slow clock mode)
gpio-at91 fffff200.gpio: at address fefff200
gpio-at91 fffff400.gpio: at address fefff400
gpio-at91 fffff600.gpio: at address fefff600
gpio-at91 fffff800.gpio: at address fefff800
gpio-at91 fffffa00.gpio: at address fefffa00
pinctrl-at91 pinctrl.3: initialized AT91 pinctrl driver
bio: create slab <bio-0> at 0
at_hdmac ffffe600.dma-controller: Atmel AHB DMA Controller ( cpy slave ), 8 chan
nels
at_hdmac ffffe800.dma-controller: Atmel AHB DMA Controller ( cpy slave ), 8 chan
nels
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
/ahb/apb/i2c@f0014000: can't parse dma property (-2)
at91_i2c f0014000.i2c: AT91 i2c bus driver.
at91_i2c f0018000.i2c: using dma0chan0 (tx) and dma0chan1 (rx) for DMA transfers

at91_i2c f0018000.i2c: AT91 i2c bus driver.
Linux media interface: v0.10
Linux video capture interface: v2.00
Advanced Linux Sound Architecture Driver Version 1.0.25.
cfg80211: Calling CRDA to update world regulatory domain
Switching to clocksource tcb_clksrc
NET: Registered protocol family 2
TCP established hash table entries: 16384 (order: 5, 131072 bytes)
TCP bind hash table entries: 16384 (order: 4, 65536 bytes)
TCP: Hash tables configured (established 16384 bind 16384)
TCP: reno registered
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
jffs2: version 2.2. (NAND) (SUMMARY)  В© 2001-2006 Red Hat, Inc.
msgmni has been set to 1004
io scheduler noop registered (default)
atmel_hlcdfb atmel_hlcdfb_base: 1500KiB frame buffer at 3f000000 (mapped at e08a
4000)
Console: switching to colour frame buffer device 100x30
atmel_hlcdfb atmel_hlcdfb_base: fb0: Atmel LCDC at 0xf0030000 (mapped at e0a1c00
0), irq 25
atmel_hlcdfb atmel_hlcdfb_ovl1: 1500KiB frame buffer at 3f200000 (mapped at e0a2
0000)
atmel_hlcdfb atmel_hlcdfb_ovl1: fb1: Atmel LCDC at 0xf0030140 (mapped at e0b9a14
0), irq -6
atmel_hlcdfb atmel_hlcdfb_ovl2: 1500KiB frame buffer at 3ec00000 (mapped at e0b9
e000)
atmel_hlcdfb atmel_hlcdfb_ovl2: fb2: Atmel LCDC at 0xf0030240 (mapped at e0d1824
0), irq -6
f0020000.serial: ttyS2 at MMIO 0xf0020000 (irq = 23) is a ATMEL_SERIAL
ffffee00.serial: ttyS0 at MMIO 0xffffee00 (irq = 35) is a ATMEL_SERIAL
console [ttyS0] enabled
brd: module loaded
loop: module loaded
ssc f0008000.ssc: Atmel SSC device at 0xe0d20000 (irq 19)
atmel_nand 60000000.nand: Using NFC
atmel_nand: Use On Flash BBT
atmel_nand 60000000.nand: Using dma0chan2 for DMA transfers.
ONFI param page 0 valid
ONFI flash detected
NAND device: Manufacturer ID: 0x2c, Chip ID: 0xda (Micron MT29F2G08ABAEAWP), pag
e size: 2048, OOB size: 64
atmel_nand 60000000.nand: ONFI params, minimum required ECC: 4 bits in 512 bytes

atmel_nand 60000000.nand: Initialize PMECC params, cap: 4, sector: 512
atmel_nand 60000000.nand: Using NFC Sram
Bad block table found at page 131008, version 0x01
Bad block table found at page 130944, version 0x01
8 cmdlinepart partitions found on MTD device atmel_nand
Creating 8 MTD partitions on "atmel_nand":
0x000000000000-0x000000040000 : "bootstrap"
0x000000040000-0x0000000c0000 : "uboot"
0x0000000c0000-0x000000100000 : "env"
0x000000100000-0x000000140000 : "env_redundant"
0x000000140000-0x000000180000 : "spare"
0x000000180000-0x000000200000 : "dtb"
0x000000200000-0x000000800000 : "kernel"
0x000000800000-0x000010000000 : "rootfs"
UBI: attaching mtd7 to ubi0
UBI: physical eraseblock size:   131072 bytes (128 KiB)
UBI: logical eraseblock size:    126976 bytes
UBI: smallest flash I/O unit:    2048
UBI: VID header offset:          2048 (aligned 2048)
UBI: data offset:                4096
UBI: max. sequence number:       13
UBI: attached mtd7 to ubi0
UBI: MTD device name:            "rootfs"
UBI: MTD device size:            248 MiB
UBI: number of good PEBs:        1980
UBI: number of bad PEBs:         4
UBI: number of corrupted PEBs:   0
UBI: max. allowed volumes:       128
UBI: wear-leveling threshold:    4096
UBI: number of internal volumes: 1
UBI: number of user volumes:     1
UBI: available PEBs:             0
UBI: total number of reserved PEBs: 1980
UBI: number of PEBs reserved for bad PEB handling: 38
UBI: max/mean erase counter: 2/0
UBI: image sequence number:  412806273
atmel_spi f0004000.spi: Using dma0chan3 (tx) and  dma0chan4 (rx) for DMA transfe
rs
atmel_spi f0004000.spi: Atmel SPI Controller at 0xf0004000 (irq 18)
UBI: background thread "ubi_bgt0d" started, PID 457
atmel_spi f0004000.spi: master is unqueued, this is deprecated
m25p80 spi32766.0: at25df321a (4096 Kbytes)
CAN device driver interface
at91_can f8010000.can: device registered (reg_base=e0d38000, irq=27)
macb f0028000.ethernet: (unregistered net_device): invalid hw address, using ran
dom
libphy: MACB_mii_bus: probed
macb f0028000.ethernet: eth0: Cadence GEM at 0xf0028000 irq 24 (be:d8:44:d8:5f:1
5)
macb f0028000.ethernet: eth0: attached PHY driver [Micrel KSZ9021 Gigabit PHY] (
mii_bus:phy_addr=f0028000.etherne:01, irq=-1)
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
atmel-ehci 700000.ehci: Atmel EHCI UHP HS
atmel-ehci 700000.ehci: new USB bus registered, assigned bus number 1
atmel-ehci 700000.ehci: irq 43, io mem 0x00700000
atmel-ehci 700000.ehci: USB 2.0 started, EHCI 1.00
usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: Atmel EHCI UHP HS
usb usb1: Manufacturer: Linux 3.6.9+ ehci_hcd
usb usb1: SerialNumber: 700000.ehci
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 3 ports detected
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
at91_ohci 600000.ohci: AT91 OHCI
at91_ohci 600000.ohci: new USB bus registered, assigned bus number 2
at91_ohci 600000.ohci: irq 43, io mem 0x00600000
usb usb2: New USB device found, idVendor=1d6b, idProduct=0001
usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb2: Product: AT91 OHCI
usb usb2: Manufacturer: Linux 3.6.9+ ohci_hcd
usb usb2: SerialNumber: at91
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 3 ports detected
usbcore: registered new interface driver cdc_acm
cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
atmel_usba_udc 500000.gadget: MMIO registers at 0xf8030000 mapped at e0da0000
atmel_usba_udc 500000.gadget: FIFO at 0x00500000 mapped at e2600000
qt1070 1-001b: AT42QT1070 firmware version 15
input: AT42QT1070 QTouch Sensor as /devices/ahb.0/apb.1/f0018000.i2c/i2c-1/1-001
b/input/input0
atmel_tsadcc f8018000.tsadcc: Master clock is set at: 66000000 Hz
atmel_tsadcc f8018000.tsadcc: Prescaler is set at: 109
input: atmel touch screen controller as /devices/ahb.0/apb.1/f8018000.tsadcc/inp
ut/input1
at91_rtc fffffeb0.rtc: rtc core: registered fffffeb0.rtc as rtc0
AT91 Real Time Clock driver.
i2c /dev entries driver
at91sam9x5-video f0030340.lcdheo1: video device registered @ 0xe0d3e340, irq = 2
5
gspca_main: v2.14.0 registered
usbcore: registered new interface driver uvcvideo
USB Video Class driver (1.1.1)
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
wm8904 0-001a: revision A
sama5d3ek-audio sound.5: setting pck0 to 32768Hz
sama5d3ek-audio sound.5:  wm8904-hifi <-> f0008000.ssc mapping ok
TCP: cubic registered
NET: Registered protocol family 10
sit: IPv6 over IPv4 tunneling driver
NET: Registered protocol family 17
can: controller area network core (rev 20120528 abi 9)
NET: Registered protocol family 29
lib80211: common routines for IEEE802.11 drivers
VFP support v0.3: implementor 41 architecture 2 part 30 variant 5 rev 1
at91_rtc fffffeb0.rtc: setting system clock to 2007-01-04 04:19:23 UTC (11678843
63)
atmel_mci f0000000.mmc: version: 0x505
atmel_mci f0000000.mmc: using dma0chan5 for DMA transfers
atmel_mci f0000000.mmc: Atmel MCI controller at 0xf0000000 irq 17, 1 slots
atmel_mci f8000000.mmc: version: 0x505
atmel_mci f8000000.mmc: using dma1chan0 for DMA transfers
atmel_mci f8000000.mmc: Atmel MCI controller at 0xf8000000 irq 26, 1 slots
atmel_aes f8038000.aes: version: 0x135
atmel_aes f8038000.aes: Atmel AES
atmel_tdes f803c000.tdes: version: 0x701
atmel_tdes f803c000.tdes: Atmel DES/TDES
atmel_sha f8034000.sha: version: 0x410
atmel_sha f8034000.sha: Atmel SHA1/SHA256
ALSA device list:
  #0: wm8904 @ SAMA5D3EK
UBIFS: recovery needed
UBIFS: recovery completed
UBIFS: mounted UBI device 0, volume 0, name "rootfs"
UBIFS: file system size:   244682752 bytes (238948 KiB, 233 MiB, 1927 LEBs)
UBIFS: journal size:       9023488 bytes (8812 KiB, 8 MiB, 72 LEBs)
UBIFS: media format:       w4/r0 (latest is w4/r0)
UBIFS: default compressor: lzo
UBIFS: reserved for root:  0 bytes (0 KiB)
VFS: Mounted root (ubifs filesystem) on device 0:11.
devtmpfs: mounted
Freeing init memory: 152K
atmel_nand 60000000.nand: Bit flip in data area, byte_pos: 1365, bit_pos: 3, 0x7
5 -> 0x7d
atmel_nand 60000000.nand: Bit flip in data area, byte_pos: 1365, bit_pos: 3, 0x7
5 -> 0x7d
Starting logging: OK
Populating /dev using udev: udevd[596]: starting version 182
done
Starting portmap: done
Initializing random number generator... done.
ALSA: Restoring mixer settings...
Starting network...
Starting sshd: OK

Welcome to Buildroot
buildroot login:

Далее ввожу...

Welcome to Buildroot
buildroot login:root
# ls
MPEG2_480_272.avi  go.sh

Я так понимаю, что MPEG2_480_272.avi это тот самый ролик который крутится по циклу, а go.sh это файл который запускает этот ролик. Содержимое файла go.sh следующее

VFS: Mounted root (ubifs filesystem) on device 0:11.
#!/bin/sh
dmesg | grep "AT91: Detected soc subtype: sama5d34" > /dev/null 2>&1
if [ 0 -eq 0 ]; then
while `ls /dev/fb0 > /dev/null 2>&1`
do
gst-launch-0.10 filesrc location=/root/MPEG2_480_272.avi ! avidemux ! mpeg2dec
! ffmpegcolorspace ! fbdevsink 2>&1 > /dev/null
sleep 5
done
fi

~
~
~
~
~
~
~
~
~
~
~
~
go.sh

 

Поправте меня если я где-то не правильно понял. Мне не понятно откуда взялся MPEG2_480_272.avi. Мне не понятно что запускает go.sh. Мне не понятно где описана связь моего экранчика с операционной системой, т.е. откуда известно, что вывод производится на него. Мне еще много чего не понятно, но для начала объясните это. Параллельно сам читаю и разбираюсь)

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


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

Мне не понятно откуда взялся MPEG2_480_272.avi.

Он лежит на файловой системе, образ которой Вы залили из файла rootfs-sama5d3ek.ubi.

 

Мне не понятно что запускает go.sh.

Почитайте что-нибудь о процессе загрузки sysv-linux. Если кратко, то ядро запускает процесс init, который читает /etc/inittab и выполняет то, что там написано. Обычно это выполнение стартовых скриптов из каталога /etc/rc.x/. Вероятно, один из этих скриптов и запускает Ваш go.sh.

 

Мне не понятно где описана связь моего экранчика с операционной системой, т.е. откуда известно, что вывод производится на него.

Мне не совсем понятен Ваш вопрос. У Вас на плате что, более одного дисплея? :) Что выводит команда ls -l /dev/fb* ?

Скорее всего у Вас в системе имеется единственное framebuffer-устройство. А вообще-то надо смотреть документацию на fbdevsink - это gstreamer-плагин, которым у Вас выводится видео...

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


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

alx2, спасибо за ответы.

Он лежит на файловой системе, образ которой Вы залили из файла rootfs-sama5d3ek.ubi.

А как его туда положили? Как это все собирается? Чем?

Мне не совсем понятен Ваш вопрос. У Вас на плате что, более одного дисплея? sm.gif Что выводит команда ls -l /dev/fb* ?

Нет, всего один дисплей. Мне не понятно как линукс его определяет, откуда знает разрешение и т.д Опробовать описаную Вами команду пока нет возможности. Обязательно напишу.

Изменено пользователем Александр П.

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


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

А как его туда положили? Как это все собирается? Чем?

 

Нет, всего один дисплей. Мне не понятно как линукс его определяет, откуда знает разрешение и т.д Опробовать описаную Вами команду пока нет возможности. Обязательно напишу.

1) Гуглите как создавать образы файловых систем. В вашем случае это UBIFS.

2) В Вашем логе загрузки: "Machine: Atmel SAMA5 (Device Tree), model: Atmel SAMA5D33-EK" большая часть конфигурации определена в Device Tree. Можете загуглить, как они пишутся, компилируются, передаются ядру и вообще что это такое.

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


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

А как его туда положили? Как это все собирается? Чем?

Для совсем начинающих есть отличная книга Embedded Linux system design and development

Есть драйвер дисплея и есть файл платформ (и/или Device Tree File) в котором описано как и куда подключен Ваш дисплей.

Как это все собирается? Чем?

Но если у Вас возникают такие вопросы, мне кажется что нужно тогда начинать с самых "азов" :)

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


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

Опробовать описаную Вами команду пока нет возможности. Обязательно напишу.

Да не надо уже. :) И так понятно, что у Вас там будет единственное устройство - /dev/fb0

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


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

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

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

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

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

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

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

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

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

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