Privalov 0 26 января, 2014 Опубликовано 26 января, 2014 · Жалоба Добрый день. Изучаю атмеловский Evaluation Kit SAMA5D3 на базе ядра Cortex-A5. Есть много примеров от Atmel для работы с этой платой. Все эти примеры показывают как это делать без операционной системы. Помогите, пожалуйста, разобраться как утановить Linux. И главное как вывести на экран платы хоть что-нибудь работающее из под этого Linux. Например окно браузера с загруженной страницей (при этом плата подключена по Ethernet). Или пускай это будет Hello, World. Спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
xor.kruger 0 26 января, 2014 Опубликовано 26 января, 2014 · Жалоба Сколько уже раз обсуждались подобные вопросы и в "гугле" и на данном форуме, но народ все равно хочет чтобы все сделали за них :) Я так понимаю что Вы даже не пытались нарыть что-то самостоятельное по данной теме иначе 100% наткнулись на сайт Atmel'a - http://www.at91.com/linux4sam/bin/view/Linux4SAM/ на котором все вопросы давным давно решены и разжеваны. По теме кроме ссылки: задайте конкретный вопрос - получите конкретный ответ ;) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Privalov 0 27 января, 2014 Опубликовано 27 января, 2014 · Жалоба Хорошо! Вы правы. Зашел не с той стороны. Буду задавать конкретные вопросы. Представленный Вами сайт я читал. Вот на данной странице этого сайта в разделе Demo archives качаю архив linux4sam-buildroot-sama5d3xek_linux4sam_4.2.zip. Распаковываю и вижу следующее: Глядя вот на эту картинку с linux4sam..... ...делаю вывод, что в данном случае 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. Мне не понятно где описана связь моего экранчика с операционной системой, т.е. откуда известно, что вывод производится на него. Мне еще много чего не понятно, но для начала объясните это. Параллельно сам читаю и разбираюсь) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alx2 0 28 января, 2014 Опубликовано 28 января, 2014 · Жалоба Мне не понятно откуда взялся 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-плагин, которым у Вас выводится видео... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Privalov 0 28 января, 2014 Опубликовано 28 января, 2014 (изменено) · Жалоба alx2, спасибо за ответы. Он лежит на файловой системе, образ которой Вы залили из файла rootfs-sama5d3ek.ubi. А как его туда положили? Как это все собирается? Чем? Мне не совсем понятен Ваш вопрос. У Вас на плате что, более одного дисплея? sm.gif Что выводит команда ls -l /dev/fb* ? Нет, всего один дисплей. Мне не понятно как линукс его определяет, откуда знает разрешение и т.д Опробовать описаную Вами команду пока нет возможности. Обязательно напишу. Изменено 28 января, 2014 пользователем Александр П. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dron_Gus 2 28 января, 2014 Опубликовано 28 января, 2014 · Жалоба А как его туда положили? Как это все собирается? Чем? Нет, всего один дисплей. Мне не понятно как линукс его определяет, откуда знает разрешение и т.д Опробовать описаную Вами команду пока нет возможности. Обязательно напишу. 1) Гуглите как создавать образы файловых систем. В вашем случае это UBIFS. 2) В Вашем логе загрузки: "Machine: Atmel SAMA5 (Device Tree), model: Atmel SAMA5D33-EK" большая часть конфигурации определена в Device Tree. Можете загуглить, как они пишутся, компилируются, передаются ядру и вообще что это такое. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
xor.kruger 0 28 января, 2014 Опубликовано 28 января, 2014 · Жалоба А как его туда положили? Как это все собирается? Чем? Для совсем начинающих есть отличная книга Embedded Linux system design and development Есть драйвер дисплея и есть файл платформ (и/или Device Tree File) в котором описано как и куда подключен Ваш дисплей. Как это все собирается? Чем? Но если у Вас возникают такие вопросы, мне кажется что нужно тогда начинать с самых "азов" :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alx2 0 29 января, 2014 Опубликовано 29 января, 2014 · Жалоба Опробовать описаную Вами команду пока нет возможности. Обязательно напишу. Да не надо уже. :) И так понятно, что у Вас там будет единственное устройство - /dev/fb0 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться