Ник:
Пароль:

Контакты

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

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

Ник:
Пароль:

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

ОбновитьПодробнееВсегоВсего:4
Форум » starterkit.ru » Embedded Linux
Помогите разобраться
ADA007
Добавлено 29.10.2011 23:39 Редактировалось 30.10.2011 00:03
0
Сообщение: 1
ADA007
0

Пункты: 3113
Регистрация: 01.08.2011
Пол: Мужчина
Плата на imx233 собранная по схеме с starterkit.
Загружаюсь по SD/MMC2.
При загрузке imx233_linux.sb с SD карты, взятого из mfg (понятно, что там под ssp1 заточено, но все же для эксперимента взял) вываливается такой вот лог
Код

Dec 27 200905:58:35
EMI_CTRL 0x1C084040
FRAC 0x92926192
init_ddr_mt46v32m16_133Mhz
power 0x00820710
Frac 0x92926192
start change cpu freq
hbus 0x00000003
cpu 0x00010001
Uncompressing Linux...

На этом застряет....
Берем файл из того же mfg firmware.sb ... заливаем на SD. Получаем такой вот лог.
Код

HTLLCAug 21 200914:45:42
poweron_pll
EMI_CTRL 0x1C084040
FRAC 0x92926192
init_clock
init_ddr_mt46v32m16_133Mhz
exit self refresh timeout
power 0x00310710
Frac 0x92926192
start change cpu freq
hbus 0x00000003
cpu 0x00010001
LLLLLLLFCLFLJUncompressing Linux................................................................ done.
Linux version 2.6.28-403-ga9d5505-updater-00009-ge5a3d59-dirty (b20596@shlinux) (gcc version 4.1.2) #9
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
CPU: VIVT data cache, VIVT instruction cache
Machine: STMP378X
Memory policy: ECC disabled, Data cache writeback
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16256
Kernel command line: console=ttyAM0,115200 rdinit=/linuxrc rw lcd_panel=lms430
PID hash table entries: 256 (order: 8, 1024 bytes)
console [ttyAM0] enabled
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 64MB = 64MB total
Memory: 58672KB available (1784K code, 233K data, 80K init)
Calibrating delay loop... 195.78 BogoMIPS (lpj=978944)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
regulator: core version 0.5
regulator: vddd: 800 <--> 1575 mV fast normal
regulator: vddd_bo: 800 <--> 1575 mV fast normal
regulator: vdda: 1500 <--> 2275 mV fast normal
regulator: vddio: 2800 <--> 3575 mV fast normal
regulator: overall_current: 0 <--> 2147483 mA fast normal
regulator: stmp3xxx-keyboard-1: 0 <--> 2147483 mA fast normal
regulator: stmp3xxx_ts-1: 0 <--> 2147483 mA fast normal
regulator: stmp37xx-appuart-1: 0 <--> 2147483 mA fast normal
regulator: stmp37xx-dbguart-1: 0 <--> 2147483 mA fast normal
regulator: stmp3xxx_wdt-1: 0 <--> 2147483 mA fast normal
regulator: stmp3xxx-rtc-1: 0 <--> 2147483 mA fast normal
regulator: stmp3xxx-fb-1: 0 <--> 2147483 mA fast normal
regulator: stmp3xxx-bl-1: 0 <--> 2147483 mA fast normal
regulator: stmp3xxx-rotdec-1: 0 <--> 2147483 mA fast normal
regulator: i2c_stmp-1: 0 <--> 2147483 mA fast normal
regulator: stmp3xxx-persistent-1: 0 <--> 2147483 mA fast normal
regulator: stmp3xxx-dcpboot-1: 0 <--> 2147483 mA fast normal
regulator: stmp3xxx-dcp-1: 0 <--> 2147483 mA fast normal
regulator: stmp3xxx-mtest-1: 0 <--> 2147483 mA fast normal
regulator: stmp3xxx-battery-1: 0 <--> 2147483 mA fast normal
regulator: stmp3xxx-pxp-1: 0 <--> 2147483 mA fast normal
regulator: mmc_ssp-1: 0 <--> 2147483 mA fast normal
regulator: mmc_ssp-2: 0 <--> 2147483 mA fast normal
regulator: charger-1: 0 <--> 2147483 mA fast normal
regulator: power-test-1: 0 <--> 2147483 mA fast normal
regulator: cpufreq-1: 0 <--> 2147483 mA fast normal
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
Unpacking initramfs... done
Freeing initrd memory: 4096K
JFFS2 version 2.2. (NAND) (SUMMARY) &#65533;© 2001-2006 Red Hat, Inc.
msgmni has been set to 122
io scheduler noop registered
io scheduler cfq registered (default)
stmp37xx-dbguart.0: ttyAM0 at MMIO 0xf0070000 (irq = 0) is a Debug UART
__stmp3xxx_reset_block(f000a000): timeout when resetting
__stmp3xxx_reset_block(f000a000): timeout when resetting
__stmp3xxx_reset_block(f000a000): timeout when resetting
__stmp3xxx_reset_block(f000a000): timeout when resetting
__stmp3xxx_reset_block(f000a000): timeout when resetting
__stmp3xxx_reset_block(f000a000): timeout when resetting
__stmp3xxx_reset_block(f000a000): timeout when resetting
__stmp3xxx_reset_block(f000a000): timeout when resetting
__stmp3xxx_reset_block(f000a000): timeout when resetting
__stmp3xxx_reset_block(f000a000): timeout when resetting
ecc8_init: initialized
No NAND device found!!!
gpmi gpmi: No NAND found
__stmp3xxx_reset_block(f0010000): timeout when resetting
__stmp3xxx_reset_block(f0010000): timeout when resetting
__stmp3xxx_reset_block(f0010000): timeout when resetting
Freeing init memory: 80K
Starting UTP
uuc 0.1 [built Aug 21 2009 14:45:45]
UTP: executing "modprobe g_file_storage"
modprobe: cannot parse modules.dep
UTP: Waiting for device to appear
.mmc0: error -22 whilst initialising SDIO card
......................................................


Отсюда вопрос...Почему образ с initramfs у меня распаковывается...т.е. Uncompressing Linux... проходит, а вот без него не проходит (ну это мое предположение, что причина в initramfs)? Как Вы думаете, в чем причина? Кстати так же не проходит Uncompressing в 2.6.31 которое я хочу чтоб с SD загрузилось.
И вообще не могу понять как у них получился firmvare.sb аж 3.2 Мб ... я сколько не собирал у меня больше 1.2Мб не выходит...это вообще что за опцию они использовали?
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 30.10.2011 01:41 Сообщение: 2
sasamy
4.70

Пункты: 76902
Регистрация: 14.08.2009
Цитата

Как Вы думаете, в чем причина?


Думаю в том что firmware.sb стартует с пониженной частотой процессора

Цитата

Calibrating delay loop... 195.78 BogoMIPS (lpj=978944)


означает что после перенастройки частота ядра ~400 МГц. Возможно и ddr на пониженной частоте работает.

Цитата

И вообще не могу понять как у них получился firmvare.sb аж 3.2 Мб


очевидно это ядро + образ initramfs в одном бинарнике, делается элементаоно - в конфиге ядра указывается путь к корневой ФС.
Спуститься к концу Подняться к началу
Персональная информация
ADA007
Добавлено 30.10.2011 01:44 Сообщение: 3
ADA007
0

Пункты: 3113
Регистрация: 01.08.2011
Пол: Мужчина
Цитата


Думаю в том что firmware.sb стартует с пониженной частотой процессора



И как это можно сделать? в настроойках ltib-a? или в bootlets придется лезть?
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 30.10.2011 02:00 Редактировалось 30.10.2011 02:03 Сообщение: 4
sasamy
4.70

Пункты: 76902
Регистрация: 14.08.2009
В imx-bootlets. см imx-bootlets-src-10.12.01/boot_prep/init-mx23.c ф-ия change_cpu_freq(), а также раздел руководства
2.3.1 Recommended Operating Conditions for Specific Clock Targets

Частота DDR одинаковая - видно из лога init_ddr_mt46v32m16_133Mhz так что нет смысла наверно ее дергать.
Спуститься к концу Подняться к началу
Персональная информация
ADA007
Добавлено 30.10.2011 02:04 Сообщение: 5
ADA007
0

Пункты: 3113
Регистрация: 01.08.2011
Пол: Мужчина
Цитата


очевидно это ядро + образ initramfs в одном бинарнике, делается элементаоно - в конфиге ядра указывается путь к корневой ФС.


Да в конфиге надо указать путь к initramfs.cpio.gz как я понял. А какая опция в ltib позволяет его делать.....или это только когда собираешь под debug mode?
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 30.10.2011 02:09 Сообщение: 6
sasamy
4.70

Пункты: 76902
Регистрация: 14.08.2009
Цитата

А какая опция в ltib


Помоему там просто указываешь что нужно сгенерировать образ для mfg или firmware написано - не помню, ltib не пользуюсь - мне проще все вручную сделать а корневую в buildroot собрать.
Спуститься к концу Подняться к началу
Персональная информация
ADA007
Добавлено 30.10.2011 02:18 Сообщение: 7
ADA007
0

Пункты: 3113
Регистрация: 01.08.2011
Пол: Мужчина
Еще один каверзный вопрос...
Можно ли разобрать обратно firmware.sb на boot.prep linux.prep и т.д. .... ну чтоб можно было свой zImage прицепить и убедиться, что система не грузится именно из-за того, что надо частоту спускать или там шаманить уже с bootlets именно...?
Спасибо.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 30.10.2011 02:21 Сообщение: 8
sasamy
4.70

Пункты: 76902
Регистрация: 14.08.2009
Цитата

Можно ли разобрать обратно firmware.sb на boot.prep linux.prep и т.д


Зачем такой изврат когда все исходники на руках ? Обратите еще внимание на это
Не стартует
power 0x00820710
Стартует
power 0x00310710
Спуститься к концу Подняться к началу
Персональная информация
ADA007
Добавлено 30.10.2011 05:17 Сообщение: 9
ADA007
0

Пункты: 3113
Регистрация: 01.08.2011
Пол: Мужчина
power_prep отредактировал
Теперь
Код

HTLHTLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
LLLLLLLLLLLLLLLLLLLLLFC
PowerPrep start initialize power...
Battery Voltage = 0.84V
No battery or bad battery detected!!!.Disa
bling battery voltage measurements./r/nLLCOct
30 201104:03:49
EMI_CTRL 0x1C084040
FRAC 0x92926192
init_ddr_mt46v32m16_133Mhz
power 0x00310710
Frac 0x92926192
start change cpu freq
hbus 0x00000003
cpu 0x00010001
LLLLLLLFCLJUncompressing Linux..................................................
................................................................................
.......................................... done, booting the kernel.

Яро распаковалось....а грузится дальше не хочет.....куда теперь копать?
Спуститься к концу Подняться к началу
Персональная информация
ADA007
Добавлено 30.10.2011 18:50 Редактировалось 30.10.2011 20:07 Сообщение: 10
ADA007
0

Пункты: 3113
Регистрация: 01.08.2011
Пол: Мужчина
Вот читаю форум....у Павла было то же что и у меня
http://starterkit.ru/html/index.php?name=forum&op=view&id=5682&num=10
Но как-то не ясно как он решил эту проблему....вроде частоту cpu_freq снизил и в linux_prep что-то подправил, но что именно не понятно пока...
Я в void change_cpu_freq() поправил частоту проца
Код

int value = 0;
printf("power 0x%x\r\n" , HW_POWER_VDDDCTRL_RD());


value = HW_POWER_VDDDCTRL_RD();
value &= ~BM_POWER_VDDDCTRL_TRG;
>>value |= BF_POWER_VDDDCTRL_TRG(27); /*change to 1.475v*/<<
HW_POWER_VDDDCTRL_WR(value);

delay(10000);

printf("Frac 0x%x\r\n", HW_CLKCTRL_FRAC_RD());

value = HW_CLKCTRL_FRAC_RD();
value &= ~BM_CLKCTRL_FRAC_CPUFRAC;;
>>value |= BF_CLKCTRL_FRAC_CPUFRAC(22); /*Change cpu to 392.73Mhz*/<<
value &= ~BM_CLKCTRL_FRAC_CLKGATECPU;

HW_CLKCTRL_FRAC_WR(value);

Пока результата нет...может не все поправил, что надо для уменьшения частоты
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux