реклама на сайте
подробности

 
 
> Проблема с Linux на AT91RM9200, Unable to handle kernel paging request at virtual address
dmitry-rf
сообщение May 7 2008, 08:37
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 65
Регистрация: 15-01-08
Из: Санкт-Петербург
Пользователь №: 34 101



Есть устройство на базе модуля UTC920LXv1 (http://telemetry.ru/docs/UTC920LXv1.pdf).
Основные компоненты:
Процессор AT91RM9200CJ-002
Флэш AT49BV641670TU (8Мб)
ОЗУ MT48LC16M16A2 (2х32Мб)
Система - свой Линукс на ядре 2.6.17, собран тулчейном от heavy.
После загрузки остаётся около 40 Мб свободной оперативы:
Код
# cat /proc/meminfo
MemTotal:        62136 kB
MemFree:         44296 kB
Buffers:          9752 kB
Cached:           3328 kB
SwapCached:          0 kB
Active:           4768 kB
Inactive:         9952 kB
HighTotal:           0 kB
HighFree:            0 kB
LowTotal:        62136 kB
LowFree:         44296 kB
SwapTotal:           0 kB
SwapFree:            0 kB
Dirty:               8 kB
Writeback:           0 kB
Mapped:           3260 kB
Slab:             1784 kB
CommitLimit:     31068 kB
Committed_AS:    10852 kB
PageTables:        256 kB
VmallocTotal:   956416 kB
VmallocUsed:      9688 kB
VmallocChunk:   946172 kB

Примерно половина оперативы выделена под рам-диск:
Код
# mount
rootfs on / type rootfs (rw)
/dev/root on / type ext2 (rw)
proc on /proc type proc (rw)
sys on /sys type sysfs (rw)
/dev/ram1 on /var/tmp type ext2 (rw)
/dev/loop0 on /mnt/settings type ext2 (rw)
# df -h /var/tmp/
Filesystem                Size      Used Available Use% Mounted on
/dev/ram1                30.3M    464.0k     28.2M   2% /var/tmp

После загрузки файла размером 4-8Мб в рам-диск система рушится:
Код
Unable to handle kernel paging request at virtual address ecefbeb4
pgd = c3a3c000
[ecefbeb4] *pgd=00000000
Internal error: Oops: 5 [#2]
Modules linked in:
CPU: 0
PC is at fget_light+0x58/0xcc
LR is at 0xecefbeb4
pc : [<c0072a90>]    lr : [<ecefbeb4>]    Not tainted
sp : c082bb74  ip : 00000000  fp : c082bb84
r10: 00000000  r9 : 00000004  r8 : c0e74660
r7 : 00000000  r6 : 00000002  r5 : 00000002  r4 : 00000004
r3 : 572c85fa  r2 : 00000000  r1 : c082bbcc  r0 : 00000002
Flags: nzCv  IRQs on  FIQs on  Mode SVC_32  Segment user
Control: C000317F  Table: 23A3C000  DAC: 00000015
Process inetd (pid: 783, stack limit = 0xc082a198)
Stack: (0xc082bb74 to 0xc082c000)
...

или
Код
Unable to handle kernel NULL pointer dereference at virtual address 00000000
pgd = c3518000
[00000000] *pgd=23491031, *pte=00000000, *ppte=00000000
Internal error: Oops: 17 [#1]
Modules linked in:
CPU: 0
PC is at dev_queue_xmit+0x68/0x224
LR is at ip_output+0x178/0x2dc
pc : [<c017998c>]    lr : [<c019866c>]    Not tainted
sp : c3493bf8  ip : c3493c14  fp : c3493c10
r10: 00000000  r9 : 00000000  r8 : c356eb10
r7 : c082a260  r6 : fffffff4  r5 : c356eae0  r4 : c0c4b000
r3 : 00000100  r2 : c3492000  r1 : 00000000  r0 : c356eae0
Flags: Nzcv  IRQs on  FIQs on  Mode SVC_32  Segment user
Control: C000317F  Table: 23518000  DAC: 00000015
Process httpd (pid: 886, stack limit = 0xc3492198)
...

Не понимаю, почему так происходит...

Вот кое-что интересное вылезло:
Код
u-boot> mtest
Testing 20000000 ... 23ede000:
Iteration:      1
FAILURE (read/write) @ 0x21edddac: expected 0x007b776c, actual 0xff848894)

Адрес 1edddac - это где-то 32 Мб.
Попробовал передать ядру mem=32M вместо mem=64M. Файл успешно загрузился, но распаковать его не удалось - посыпались сообщения:
Код
Out of Memory: Kill process 916 (dnsmasq) score 397 and children.
Out of memory: Killed process 916 (dnsmasq).
oom-killer: gfp_mask=0x200d2, order=0
[<c0028bfc>] (dump_stack+0x0/0x14) from [<c0059b68>] (out_of_memory+0x158/0x184)
[<c0059a10>] (out_of_memory+0x0/0x184) from [<c005acf8>] (__alloc_pages+0x290/0x2b4)
[<c005aa68>] (__alloc_pages+0x0/0x2b4) from [<c007eae8>] (pipe_writev+0x36c/0x440)
[<c007e77c>] (pipe_writev+0x0/0x440) from [<c007ebe0>] (pipe_write+0x24/0x2c)
[<c007ebbc>] (pipe_write+0x0/0x2c) from [<c0071914>] (vfs_write+0xb0/0x178)
[<c0071864>] (vfs_write+0x0/0x178) from [<c0071aa4>] (sys_write+0x4c/0x7c)
r8 = 00000000  r7 = 00000000  r6 = C0D2BF78  r5 = C14E3260
r4 = C14E3280
[<c0071a58>] (sys_write+0x0/0x7c) from [<c0023d40>] (ret_fast_syscall+0x0/0x2c)
r8 = C0023EE4  r7 = 00000004  r6 = 40213830  r5 = 40018000
r4 = 00001000
Mem-info:
DMA per-cpu:
cpu 0 hot: high 6, batch 1 used:5
cpu 0 cold: high 2, batch 1 used:0
DMA32 per-cpu: empty
Normal per-cpu: empty
HighMem per-cpu: empty
Free pages:        1036kB (0kB HighMem)
Active:3430 inactive:2758 dirty:0 writeback:0 unstable:0 free:259 slab:507 mapped:784 pagetables:93
DMA free:1036kB min:724kB low:904kB high:1084kB active:13720kB inactive:11032kB present:32768kB pages_scanned:0 all_unreclao
lowmem_reserve[]: 0 0 0 0
DMA32 free:0kB min:0kB low:0kB high:0kB active:0kB inactive:0kB present:0kB pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 0 0 0
Normal free:0kB min:0kB low:0kB high:0kB active:0kB inactive:0kB present:0kB pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 0 0 0
HighMem free:0kB min:128kB low:128kB high:128kB active:0kB inactive:0kB present:0kB pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 0 0 0
DMA: 103*4kB 24*8kB 5*16kB 1*32kB 1*64kB 0*128kB 1*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 1036kB
DMA32: empty
Normal: empty
HighMem: empty
Free swap:            0kB
8192 pages of RAM
381 free pages
788 reserved pages
507 slab pages
285 pages shared
0 pages swap cached

Система пока держится


--------------------
Debian Fan
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
neptun8
сообщение Dec 14 2012, 13:07
Сообщение #2





Группа: Новичок
Сообщений: 1
Регистрация: 14-12-12
Пользователь №: 74 853



Умоляю помогите! Ситуация один в один в один только у меня немного другой прибор вот:



Вставил debuger порт туда, соеденился через hyperterminal
пишет все точно так же - очень прошу скажите что и как надо изменить чтобы эта шайтан машина заработала
сайт разработчиков заблокирован за неуплату - что делать ума не приложу ( сам не программист и знакомых программистов нету)
Go to the top of the page
 
+Quote Post
savant
сообщение Dec 14 2012, 13:53
Сообщение #3





Группа: Новичок
Сообщений: 1
Регистрация: 21-04-10
Пользователь №: 56 796



Цитата(neptun8 @ Dec 14 2012, 17:07) *
Умоляю помогите! Ситуация один в один в один только у меня немного другой прибор вот:


С загрузчиком суть такова - в нём неправильно инициализируется sdram контроллер, точнее инициализация банок памяти происходит не в соответствии с реально установленными, а в соответствие с теми что стоят на devkit на атмеловских отладочных бордах, а там стоит 32 мегабайта памяти.

Сообщение отредактировал IgorKossak - Dec 14 2012, 20:40
Причина редактирования: избыточное цитирование
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- dmitry-rf   Проблема с Linux на AT91RM9200   May 7 2008, 08:37
- - dch   Цитата(dmitry-rf @ May 7 2008, 12:37...   May 12 2008, 05:00
- - dmitry-rf   Спасибо. Дело, похоже, не в памяти, а в её количес...   May 13 2008, 11:40
|- - Lelick   boot.bin файл откуда взят, какие в него настройки ...   May 16 2008, 07:34
- - dmitry-rf   boot.bin - это загрузчик? Загрузчик там предустано...   May 19 2008, 12:25
- - dmitry-rf   После множества экспериментов подобрал более-менее...   May 27 2008, 14:40
- - dmitry-rf   Если сказать ядру mem=32M и не останавливать демон...   May 28 2008, 07:26
|- - dch   в boot.bin настраивается конфигурация SDRAM когда...   Jun 1 2008, 10:08
|- - dmitry-rf   Цитата(dch @ Jun 1 2008, 14:08) в boot.bi...   Jun 2 2008, 08:51
|- - dch   Цитата(dmitry-rf @ Jun 2 2008, 12:51...   Jun 2 2008, 13:46
- - dmitry-rf   Объясните пожалуйста, что есть boot.bin? Далее, д...   Jun 2 2008, 13:54
- - dmitry-rf   Здесь говорят: КодThe bootloader is expected to fi...   Jun 2 2008, 15:15
|- - dch   Цитата(dmitry-rf @ Jun 2 2008, 19:15...   Jun 3 2008, 07:43
- - dmitry-rf   Похоже, действительно кто-то кого-то распаковывает...   Jun 3 2008, 08:58
|- - AVR   Цитата(dmitry-rf @ Jun 3 2008, 12:58...   Jun 3 2008, 09:38
- - dmitry-rf   Нее.. 2100 0000 - это оперативка. Флэш мапится на ...   Jun 3 2008, 10:00
- - dmitry-rf   А если залить uboot или u-boot.bin с помощью tftpb...   Jun 3 2008, 11:18
|- - dch   Цитата(dmitry-rf @ Jun 3 2008, 15:18...   Jun 10 2008, 17:50
- - dmitry-rf   Ковырял romboot для evm9200, выяснил, что он поним...   Jun 5 2008, 12:46
- - dmitry-rf   Выяснил, что параметр -mshort-load-bytes уже не ак...   Jun 5 2008, 14:43
- - RW9UAO   х.з. u-boot у меня ни разу не собрался. а то что с...   Jun 6 2008, 02:32
- - dmitry-rf   Спасибо, но дописать мне точно не будет проще, ибо...   Jun 6 2008, 08:45
- - RW9UAO   х.з. как оно с линуксом будет работать без у-бута....   Jun 7 2008, 03:47
- - dmitry-rf   Ну с последовательной немного проще - атмелосвкий ...   Jun 7 2008, 07:41
- - dmitry-rf   На счёт сборки loader.bin. Указанная выше ошибка К...   Jun 9 2008, 09:32
- - dmitry-rf   Так не правильно. Вот правильный скрипт: КодMEMORY...   Jun 9 2008, 12:36
- - dmitry-rf   Дмитрий, спасибо за развёрнутый ответ. Выбор спосо...   Jun 16 2008, 14:21
|- - dch   Цитата(dmitry-rf @ Jun 16 2008, 18:2...   Jun 24 2008, 04:57
|- - dmitry-rf   Цитата(dch @ Jun 24 2008, 08:57) Надо пос...   Jun 25 2008, 08:40
|- - dch   Цитата(dmitry-rf @ Jun 25 2008, 12:4...   Jun 30 2008, 13:50
- - RW9UAO   закоменти эти куски про дебаг и все скомпилируется...   Jun 17 2008, 01:46
|- - dmitry-rf   Цитата(RW9UAO @ Jun 17 2008, 05:46) заком...   Jun 17 2008, 08:54
- - dmitry-rf   Эту инструкцию я знаю, в своё время сильно помогла   Jul 1 2008, 11:05
- - dch   u-boot по ней не смогли откомпилировать? В принци...   Jul 2 2008, 23:59
- - dmitry-rf   Heavy собирал u-boot для последовательной dataflas...   Jul 4 2008, 12:48
- - dmitry-rf   Прошу прощения за поднятие старой темы, но, возмож...   Sep 16 2011, 12:13
- - dmitry-rf   В архиве загрузчики (x-modem и boot) с поддержкой ...   Dec 14 2012, 13:45


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st June 2025 - 21:27
Рейтинг@Mail.ru


Страница сгенерированна за 0.01418 секунд с 7
ELECTRONIX ©2004-2016