Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru
Партнеры:
otladka.com.ua - г.Киев

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:1
Поисковых ботовПоисковых ботов:2
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:4
Форум » starterkit.ru » Embedded Linux
Использование MMC краты
Киселев Андрей
Добавлено 07.06.2010 12:07
0
Сообщение: 1
Киселев Андрей
0

Регистрация: 01.06.2010
Здравствуйте!
Обязательно ли для запуска своего приложения на плате прошивать его в rootfs или можно просто скопировать это приложение на MMC карту?
Спуститься к концу Подняться к началу
Персональная информация
Alfamayonez
Добавлено 07.06.2010 12:30 Сообщение: 2
Alfamayonez
3.42

Пункты: 3702
Регистрация: 04.10.2009
Пол: Мужчина
можно скопировать на mmc карту.
Спуститься к концу Подняться к началу
Персональная информация
Киселев Андрей
Добавлено 07.06.2010 12:34 Сообщение: 3
Киселев Андрей
0

Регистрация: 01.06.2010
Хорошо, спасибо. И ещё один вопрос...
Можно ли не пересобирая ядра линукса загрузиться с файловой системы, котороя располагается на MMC карте?
Спуститься к концу Подняться к началу
Персональная информация
Alfamayonez
Добавлено 07.06.2010 12:57 Редактировалось 07.06.2010 13:07 Сообщение: 4
Alfamayonez
3.42

Пункты: 3702
Регистрация: 04.10.2009
Пол: Мужчина
Тут на форуме где-то обсуждалось, вроде да, можно как-то передать cmdline.
http://starterkit.ru/html/index.php?name=forum&op=view&id=4422&num=2
Вот тут
U-Boot> printenv
ethaddr=3a:1f:34:08:54:54
bootdelay=3
baudrate=115200
ethact=macb0
bootargs=console=ttyS0 rootfstype=jffs2 root=/dev/mtdblock1
bootcmd=nboot 0x22200000 0x0 0x40000;bootm 0x22200000
stdin=serial
stdout=serial
stderr=serial
--
bootargs используется, в u-boot.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 07.06.2010 13:12 Редактировалось 07.06.2010 13:15 Сообщение: 5
sasamy
4.70

Пункты: 78606
Регистрация: 14.08.2009
Цитата
Можно ли не пересобирая ядра линукса загрузиться с файловой системы, котороя располагается на MMC карте?


Можно - для этого нужно поменять в u-boot переменную окружения bootargs, это можно сделать остановив загрузку нажатием любой клавиши и в появившемся командной оболочке сделать все изменения в том числе сохранение этой переменной в data/nand flash (подробней либо поиск по форуму либо help в командной оболочке u-boot - ключевые слова printenv, setenv etc.)
Спуститься к концу Подняться к началу
Персональная информация
Киселев Андрей
Добавлено 07.06.2010 13:36 Сообщение: 6
Киселев Андрей
0

Регистрация: 01.06.2010
Спасибо, буду пробовать...
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 07.06.2010 13:50 Сообщение: 7
sasamy
4.70

Пункты: 78606
Регистрация: 14.08.2009
Совсем забыл - без пересборки не получится потому что в оригинале ядро собрано с динамическим модулем mmc, поэтому все же просто так не выйдет - нужно собирать статически. Тема была на форуме обсуждена много раз так что ищите инструкции.
Спуститься к концу Подняться к началу
Персональная информация
Pavel Ivanchenko
Добавлено 07.06.2010 14:07 Сообщение: 8
Pavel Ivanchenko
Admin
4.39

Пункты: 91957
Регистрация: 24.03.2009
Пол: Мужчина
В текущих версиях сборки ядра, драйвер SD/MMC уже интегрирован в ядро.
Спуститься к концу Подняться к началу
Персональная информация
Киселев Андрей
Добавлено 15.07.2010 11:52 Сообщение: 9
Киселев Андрей
0

Регистрация: 01.06.2010
Собрал ядро с командной строкой root=/dev/mmcblk0p1 console=ttyS0,115200 rw rootwait mem=32M. Загружаю его через tftp. При загрузке меняю переменную bootargs. Записываю в неё точно тоже самое, что и в командной строке ядра. В плате стоит MMC карта. На ней находится файловая система. С этой карты ядру не получается загружать файловую систему. Вот что пишет:

Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
Memory: 32MB = 32MB total
Memory: 27120KB available (2724K code, 230K data, 2364K init)
Calibrating delay loop... 99.73 BogoMIPS (lpj=498688)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
net_namespace: 288 bytes
NET: Registered protocol family 16
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 1024 (order: 1, 8192 bytes)
TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
TCP: Hash tables configured (established 1024 bind 1024)
TCP reno registered
NET: Registered protocol family 1
NetWinder Floating Point Emulator V0.97 (double precision)
JFFS2 version 2.2. (NAND) (SUMMARY) б╘ 2001-2006 Red Hat, Inc.
msgmni has been set to 52
io scheduler noop registered (default)
Console: switching to colour frame buffer device 60x34
fb0: Hecuba frame buffer device, using 510K of video memory
atmel_usart.0: ttyS0 at MMIO 0xfefff200 (irq = 1) is a ATMEL_SERIAL
atmel_usart.1: ttyS1 at MMIO 0xfffb0000 (irq = 6) is a ATMEL_SERIAL
R<6>R<6>atmel_usart.2: ttyS2 at MMIO 0xfffb4000 (irq = 7) is a ATMEL_SERIAL
R<6>R<6>brd: module loaded
R<6>loop: module loaded
R<6>ssc ssc.0: Atmel SSC device at 0xc28f8000 (irq 14)
R<6>MACB_mii_bus: probed
R<6>eth0: Atmel MACB at 0xfffc4000 irq 21 (00:1f:f2:00:00:00)
R<6>R<6>eth0: attached PHY driver [Generic PHY] (mii_bus:phy_addr=ffffffff:01, irq=-1)
R<6>R<4>Driver 'sd' needs updating - please use bus_type methods
R<6>R<5>usbmon: debugfs is not available
R<6>ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
R<6>at91_ohci at91_ohci: AT91 OHCI
R<6>at91_ohci at91_ohci: new USB bus registered, assigned bus number 1
R<6>R<6>at91_ohci at91_ohci: irq 20, io mem 0x00500000
R<6>usb usb1: configuration #1 chosen from 1 choice
R<6>hub 1-0:1.0: USB hub found
R<6>hub 1-0:1.0: 2 ports detected
R<6>Initializing USB Mass Storage driver...
R<6>usbcore: registered new interface driver usb-storage
R<6>USB Mass Storage support registered.
R<6>udc: at91_udc version 3 May 2006
R<6>mice: PS/2 mouse device common for all mice
R<6>input: HP Jornada touchscreen as /class/input/input0
R<6>i2c /dev entries driver
R<7>mmc0: clock 0Hz busmode 1 powermode 0 cs 0 Vdd 0 width 0 timing 0
R<6>R<7>MMC: Setting controller bus width to 1
R<7>Added MCI driver
R<7>mmc0: clock 0Hz busmode 1 powermode 1 cs 0 Vdd 21 width 0 timing 0
R<6>R<7>MMC: Setting controller bus width to 1
R<7>mmc0: clock 375000Hz busmode 1 powermode 2 cs 0 Vdd 21 width 0 timing 0
R<6>R<7>clkdiv = 133. mcck = 373134
R<7>MMC: Setting controller bus width to 1
R<7>mmc0: clock 375000Hz busmode 1 powermode 2 cs 1 Vdd 21 width 0 timing 0
R<6>R<7>clkdiv = 133. mcck = 373134
R<7>MMC: Setting controller bus width to 1
R<7>mmc0: starting CMD0 arg 00000000 flags 000000c0
R<7>Sending command 0 as 00000800, arg = 00000000, blocks = 0, length = 0 (MR = 00009B85)
R<6>R<7>MCI irq: status = 0000C0E5, C07F0001, 00000001
R<7>mmc0: clock 375000Hz busmode 1 powermode 2 cs 0 Vdd 21 width 0 timing 0
R<6>R<7>clkdiv = 133. mcck = 373134
R<7>MMC: Setting controller bus width to 1
R<7>mmc0: starting CMD8 arg 000001aa flags 000002f5
R<7>Sending command 8 as 00001848, arg = 000001AA, blocks = 0, length = 0 (MR = 00009B85)
R<6>R<7>MCI irq: status = 0010C0E4, C07F0001, 00100000
R<7>mmc0: starting CMD5 arg 00000000 flags 000002e1
R<7>Sending command 5 as 00001845, arg = 00000000, blocks = 0, length = 0 (MR = 00009B85)
R<6>R<7>MCI irq: status = 0010C0E4, C07F0001, 00100000
R<7>MCI irq: status = 0010C0E5, C07F0001, 00100001
R<7>MCI irq: status = 0010C0E5, C07F0001, 00100001
R<7>mmc0: starting CMD55 arg 00000000 flags 000000f5
R<7>Sending command 55 as 00001877, arg = 00000000, blocks = 0, length = 0 (MR = 00009B85)
R<6>R<7>MCI irq: status = 0010C0E4, C07F0001, 00100000
R<7>mmc0: starting CMD55 arg 00000000 flags 000000f5
R<7>Sending command 55 as 00001877, arg = 00000000, blocks = 0, length = 0 (MR = 00009B85)
R<6>R<7>MCI irq: status = 0010C0E4, C07F0001, 00100000
R<7>mmc0: starting CMD55 arg 00000000 flags 000000f5
R<7>Sending command 55 as 00001877, arg = 00000000, blocks = 0, length = 0 (MR = 00009B85)
R<6>R<7>MCI irq: status = 0010C0E4, C07F0001, 00100000
R<7>mmc0: starting CMD55 arg 00000000 flags 000000f5
R<7>Sending command 55 as 00001877, arg = 00000000, blocks = 0, length = 0 (MR = 00009B85)
R<6>R<3>at91_mci at91_mci: Timeout waiting end of packet
R<7>mmc0: req done (CMD55): -110: 00000000 00000000 00000000 00000000
R<6>R<7>mmc0: starting CMD1 arg 00000000 flags 000000e1
R<7>MCI irq: status = 0010C0E5, C07F0001, 00100001
R<7>MMC: Response timeout
R<7>Completed command
R<7>Status = 00100001/0010c0e5 [00000000 00000000 00000000 00000000]
R<6>R<7>Error detected and set to -110/-1043200000 (cmd = -1043199852, retries = 0)
R<6>R<7>mmc0: req done (CMD4294967186): 0: c1c3be80 c1c3beb4 c1c3beec c1d20800
R<6>RInternal error: Oops - undefined instruction: 0 [#1]
RModules linked in:
RCPU: 0 Not tainted (2.6.28 #10)
RPC is at 0xc1c3be7c
RLR is at mmc_request_done+0xe0/0x158
Rpc : [<c1c3be7c>] lr : [<c03de844>] psr: a0000013
sp : c1c3bbf0 ip : c1c3bb20 fp : c1c3bc1c
R<6>Rr10: c0521200 r9 : 00100000 r8 : c1d209c0
Rr7 : 00100001 r6 : c1c3be24 r5 : c1d20894 r4 : c1c3be7c
Rr3 : c1c3be40 r2 : 00000000 r1 : 00000004 r0 : c1c3be24
RFlags: NzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel
R<6>RControl: 0005317f Table: 21764000 DAC: 00000017
RProcess kmmcd (pid: 92, stack limit = 0xc1c3a268)
RStack: (0xc1c3bbf0 to 0xc1c3c000)
Rbbe0: c1c3be80 c1c3beb4 <6>Rc1c3beec c1d20800
Rbc00: c1c3bc24 c1d209c0 c1c3be5c c1c3be80 c1c3bc34 c1c3bc20 <6>Rc03e59a0 c03de774
Rbc20: c03e6004 00000000 c1c3bc74 c1c3bc38 c03e5f2c c03e5950 <6>R00000000 00000000
Rbc40: 00000000 c1c579e0 c1c3bc74 c1750a40 00000000 00000009 <6>R00000000 c1c3a000
Rbc60: 0000000a c0521200 c1c3bc94 c1c3bc78 c0293428 c03e5e04 <6>Rc0508048 00000009
Rbc80: c1c3bd80 c051ce23 c1c3bcac c1c3bc98 c02950e8 c02933f4 <6>R00000009 c052df74
Rbca0: c1c3bccc c1c3bcb0 c025705c c0295080 c051c104 ffffffff <6>Rfefff000 00000009
Rbcc0: c1c3bd4c c1c3bcd0 c0257a54 c0257010 00000001 c1c3a000 <6>R20000013 00000000
Rbce0: 00000082 c052df74 00000000 c051ce23 c1c3a000 0000000a <6>Rc0521200 c1c3bd4c
Rbd00: 00000100 c1c3bd18 c0274738 c0274398 20000013 ffffffff <6>Rc1c3bd44 c0507e68
Rbd20: 00000001 00000001 c052df74 00000000 c051ce23 c1c3be7c <6>Rc0506198 00000033
Rbd40: c1c3bd5c c1c3bd50 c0274738 c0274364 c1c3bd7c c1c3bd60 <6>Rc025706c c0274704
Rbd60: 00009b85 ffffffff fefff000 00000001 c1c3be3c c1c3bd80 <6>Rc0257a54 c0257010
Rbd80: c05061d4 00000004 40000013 c05061b4 c051cd38 00000000 <6>Rc04e28a4 c051ce23
Rbda0: c1c3be7c c0506198 00000033 c1c3be3c c1c3bd98 c1c3bdc8 <6>Rc026fb40 c027007c
Rbdc0: 60000013 ffffffff 00000004 40000013 c03de66c c046d550 <6>R000000f5 c046d56c
Rbde0: 00001845 00000000 00000000 00000000 c1c3bdf0 c1c3bdf0 <6>Rc1c3be24 c1c3be5c
Rbe00: c1d20800 00000000 c1c3bea4 00000003 c1c3be54 c1d20894 <6>Rc1c3beb4 00000000
Rbe20: c1d20800 c1c3be7c 00000000 00000000 c1c3be54 c1c3be40 <6>Rc02701c0 c026fe9c
Rbe40: c1d20800 c1c3be5c c1c3beac c1c3be68 c03de504 c02701ac <6>Rc04e28a4 c1d20894
Rbe60: 00000001 00000000 00000000 00000000 00000000 000000f5 <6>R00000000 ffffff92
Rbe80: c1c3be80 c1c3be80 c1c3beb4 c1c3beec c1d20800 00000000 <6>Rc1c3bf5c 00000000
Rbea0: c1c3bee4 c1c3beb0 c03de72c c03de4b8 00000000 c1c3beec <6>R00000000 00000000
Rbec0: c1c3be7c c03de74c 00000064 c1d20800 00000000 c1c3beec <6>Rc1c3bf3c c1c3bee8
Rbee0: c03e0730 c03de6dc c1c3bf3c 00000001 00000000 00000000 <6>R00000000 00000000
Rbf00: 00000000 000000e1 00000000 00000000 00000000 00000000 <6>R00000000 c1c3bf5c
Rbf20: c1d20894 c1d20960 c1d20800 00000000 c1c3bf84 c1c3bf40 <6>Rc03dee18 c03e06b8
Rbf40: 00000002 00000000 00000015 00000000 00000000 c1c3bf60 <6>Rc0287e30 00000000
Rbf60: 00000000 c1ca4be0 c03deb5c c1c3a000 00000000 00000000 <6>Rc1c3bfa4 c1c3bf88
Rbf80: c027fbdc c03deb6c 00000000 c1ca4be0 c1ca4be8 c1c3bfac <6>Rc1c3bfdc c1c3bfa8
Rbfa0: c02807a0 c027fb00 c046d718 00000000 c1c579e0 c0283e30 <6>Rc1c3bfb8 c1c3bfb8
Rbfc0: 00000000 c1ca4be0 c0280728 00000000 c1c3bff4 c1c3bfe0 <6>Rc0283900 c0280738
Rbfe0: 00000000 00000000 00000000 c1c3bff8 c0272040 c02838c0 <6>R00000000 00000000
RBacktrace:
R[<c03de764>] (mmc_request_done+0x0/0x158) from [<c03e59a0>] <6>R(at91_mci_process_next+0x60/0x7c)
R r6:c1c3be80 r5:c1c3be5c r4:c1d209c0
R[<c03e5940>] (at91_mci_process_next+0x0/0x7c) from [<c03e5f2c>] <6>R(at91_mci_irq+0x138/0x6cc)
R r4:00000000
R[<c03e5df4>] (at91_mci_irq+0x0/0x6cc) from [<c0293428>] (handle_IRQ_event+0x44/0x84)
R<6>R[<c02933e4>] (handle_IRQ_event+0x0/0x84) from [<c02950e8>] <6>R(handle_level_irq+0x78/0xf8)
R r7:c051ce23 r6:c1c3bd80 r5:00000009 r4:c0508048
R[<c0295070>] (handle_level_irq+0x0/0xf8) from [<c025705c>] (asm_do_IRQ+0x5c/0xa8)
R<6>R r5:c052df74 r4:00000009
R[<c0257000>] (asm_do_IRQ+0x0/0xa8) from [<c0257a54>] (__irq_svc+0x34/0x60)
R<6>RException stack(0xc1c3bcd0 to 0xc1c3bd18)
Rbcc0: 00000001 c1c3a000 <6>R20000013 00000000
Rbce0: 00000082 c052df74 00000000 c051ce23 c1c3a000 0000000a <6>Rc0521200 c1c3bd4c
Rbd00: 00000100 c1c3bd18 c0274738 c0274398 20000013 ffffffff <6>R
R r6:00000009 r5:fefff000 r4:ffffffff
R[<c0274354>] (__do_softirq+0x0/0x114) from [<c0274738>] (irq_exit+0x44/0x4c)
R<6>R[<c02746f4>] (irq_exit+0x0/0x4c) from [<c025706c>] (asm_do_IRQ+0x6c/0xa8)
R<6>R[<c0257000>] (asm_do_IRQ+0x0/0xa8) from [<c0257a54>] (__irq_svc+0x34/0x60)
R<6>RException stack(0xc1c3bd80 to 0xc1c3bdc8)
Rbd80: c05061d4 00000004 40000013 c05061b4 c051cd38 00000000 <6>Rc04e28a4 c051ce23
Rbda0: c1c3be7c c0506198 00000033 c1c3be3c c1c3bd98 c1c3bdc8 <6>Rc026fb40 c027007c
Rbdc0: 60000013 ffffffff <6>R
R r6:00000001 r5:fefff000 r4:ffffffff
R[<c026fe8c>] (vprintk+0x0/0x30c) from [<c02701c0>] (printk+0x28/0x30)
R<6>R[<c0270198>] (printk+0x0/0x30) from [<c03de504>] (mmc_wait_for_req+0x5c/0x224)
R<6>R r3:00000000 r2:00000001 r1:c1d20894 r0:c04e28a4
R[<c03de4a8>] (mmc_wait_for_req+0x0/0x224) from [<c03de72c>] <6>R(mmc_wait_for_cmd+0x60/0x80)
R[<c03de6cc>] (mmc_wait_for_cmd+0x0/0x80) from [<c03e0730>] (mmc_send_op_cond+0x88/0xe8)
R<6>R r7:c1c3beec r6:00000000 r5:c1d20800 r4:00000064
R[<c03e06a8>] (mmc_send_op_cond+0x0/0xe8) from [<c03dee18>] (mmc_rescan+0x2bc/0x310)
R<6>R r8:00000000 r7:c1d20800 r6:c1d20960 r5:c1d20894 r4:c1c3bf5c<6>R
R[<c03deb5c>] (mmc_rescan+0x0/0x310) from [<c027fbdc>] (run_workqueue+0xec/0x19c)
R<6>R r8:00000000 r7:00000000 r6:c1c3a000 r5:c03deb5c r4:c1ca4be0<6>R
R[<c027faf0>] (run_workqueue+0x0/0x19c) from [<c02807a0>] (worker_thread+0x78/0xd0)
R<6>R r6:c1c3bfac r5:c1ca4be8 r4:c1ca4be0
R[<c0280728>] (worker_thread+0x0/0xd0) from [<c0283900>] (kthread+0x50/0x7c)
R<6>R r6:00000000 r5:c0280728 r4:c1ca4be0
R[<c02838b0>] (kthread+0x0/0x7c) from [<c0272040>] (do_exit+0x0/0x790)
R<6>R r5:00000000 r4:00000000
RCode: 00000000 00000000 000000f5 00000000 (ffffff92)
R<0>Kernel panic - not syncing: Fatal exception in interrupt

Подскажите, пожалуйста, в чём может быть ошибка?
Спуститься к концу Подняться к началу
Персональная информация
Pavel Ivanchenko
Добавлено 15.07.2010 12:51 Сообщение: 10
Pavel Ivanchenko
Admin
4.39

Пункты: 91957
Регистрация: 24.03.2009
Пол: Мужчина
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux