Jump to content

    

zemlemer

Участник
  • Content Count

    82
  • Joined

  • Last visited

Community Reputation

0 Обычный

About zemlemer

  • Rank
    Частый гость

Recent Profile Visitors

2051 profile views
  1. Не помогло ни одно ни другое. С USB - невозможно - хитрый разъем. Я тут пытаюсь mtdpatrs указать, не получается. mtdparts add nand0 0x20000@0x20000 u-boot_env mtdparts add nand0 0x20000@0x80000 u-boot ro mtdparts add nand0 0x400000@0x200000 kernel ro mtdparts add nand0 0xD00000@0x600000 filesystem после Этого вывод mtdparts пустой. Как правильно указывать? Строка загрузки, если указать mtdpatrs, должна быть 'console=ttyS2,115200n8 root=ubi0:filesystem rw ubi.mtd=filesystem, 2048 noinitrd rootfstype=ubifs mem=256M rootwait=1' ?
  2. Что-то какое-то катастрофическое везение с этим проектом. Пытался сделать загрузку через NAND. 1. Запустил ubifs mkfs.ubifs -m 2048 -e 128KiB -c 2000 -x lzo -r $filesys_path ./ubifs.img 2. На полученый файл натравил ubinize ubinize -o ubi.img -m 2048 -p 128KiB -s 2048 ubinize.cfg ubinize.cfg: [ubifs] mode=ubi image=ubifs.img vol_id=0 vol_size=256MiB vol_type=dynamic vol_name=rootfsys vol_flags=autoresize 3. Добавил партиции в dts partitions { compatible = "fixed-partitions"; #address-cells = <1>; #size-cells = <1>; partition@0 { label = "u-boot env"; reg = <0 0x020000>; }; partition@20000 { /* The LCDK defaults to booting from this partition */ label = "u-boot"; reg = <0x020000 0x080000>; }; partition@0x200000 { /* Kernel partition */ label = "kernel"; reg = <0x200000 0x400000>; }; partition@0x600000 { /* root partition */ label = "rootfsys"; reg = <0x600000 0>; }; /* partition@a0000 { label = "free space"; reg = <0x0a0000 0>; }; */ }; Поставил в U-Boot setenv bootcmd 'nand read.e 0xc0700000 0x200000 0x400000;nand read.e 0xc1180000 0x600000 0xD00000;bootm 0xc0700000' setenv bootargs 'console=ttyS2,115200n8 root=ubi0:rootfsys rw ubi.mtd=rootfsys,2048 noinitrd rootfstype=ubifs mem=256M rootwait=1' Выхлоп в результате: Booting Linux on physical CPU 0x0 Linux version 4.19.59-g5f8c1c6121 (kirill@kirill-GA-770TA-UD3) (gcc version 8.2.0 (GCC)) #4 PREEMPT Thu Aug 6 18:13:58 MSK 2020 CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=0005317f CPU: VIVT data cache, VIVT instruction cache OF: fdt: Machine model: DA850/AM1808/OMAP-L138 LCDK/Infralum Memory policy: Data cache writethrough Reserved memory: created CMA memory pool at 0xc3000000, size 16 MiB OF: reserved mem: initialized node dsp-memory@c3000000, compatible id shared-dma-pool cma: Reserved 24 MiB at 0xce800000 DaVinci da850/omap-l138/am18x variant 0x1 random: get_random_bytes called from start_kernel+0x88/0x42c with crng_init=0 Built 1 zonelists, mobility grouping on. Total pages: 64960 Kernel command line: console=ttyS2,115200n8 root=ubi0:rootfsys rw ubi.mtd=rootfsys,2048 noinitrd rootfstype=ubifs mem=256M rootwait=1 Dentry cache hash table entries: 32768 (order: 5, 131072 bytes) Inode-cache hash table entries: 16384 (order: 4, 65536 bytes) Memory: 208756K/262144K available (6820K kernel code, 357K rwdata, 2148K rodata, 256K init, 120K bss, 12428K reserved, 40960K cma-reserved) Virtual kernel memory layout: vector : 0xffff0000 - 0xffff1000 ( 4 kB) fixmap : 0xffc00000 - 0xfff00000 (3072 kB) vmalloc : 0xd0800000 - 0xff800000 ( 752 MB) lowmem : 0xc0000000 - 0xd0000000 ( 256 MB) modules : 0xbf000000 - 0xc0000000 ( 16 MB) .text : 0x(ptrval) - 0x(ptrval) (6822 kB) .init : 0x(ptrval) - 0x(ptrval) ( 256 kB) .data : 0x(ptrval) - 0x(ptrval) ( 358 kB) .bss : 0x(ptrval) - 0x(ptrval) ( 121 kB) SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 rcu: Preemptible hierarchical RCU implementation. Tasks RCU enabled. NR_IRQS: 245 clocksource: timer0_1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns Console: colour dummy device 80x30 Calibrating delay loop... 148.88 BogoMIPS (lpj=744448) pid_max: default: 32768 minimum: 301 Mount-cache hash table entries: 1024 (order: 0, 4096 bytes) Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes) CPU: Testing write buffer coherency: ok Setting up static identity map for 0xc0008400 - 0xc0008458 rcu: Hierarchical SRCU implementation. devtmpfs: initialized VFP support v0.3: not present clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns futex hash table entries: 256 (order: -1, 3072 bytes) pinctrl core: initialized pinctrl subsystem NET: Registered protocol family 16 DMA: preallocated 256 KiB pool for atomic coherent allocations cpuidle: using governor ladder cpuidle: using governor menu mux: initialized RTC_ALARM mux: Setting register RTC_ALARM mux: PINMUX0 (0x00000000) = 0x44880101 -> 0x24880101 gpiochip_add_data_with_key: GPIOs 0..143 (davinci_gpio.0) failed to register, -517 edma 1e30000.edma: memcpy is disabled edma 1e30000.edma: TI EDMA DMA engine driver SCSI subsystem initialized media: Linux media interface: v0.10 videodev: Linux video capture interface: v2.00 pps_core: LinuxPPS API ver. 1 registered pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it> PTP clock support registered Advanced Linux Sound Architecture Driver Initialized. clocksource: Switched to clocksource timer0_1 NET: Registered protocol family 2 tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes) TCP established hash table entries: 2048 (order: 1, 8192 bytes) TCP bind hash table entries: 2048 (order: 1, 8192 bytes) TCP: Hash tables configured (established 2048 bind 2048) 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. workingset: timestamp_bits=14 max_order=16 bucket_order=2 NFS: Registering the id_resolver key type Key type id_resolver registered Key type id_legacy registered Block layer SCSI generic (bsg) driver version 0.4 loaded (major 248) io scheduler noop registered (default) io scheduler mq-deadline registered io scheduler kyber registered pinctrl-single 1c14120.pinmux: 160 pins, size 80 Serial: 8250/16550 driver, 10 ports, IRQ sharing disabled console [ttyS2] disabled 1d0d000.serial: ttyS2 at MMIO 0x1d0d000 (irq = 61, base_baud = 9375000) is a TI DA8xx/66AK2x console [ttyS2] enabled brd: module loaded libphy: Fixed MDIO Bus: probed davinci_mdio 1e24000.mdio: davinci mdio revision 1.5, bus freq 2200000 davinci_mdio 1e24000.mdio: detected phy mask fffffffc libphy: 1e24000.mdio: probed davinci_mdio 1e24000.mdio: phy[0]: device 1e24000.mdio:00, driver Micrel KSZ8041RNLI davinci_mdio 1e24000.mdio: phy[1]: device 1e24000.mdio:01, driver Micrel KSZ8041RNLI i2c /dev entries driver davinci-wdt 1c21000.wdt: heartbeat 60 sec sdhci: Secure Digital Host Controller Interface driver sdhci: Copyright(c) Pierre Ossman sdhci-pltfm: SDHCI platform and OF driver helper ti-aemif 68000000.aemif: cannot get clock 'aemif' NET: Registered protocol family 10 Segment Routing with IPv6 sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver NET: Registered protocol family 17 Key type dns_resolver registered edma 1c00000.edma: memcpy is disabled edma 1c00000.edma: TI EDMA DMA engine driver UBI error: cannot open mtd rootfsys, error -2 console [netcon0] enabled netconsole: network logging started davinci_emac 1e20000.ethernet: incompatible machine/device type for reading mac address davinci_emac 1e20000.ethernet: using random MAC addr: 52:4f:de:37:a8:e5 input: gpio-keys as /devices/platform/gpio-keys/input/input0 hctosys: unable to open rtc device (rtc0) ALSA device list: No soundcards found. VFS: Cannot open root device "ubi0:rootfsys" or unknown-block(0,0): error -19 Please append a correct "root=" boot option; here are the available partitions: 0100 32768 ram0 (driver?) Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) ]--- random: fast init done Смущает ti-aemif 68000000.aemif: cannot get clock 'aemif' Такое ощущение, что теперь не видно NAND-а.....
  3. Безусловно. Но оба процесса делают одно и то же: Инициализируют PINMUX. Если он в U-Boot-е проинициализирован, то повторять в dts можно, но проблемы не решит. У меня ощущение, что dtb файл ядром не читается. Это можно как-то проверить? Можно dtb положить в отдельный раздел nand? Если да, то как сообщить об этом ядру?
  4. Включена. На всякий случай добавил поддеожку NFS v4. Только ошибки такого рода появились. Duplicate name in testcase-data, renamed to "duplicate-name#1" ### dt-test ### start of unittest - you will see error messages OF: /testcase-data/phandle-tests/consumer-a: could not get #phandle-cells-missing for /testcase-data/phandle-tests/provider1 OF: /testcase-data/phandle-tests/consumer-a: could not get #phandle-cells-missing for /testcase-data/phandle-tests/provider1 OF: /testcase-data/phandle-tests/consumer-a: could not find phandle OF: /testcase-data/phandle-tests/consumer-a: could not find phandle OF: /testcase-data/phandle-tests/consumer-a: arguments longer than property OF: /testcase-data/phandle-tests/consumer-a: arguments longer than property OF: /testcase-data/phandle-tests/consumer-b: could not get #phandle-missing-cells for /testcase-data/phandle-tests/provider1 OF: /testcase-data/phandle-tests/consumer-b: could not find phandle OF: /testcase-data/phandle-tests/consumer-b: arguments longer than property ### dt-test ### end of unittest - 162 passed, 0 failed davinci_mdio 1e24000.mdio: resetting idled controller Micrel KSZ8041RNLI 1e24000.mdio:00: attached PHY driver [Micrel KSZ8041RNLI] (mii_bus:phy_addr=1e24000.mdio:00, irq=POLL) IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready Там стандартное дерево из поставки ti-processor-sdk-linux-omapl138-lcdk-06.01.00.08. bin boot dev etc home init lib linuxrc media mnt opt proc run sbin srv sys tmp usr var Пробовал все варианты. Результат: Micrel KSZ8041RNLI 1e24000.mdio:00: attached PHY driver [Micrel KSZ8041RNLI] (mii_bus:phy_addr=1e24000.mdio:00, irq=POLL) IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready random: fast init done davinci_emac 1e20000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready IP-Config: Complete: device=eth0, hwaddr=9e:19:94:90:e7:10, ipaddr=192.168.228.253, mask=255.255.255.0, gw=192.168.228.1 host=192.168.228.253, domain=, nis-domain=(none) bootserver=192.168.228.116, rootserver=192.168.228.116, rootpath= random: crng init done VFS: Unable to mount root fs via NFS, trying floppy. VFS: Cannot open root device "nfs" or unknown-block(2,0): error -6 Please append a correct "root=" boot option; here are the available partitions: 0100 32768 ram0 (driver?) Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0) ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0) ]--- Доже пытался dhcp прописать, говорит что ответа нет. По поводу пинов в da850.dtsi: я из прописал на всякий случай rmii_pins: pinmux_rmii_pins { pinctrl-single,bits = < /* * RMII_TXD_1, RMII_TXD_0, RMII_TXEN * RMII_RXD_1, RMII_RXN_0, RMII_RXER */ 0x38 0x88888800 0xffffff00 /* * RMII_MHZ_50_CLK, RMII_CRS_DV */ 0x3c 0x00000080 0x000000ff >; }; Но это, по сути, дублирование кода из board_init от u-boot-а. Были бы пины неправильно проинициализированы - не работал бы TFTP в U-Boot-е.
  5. Ничего не говорит. Ни одного пакета. Проверил ловлю пакетов на tftp - работает. Выхлоп такой. Starting kernel ... Booting Linux on physical CPU 0x0 Linux version 4.19.59-g5f8c1c6121 (kirill@kirill-GA-770TA-UD3) (gcc version 8.2.0 (GCC)) #1 PREEMPT Thu Jul 23 20:13:35 MSK 2020 CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=0005317f CPU: VIVT data cache, VIVT instruction cache OF: fdt: Machine model: DA850/AM1808/OMAP-L138 LCDK Memory policy: Data cache writethrough Reserved memory: created CMA memory pool at 0xc3000000, size 16 MiB OF: reserved mem: initialized node dsp-memory@c3000000, compatible id shared-dma-pool cma: Reserved 24 MiB at 0xc6800000 DaVinci da850/omap-l138/am18x variant 0x1 random: get_random_bytes called from start_kernel+0x88/0x428 with crng_init=0 Built 1 zonelists, mobility grouping on. Total pages: 32480 Kernel command line: console=ttyS2,115200n8 noinitrd rw rootwait ip=192.168.228.253:192.168.228.116:192.168.228.1:255.255.255.0::eth0: root=/dev/nfs nfsroot=192.168.228.116:/home/kirill/Projects/Lumex/InfraLum/NS Dentry cache hash table entries: 16384 (order: 4, 65536 bytes) Inode-cache hash table entries: 8192 (order: 3, 32768 bytes) Memory: 79200K/131072K available (6579K kernel code, 350K rwdata, 2100K rodata, 256K init, 151K bss, 10912K reserved, 40960K cma-reserved) Virtual kernel memory layout: vector : 0xffff0000 - 0xffff1000 ( 4 kB) fixmap : 0xffc00000 - 0xfff00000 (3072 kB) vmalloc : 0xc8800000 - 0xff800000 ( 880 MB) lowmem : 0xc0000000 - 0xc8000000 ( 128 MB) modules : 0xbf000000 - 0xc0000000 ( 16 MB) .text : 0x(ptrval) - 0x(ptrval) (6581 kB) .init : 0x(ptrval) - 0x(ptrval) ( 256 kB) .data : 0x(ptrval) - 0x(ptrval) ( 351 kB) .bss : 0x(ptrval) - 0x(ptrval) ( 152 kB) SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 rcu: Preemptible hierarchical RCU implementation. Tasks RCU enabled. NR_IRQS: 245 clocksource: timer0_1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns Console: colour dummy device 80x30 Calibrating delay loop... 148.88 BogoMIPS (lpj=744448) pid_max: default: 32768 minimum: 301 Mount-cache hash table entries: 1024 (order: 0, 4096 bytes) Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes) CPU: Testing write buffer coherency: ok Setting up static identity map for 0xc0008400 - 0xc0008458 rcu: Hierarchical SRCU implementation. devtmpfs: initialized VFP support v0.3: not present clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns futex hash table entries: 256 (order: -1, 3072 bytes) pinctrl core: initialized pinctrl subsystem NET: Registered protocol family 16 DMA: preallocated 256 KiB pool for atomic coherent allocations cpuidle: using governor ladder cpuidle: using governor menu mux: initialized RTC_ALARM mux: Setting register RTC_ALARM mux: PINMUX0 (0x00000000) = 0x44880101 -> 0x24880101 gpiochip_add_data_with_key: GPIOs 0..143 (davinci_gpio.0) failed to register, -517 edma 1e30000.edma: memcpy is disabled edma 1e30000.edma: TI EDMA DMA engine driver SCSI subsystem initialized media: Linux media interface: v0.10 videodev: Linux video capture interface: v2.00 pps_core: LinuxPPS API ver. 1 registered pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it> PTP clock support registered Advanced Linux Sound Architecture Driver Initialized. clocksource: Switched to clocksource timer0_1 NET: Registered protocol family 2 tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes) TCP established hash table entries: 1024 (order: 0, 4096 bytes) TCP bind hash table entries: 1024 (order: 0, 4096 bytes) TCP: Hash tables configured (established 1024 bind 1024) 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. workingset: timestamp_bits=14 max_order=15 bucket_order=1 Block layer SCSI generic (bsg) driver version 0.4 loaded (major 248) io scheduler noop registered (default) io scheduler mq-deadline registered io scheduler kyber registered pinctrl-single 1c14120.pinmux: 160 pins, size 80 Serial: 8250/16550 driver, 10 ports, IRQ sharing disabled console [ttyS2] disabled 1d0d000.serial: ttyS2 at MMIO 0x1d0d000 (irq = 61, base_baud = 9375000) is a TI DA8xx/66AK2x console [ttyS2] enabled brd: module loaded libphy: Fixed MDIO Bus: probed davinci_mdio 1e24000.mdio: davinci mdio revision 1.5, bus freq 2200000 davinci_mdio 1e24000.mdio: detected phy mask fffffffc libphy: 1e24000.mdio: probed davinci_mdio 1e24000.mdio: phy[0]: device 1e24000.mdio:00, driver Micrel KSZ8041RNLI davinci_mdio 1e24000.mdio: phy[1]: device 1e24000.mdio:01, driver Micrel KSZ8041RNLI i2c /dev entries driver davinci-wdt 1c21000.wdt: heartbeat 60 sec sdhci: Secure Digital Host Controller Interface driver sdhci: Copyright(c) Pierre Ossman sdhci-pltfm: SDHCI platform and OF driver helper ti-aemif 68000000.aemif: cannot get clock 'aemif' NET: Registered protocol family 10 Segment Routing with IPv6 sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver NET: Registered protocol family 17 edma 1c00000.edma: memcpy is disabled edma 1c00000.edma: TI EDMA DMA engine driver console [netcon0] enabled netconsole: network logging started davinci_emac 1e20000.ethernet: incompatible machine/device type for reading mac address davinci_emac 1e20000.ethernet: using random MAC addr: 4e:d3:0a:89:29:cf input: gpio-keys as /devices/platform/gpio-keys/input/input0 hctosys: unable to open rtc device (rtc0) davinci_mdio 1e24000.mdio: resetting idled controller Micrel KSZ8041RNLI 1e24000.mdio:00: attached PHY driver [Micrel KSZ8041RNLI] (mii_bus:phy_addr=1e24000.mdio:00, irq=POLL) IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready davinci_emac 1e20000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready IP-Config: Complete: device=eth0, hwaddr=4e:d3:0a:89:29:cf, ipaddr=192.168.228.253, mask=255.255.255.0, gw=192.168.228.1 host=192.168.228.253, domain=, nis-domain=(none) bootserver=192.168.228.116, rootserver=192.168.228.116, rootpath= ALSA device list: No soundcards found. random: fast init done random: crng init done VFS: Unable to mount root fs via NFS, trying floppy. VFS: Cannot open root device "nfs" or unknown-block(2,0): error -6 Please append a correct "root=" boot option; here are the available partitions: 0100 32768 ram0 (driver?) Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0) ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0) ]---
  6. Сделал строку setenv bootargs console=ttyS2,115200n8 noinitrd rw rootwait ip=192.168.228.253:192.168.228.116:192.168.228.1:255.255.255.0::eth0: root=/dev/nfs nfsroot=192.168.228.116:/home/kirill/Projects/Lumex/InfraLum/NFS Вывод чуть поменялся, но глобальных изменений нет. После `random: fast init done` идет длительная пауза и вывд: console [netcon0] enabled netconsole: network logging started davinci_emac 1e20000.ethernet: incompatible machine/device type for reading mac address davinci_emac 1e20000.ethernet: using random MAC addr: 8a:ec:2f:58:ad:bf input: gpio-keys as /devices/platform/gpio-keys/input/input0 hctosys: unable to open rtc device (rtc0) davinci_mdio 1e24000.mdio: resetting idled controller Micrel KSZ8041RNLI 1e24000.mdio:00: attached PHY driver [Micrel KSZ8041RNLI] (mii_bus:phy_addr=1e24000.mdio:00, irq=POLL) IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready davinci_emac 1e20000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready IP-Config: Complete: device=eth0, hwaddr=8a:ec:2f:58:ad:bf, ipaddr=192.168.228.253, mask=255.255.255.0, gw=192.168.228.1 host=192.168.228.253, domain=, nis-domain=(none) bootserver=192.168.228.116, rootserver=192.168.228.116, rootpath= ALSA device list: No soundcards found. random: fast init done random: crng init done VFS: Unable to mount root fs via NFS, trying floppy. VFS: Cannot open root device "nfs" or unknown-block(2,0): error -6 Please append a correct "root=" boot option; here are the available partitions: 0100 32768 ram0 (driver?) Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0) ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0) ]---
  7. Добрый день. Подскажите, пожалуйста, по загрузке omap-l138 через nfs. На плате OMAP-L138 и KSZ8041RNLI-TR подключен через RMII. В U-Boot-е сеть работает нормально, неправильный pinconfig не подозреваю. Ядро собрал, вроде с нужными драйверами. В dts прописал &eth0 { pinctrl-names = "default"; /* pinctrl-0 = <&rmii_pins>; */ phy-mode = "rmii"; ti,davinci-rmii-en = <1>; status = "okay"; }; Собрал dtb из dts, сконкатенировал в один файл, собрал через mkimage с ключами -A arm -O linux -T kernel -C none -a 0xC0008000 -e 0xC0008000 -n "Linux kernel" -d ./zImage uImage Залил образ ядра через tftp, прописал загрузку setenv bootargs 'console=ttyS2,115200n8 noinitrd rw ip=192.168.228.253:192.168.228.116:192.168.228.1:255.255.255.0::eth0: root=/dev/nfs nfsroot=192.168.228.116:/home/kirill/Projects/Lumex/InfraLum/NFS' saveenv Проверил на машине работу nfs сервера - монтируется и работает. Пытаюсь загрузить и получаю на выходе davinci_emac 1e20000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready IP-Config: Complete: device=eth0, hwaddr=fe:ee:ca:e2:91:81, ipaddr=192.168.228.253, mask=255.255.255.0, gw=192.168.228.1 host=192.168.228.253, domain=, nis-domain=(none) bootserver=192.168.228.116, rootserver=192.168.228.116, rootpath= ALSA device list: No soundcards found. random: crng init done VFS: Unable to mount root fs via NFS, trying floppy. VFS: Cannot open root device "nfs" or unknown-block(2,0): error -6 Please append a correct "root=" boot option; here are the available partitions: 0100 32768 ram0 (driver?) Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0) ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0) ]--- Есть варианты куда еще копать?
  8. Спасибо. Еще немного волнует следующее: Файловая система автоматически развернется в памяти, независимо от типа архива (gzip, xz или lz4)? Можно ли ее развернуть непосредственно в NAND, чтобы по ftp или ssh передавать файлы или я должен формировать образ на хосте и каждый раз перезаливать его?
  9. Добрый день. Я тут пытаюсь завести плату с OMPA-L138 на борту. Она достаточно похожа на стандартный кит, но, в отличии от референса, на ней установлена NAND память. Я сконфигурировал U-BOOT, настроил AIS с соответствующим мультиплексированием пинов и кправлением питания перфирии. Далее, с помощью mono-утилит для заливки U_BOOT мне удалось залить AIS в NAND. mono sfh_OMAP-L138.exe -flashType NAND -targetType OMAPL138_LCDK -erase -p /dev/ttyUSB0 mono sfh_OMAP-L138.exe -flashType NAND -targetType OMAPL138_LCDK -flash_noubl il_uboot.ais -p /dev/ttyUSB0 После этого встал вопрос о загрузке Linux непосредственно. Правильно ли я понимаю, что при загрузке через TFTP стандартного ядка из поставки SDK надо сделать следующее: env default -f -a saveenv` setenv ipaddr 192.168.1.2 setenv serverip 192.168.1.1 tftp 0xc0700000 zImage-omapl138-lcdk.bin nand erase 200000 200000 nand write.e 0xc0700000 0x200000 0x200000 tftp 0xc1180000 arago-base-tisdk-image-omapl138-lcdk.tar.xz nand erase 0x400000 0x300000 nand write.e 0xc1180000 0x400000 0x300000 setenv bootcmd 'nand read.e 0xc1180000 0x400000 0x300000; nboot.e 0xc0700000 0 0x200000; bootm' setenv bootargs mem=32M console=ttyS2,115200n8 root=/dev/ram0 rw initrd=0xc1180000,4M ip=dhcp eth=${ipaddr} saveenv 1. Правильна ли эта последовательность? 2. Как правильно вычислить размер записаемого файла, переданного через TFTP с учетом постраничного выравнивания NAND? 3. U-BOOT расположен начиная с адреса 0хС1080000. Как аккуратнее избежать перекрытия адресов при загрузке через TFTP?
  10. На исполнении osSemaphoreRelease
  11. Понятно что так оставлять нельзя....
  12. CMSIS-RTOS. - Это STM-овская надстройка над FreeRTOS. Согласно CMSIS osStatus osSemaphoreRelease ( osSemaphoreId semaphore_id ) Parameters [in] semaphore_id semaphore object referenced with osSemaphoreCreate. Returns status code that indicates the execution status of the function. Release a Semaphore token. This increments the count of available semaphore tokens. Note Interrupt Service Routines can call this function. Что интересно - комментирование configASSERT помогло.
  13. Добрый день. У меня произошла неудачная попытка подружиться с CMSIS-RTOS. Что было сделано: Запустил Cube, указал использование cmsis-rtos v1, сделал инициализацию пинов и одного таймера. В программе 2 треда и один семафор. Проверил корректность переключения между задачами — работает. Запустил таймер и прерывание таймера, указав приоритет — работает. /* USER CODE BEGIN TIM3_Init 2 */ HAL_NVIC_SetPriority(TIM3_IRQn, (configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY + 1), 0); HAL_TIM_Base_Start_IT(&htim3); /* USER CODE END TIM3_Init 2 */ В таймере лампочки моргают. Но как только в обработчике прерывания появляется строчка //osSemaphoreRelease(myBinarySemHandle), (согласно документации эта функция имеет право вызываться из прерывания) все намертво встает. Вроде делаю все правильно. В чем может быть причина?
  14. Добрый день. У меня возникли некоторые сложности при использовании Code Composer Studio 8.1. Есть плата от Spectrum Digital. На ней стоит OMAPL137. По проекту нужно будет использовать только DSP часть. Если в настройках проекта поставить EVM6747 - Gel файл грузится, правда не тот что хотелось, но хоть что-то. Попытка выставить в натроойках Device - TMS320C6747 и прописать в Debug Configuration ->Initialization script тот-же gel (evmc6747_dsp.gel) - не грузится и ругается на памать (что не удивительно). Похоже, что та же ситуация с линкером. В опциях проекта прописывается линкеровский cmd, п при полной пересброрке он автоматом генерит новый и пытается подключить оба.
  15. От лишнего клока вначале? Естественно. Вместо команды на чтение идет неизвестно что. M25P80.