изян 0 30 мая, 2011 Опубликовано 30 мая, 2011 · Жалоба (Прошу прощения, если запостил не в тот раздел, но проблема не узконаправленная) Есть evaluation board на однокристаллке micrel KSZ9692PB. В его nand уже прошит u-boot и рам-диск с ядром и файловой системой. Сам по себе u-boot работает и по дефолту загружает уже прошитый туда линукс. С этим всё ок. Однако, я решил сам взять предлагаемый micrel-ом линукс (можно скачать и линукс и весь инструментарий на сайте производителя) и научиться его компилить (никогда не делал этого) и загружать в память по tftp u-boot-ом и запускать. Казалось бы всё просто: майкрел предоставляет ядро уже с патчами, мейкфайл с готовым конфигом под его eval-board. Я компилю ядро, оно компилится успешно (в конце пишет Load Address 0x8000 — вот тут может беда), я беру получившийся zImage и с помощью mkimage делаю uImage, но уже указываю адреса 0x800000 в место 0x8000 (производитель рекомендует загружать с 0х800000, не знаю почему) Аргументы mkimage выглядят у меня так: — A arm — O linux -T kernel -C none -a 0x800000 -e 0x800000 -n 'linux-2.6-atatat-edition' -d zImage uImage Файловая система у меня отдельно на USB флэшечке, но до неё дело не доходит )) всё умирает гораздо раньше =\. После этого получившийся образ засасываю через tftp u-bootom, коммандой tftp 0x800000 uImage, устанавливаю параметры консоли (setenv bootargs 'console=ttyAM0,115200 root=/dev/sda1') ... и радостно пытаюсь сделать bootm 0x800000 На что u-boot мне сообщает: ## Booting image at 00800000 ... Image Name: linux-2.6-atatat-edition Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 4610920 Bytes = 4.4 MB Load Address: 00800000 Entry Point: 00800000 Verifying Checksum ... OK XIP Kernel Image ... OK Starting kernel ... data abort pc : [<0080000c>] lr : [<00f1abf0>]sp : 00ecfaf4 ip : 00f5cc00 fp : 00000002 r10 : 00000000 r9 : 00f5cc00 r8 : 00ecffdc r7 : 00000000 r6 : 00000000 r5 : 00000000 r4 : 00000000 r3 : 00800000 r2 : 00000100 r1 : 0000016b r0 : 00000160 Flags: nZCv IRQs off FIQs off Mode SVC_32 Resetting CPU... и всё, ребут. соответственно я в полном замешательстве т.к. знания линукса и АРМа у меня посредственные — ещё только начал изучать. В чём может быть проблема? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dron_Gus 2 30 мая, 2011 Опубликовано 30 мая, 2011 · Жалоба addr2line -e vmlinux 0x00f1abf0 поможет узнать, где упало. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
igorsk 0 1 июня, 2011 Опубликовано 1 июня, 2011 · Жалоба А память точно есть по этому адресу? data abort это обычно ошибка чтения или записи. Попробуй прочитать память после загрузки uImage, проверь, сходится ли с файлом. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться