This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DRA75在移植内存时出现错误

各位专家好,本人在将DRA75的demo板程序移植到目标板上,由于目标板的DDR是512M,demo板是1Gbyte的。在移植DDR部分时出现内存错误,

我修改的部分如下:

1、修改uboot的lisa寄存器,将512Mbyte映射到emif1上

static const struct dmm_lisa_map_regs lisa_map_dra7_1536MB = {
    .dmm_lisa_map_0 = 0x0,
    .dmm_lisa_map_1 = 0x0,
    .dmm_lisa_map_2 = 0x80600100,
    .dmm_lisa_map_3 = 0xFF020100,
    .is_ma_present    = 0x1
};

2、修改了dra7-evm.dts的内存节点参数:

    memory {
        device_type = "memory";
        reg = <0x80000000 0x20000000>;  /* 512MB */
    };

3、修改了环境变量mem=512M

修改后,从log信息看,在执行starting udev后出现以下错误:

Starting udev
[    9.275574] udevd[1148]: starting version 182
[    9.561763] modprobe invoked oom-killer: gfp_mask=0x2084d0, order=0, oom_score_adj=-1000
[    9.569937] CPU: 0 PID: 1188 Comm: modprobe Tainted: G        W    3.14.63-00013-gb677f9b-dirty #2
[    9.578936] Backtrace:
[    9.581417] [<c0012138>] (dump_backtrace) from [<c00122d4>] (show_stack+0x18/0x1c)
[    9.589018]  r6:600f0113 r5:ffffffff r4:00000000 r3:00000000
[    9.594746] [<c00122bc>] (show_stack) from [<c0692238>] (dump_stack+0x80/0xa0)
[    9.602005] [<c06921b8>] (dump_stack) from [<c0690b84>] (dump_header+0x6c/0x180)
[    9.609429]  r7:002084d0 r6:00000000 r5:00000000 r4:c1f6a000
[    9.615156] [<c0690b18>] (dump_header) from [<c00c1130>] (oom_kill_process+0x224/0x3d0)
[    9.623192]  r10:00000000 r8:002084d0 r7:00000000 r6:002084d0 r5:00000000 r4:c1a5da40
[    9.631108] [<c00c0f0c>] (oom_kill_process) from [<c00c17b8>] (out_of_memory+0x2ec/0x354)
[    9.639318]  r10:00000000 r9:00000000 r8:002084d0 r7:00000000 r6:c0970228 r5:c0970390
[    9.647222]  r4:c0970228
[    9.649781] [<c00c14cc>] (out_of_memory) from [<c00c58f8>] (__alloc_pages_nodemask+0x8b4/0x8fc)
[    9.658514]  r10:00000000 r9:c1f6a000 r8:c0a0f480 r7:c096ca78 r6:00000000 r5:c0a10080
[    9.666418]  r4:002084d0
[    9.668977] [<c00c5044>] (__alloc_pages_nodemask) from [<c00dd65c>] (__pte_alloc+0x28/0x15c)
[    9.677449]  r10:c19706c0 r9:c1728dc0 r8:c1f6a000 r7:b6fa0000 r6:c1f10000 r5:c1f12db8
[    9.685350]  r4:c1f77580
[    9.687907] [<c00dd634>] (__pte_alloc) from [<c00e0714>] (handle_mm_fault+0x788/0x81c)
[    9.695854]  r10:c19706c0 r8:c1f6a000 r7:b6fa0000 r6:c1f10000 r5:000005b7 r4:200f0113
[    9.703766] [<c00dff8c>] (handle_mm_fault) from [<c0699a74>] (do_page_fault+0x2a4/0x444)
[    9.711889]  r10:c19706c0 r9:c1f775b8 r8:c1f77580 r7:b6fa087c r6:00000805 r5:c1f6be30
[    9.719794]  r4:c1f6a000
[    9.722352] [<c06997d0>] (do_page_fault) from [<c0699cc4>] (do_translation_fault+0xb0/0xbc)
[    9.730735]  r10:b6f81000 r9:c1f00300 r8:c1f6be30 r7:b6fa087c r6:c0971dc0 r5:c0699c14
[    9.738638]  r4:00000805
[    9.741194] [<c0699c14>] (do_translation_fault) from [<c00083e4>] (do_DataAbort+0x3c/0xa0)
[    9.749491]  r7:b6fa087c r6:c0971dc0 r5:c0699c14 r4:00000805
[    9.755210] [<c00083a8>] (do_DataAbort) from [<c0697d20>] (__dabt_svc+0x40/0x60)
[    9.762637] Exception stack(0xc1f6be30 to 0xc1f6be78)
[    9.767711] be20:                                     b6fa087c 0000077c 00000000 00000007
[    9.775925] be40: c1f69e80 00000000 c1f86340 c1f6be90 c1f6a000 c1f00300 b6f81000 c1f6be8c
[    9.784138] be60: 00000000 c1f6be78 c0141c18 c02ab78c 200f0113 ffffffff
[    9.790777]  r8:c1f6a000 r7:c1f6be64 r6:ffffffff r5:200f0113 r4:c02ab78c
[    9.797554] [<c0141bc4>] (padzero) from [<c0142fd8>] (load_elf_binary+0x11cc/0x120c)
[    9.805336] [<c0141e0c>] (load_elf_binary) from [<c00ff324>] (search_binary_handler+0x88/0x1a0)
[    9.814068]  r10:c1f86340 r9:00000001 r8:00000001 r7:fffffff8 r6:c09c2698 r5:c1f86340
[    9.821972]  r4:c09c2d10
[    9.824528] [<c00ff29c>] (search_binary_handler) from [<c0100308>] (do_execve+0x414/0x4f0)
[    9.832826]  r8:00033220 r7:000004a4 r6:c1f6a000 r5:c1f65000 r4:c19706c0 r3:00000000
[    9.840645] [<c00ffef4>] (do_execve) from [<c01005b0>] (SyS_execve+0x24/0x28)
[    9.847809]  r10:00000000 r9:c1f6a000 r8:c000ed04 r7:0000000b r6:00033220 r5:be82d060
[    9.855712]  r4:00033220
[    9.858267] [<c010058c>] (SyS_execve) from [<c000eb80>] (ret_fast_syscall+0x0/0x38)
[    9.865953]  r5:00032544 r4:ffffe5f8
[    9.869693] Mem-info:
[    9.871978] Normal per-cpu:
[    9.875939] CPU    0: hi:    0, btch:   1 usd:   0
[    9.880868] CPU    1: hi:    0, btch:   1 usd:   0
[    9.885791] active_anon:3327 inactive_anon:768 isolated_anon:0
[    9.885791]  active_file:14 inactive_file:46 isolated_file:0
[    9.885791]  unevictable:0 dirty:2 writeback:0 unstable:0
[    9.885791]  free:54251 slab_reclaimable:551 slab_unreclaimable:1554
[    9.885791]  mapped:12 shmem:768 pagetables:167 bounce:0
[    9.885791]  free_cma:54025
[    9.917246] Normal free:217364kB min:1984kB low:2480kB high:2976kB active_anon:13308kB inactive_anon:3072kB active_file:92kB inactive_file:164kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:523264kB managed:246660kB mlocked:0kB dirty:8kB writeback:0kB mapped:48kB shmem:3072kB slab_reclaimable:1916kB slab_unreclaimable:6216kB kernel_stack:792kB pagetables:668kB unstable:0kB bounce:0kB free_cma:216100kB writeback_tmp:0kB pages_scanned:1692 all_unreclaimable? yes
[    9.959662] lowmem_reserve[]: 0 0 0
[    9.963297] Normal: 1003*4kB (UEMC) 992*8kB (UMC) 989*16kB (EMC) 989*32kB (EMC) 988*64kB (UEMC) 576*128kB (MC) 82*256kB (C) 0*512kB 0*1024kB 0*2048kB 0*4096kB 0*8192kB = 217372kB
[    9.979696] 874 total pagecache pages
[    9.983395] 0 pages in swap cache
[    9.986727] Swap cache stats: add 0, delete 0, find 0/0
[    9.992055] Free swap  = 0kB
[    9.994968] Total swap = 0kB
[   10.000647] 131072 pages of RAM
[   10.003839] 54582 free pages
[   10.006850] 69407 reserved pages
[   10.010107] 1961 slab pages
[   10.013012] 2252 pages shared
[   10.015999] 0 pages swap cached
[   10.019157] [ pid ]   uid  tgid total_vm      rss nr_ptes swapents oom_score_adj name
[   10.027061] [ 1126]     0  1126      330       15       3        0             0 init
[   10.034945] [ 1127]     0  1127      558       48       4        0             0 rc
[   10.042782] [ 1140]     0  1140      558       49       3        0             0 S04udev
[   10.050918] [ 1148]     0  1148      754      148       4        0         -1000 udevd
[   10.058895] [ 1151]     0  1151      654       68       4        0         -1000 udevd
[   10.066902] [ 1153]     0  1153      720      142       4        0         -1000 udevd
[   10.074877] [ 1154]     0  1154      720      141       4        0         -1000 udevd
[   10.082848] [ 1155]     0  1155      720      140       4        0         -1000 udevd
[   10.090806] [ 1156]     0  1156      720      142       4        0         -1000 udevd
[   10.098777] [ 1157]     0  1157      720      142       4        0         -1000 udevd
[   10.106748] [ 1158]     0  1158      720      144       4        0         -1000 udevd
[   10.114781] [ 1159]     0  1159      720      144       4        0         -1000 udevd
[   10.122754] [ 1160]     0  1160      720      144       4        0         -1000 udevd
[   10.130712] [ 1161]     0  1161      720      144       4        0         -1000 udevd
[   10.138682] [ 1165]     0  1165       91        2       2        0         -1000 modprobe
[   10.146914] [ 1167]     0  1167      679      104       4        0         -1000 udevd
[   10.154882] [ 1168]     0  1168      679      104       4        0         -1000 udevd
[   10.162852] [ 1169]     0  1169      748      147       4        0         -1000 udevd
[   10.170809] [ 1170]     0  1170      753      147       4        0         -1000 udevd
[   10.178779] [ 1171]     0  1171      753      147       4        0         -1000 udevd
[   10.186750] [ 1172]     0  1172      753      147       4        0         -1000 udevd
[   10.194881] [ 1173]     0  1173      753      147       4        0         -1000 udevd
[   10.202877] [ 1174]     0  1174      753      147       4        0         -1000 udevd
[   10.210837] [ 1175]     0  1175      753      147       4        0         -1000 udevd
[   10.218808] [ 1176]     0  1176      753      147       4        0         -1000 udevd
[   10.226777] [ 1177]     0  1177      753      147       4        0         -1000 udevd
[   10.234746] [ 1178]     0  1178      753      148       4        0         -1000 udevd
[   10.242716] [ 1179]     0  1179      753      148       4        0         -1000 udevd
[   10.250673] [ 1180]     0  1180      720      140       4        0         -1000 udevd
[   10.258642] [ 1181]     0  1181       91        2       2        0         -1000 modprobe
[   10.266902] [ 1182]     0  1182       91        2       2        0         -1000 modprobe
[   10.275136] [ 1183]     0  1183       91        2       2        0         -1000 modprobe
[   10.283367] [ 1184]     0  1184       91        2       2        0         -1000 modprobe
[   10.291586] [ 1186]     0  1186       92        3       3        0         -1000 modprobe
[   10.299820] [ 1187]     0  1187       91        2       2        0         -1000 modprobe
[   10.308051] [ 1188]     0  1188       91        2       2        0         -1000 modprobe
[   10.316282] [ 1189]     0  1189      753      147       4        0         -1000 udevd
[   10.324251] [ 1190]     0  1190      753      147       4        0         -1000 udevd
[   10.332209] [ 1191]     0  1191      754      149       4        0         -1000 udevd
[   10.340179] [ 1192]     0  1192      753      147       4        0         -1000 udevd
[   10.348177] [ 1193]     0  1193      754      151       4        0         -1000 udevd
[   10.356149] [ 1194]     0  1194      753      147       4        0         -1000 udevd
[   10.364172] [ 1195]     0  1195      754      151       4        0         -1000 udevd


正常的demo板上是这样的:

Starting udev
[    9.085192] udevd[1149]: starting version 182
[    9.623337] omap-dwc3 48880000.omap_dwc3_1: unable to get extcon device : extcon_usb1
[    9.713208] platform 48880000.omap_dwc3_1: Driver omap-dwc3 requests probe deferral
[    9.721286] omap-dwc3 488c0000.omap_dwc3_2: unable to get extcon device : extcon_usb2
[    9.850250] platform 488c0000.omap_dwc3_2: Driver omap-dwc3 requests probe deferral
[   10.062400]  remoteproc0: powering up 58820000.ipu
[   10.083561]  remoteproc0: Booting fw image dra7-ipu1-fw.xem4, size 486020
[   10.122742] omap-iommu 58882000.mmu: 58882000.mmu: version 2.1
[   10.165710]  remoteproc0: remote processor 58820000.ipu is now up
[   10.173444] virtio_rpmsg_bus virtio0: rpmsg host is online
[   10.179190] i2c 1-006c: Driver fpd3_serdes requests probe deferral
[   10.185453]  remoteproc0: registered virtio0 (type 7)
[   10.190838] i2c 1-0061: Driver fpd3_serdes requests probe deferral
[   10.214396] i2c 1-0069: Driver fpd3_serdes requests probe deferral
[   10.224035] i2c 1-0037: Driver ov1063x requests probe deferral
[   10.231368] i2c 1-0030: Driver ov1063x requests probe deferral
[   10.238700] i2c 1-0060: Driver fpd3_serdes requests probe deferral
[   10.245062] i2c 1-0064: Driver fpd3_serdes requests probe deferral
[   10.251397] i2c 1-0068: Driver fpd3_serdes requests probe deferral
[   10.258194] omap-dwc3 48880000.omap_dwc3_1: unable to get extcon device : extcon_usb1
[   10.266220] platform 48880000.omap_dwc3_1: Driver omap-dwc3 requests probe deferral
[   10.274322] omap-dwc3 488c0000.omap_dwc3_2: unable to get extcon device : extcon_usb2
[   10.282229] platform 488c0000.omap_dwc3_2: Driver omap-dwc3 requests probe deferral
[   10.380885] m25p80 spi32766.0: s25fl256s1 (32768 Kbytes)
[   10.386396] 10 ofpart partitions found on MTD device spi32766.0
[   10.392348] Creating 10 MTD partitions on "spi32766.0":
[   10.397638] 0x000000000000-0x000000010000 : "QSPI.SPL"
[   10.403893] 0x000000010000-0x000000020000 : "QSPI.SPL.backup1"
[   10.410746] 0x000000020000-0x000000030000 : "QSPI.SPL.backup2"
[   10.417573] 0x000000030000-0x000000040000 : "QSPI.SPL.backup3"
[   10.424448] 0x000000040000-0x000000140000 : "QSPI.u-boot"
[   10.430824] 0x000000140000-0x0000001c0000 : "QSPI.u-boot-spl-os"
[   10.437866] 0x0000001c0000-0x0000001d0000 : "QSPI.u-boot-env"
[   10.444654] 0x0000001d0000-0x0000001e0000 : "QSPI.u-boot-env.backup1"
[   10.452200] 0x0000001e0000-0x0000009e0000 : "QSPI.kernel"
[   10.458578] 0x0000009e0000-0x000002000000 : "QSPI.file-system"
[   10.465636] i2c 1-006c: Driver fpd3_serdes requests probe deferral
[   10.472853] i2c 1-0061: Driver fpd3_serdes requests probe deferral
[   10.493437] i2c 1-0069: Driver fpd3_serdes requests probe deferral
[   10.500716] i2c 1-0037: Driver ov1063x requests probe deferral
[   10.506821] i2c 1-0030: Driver ov1063x requests probe deferral
[   10.512803] i2c 1-0060: Driver fpd3_serdes requests probe deferral
[   10.519142] i2c 1-0064: Driver fpd3_serdes requests probe deferral
[   10.525481] i2c 1-0068: Driver fpd3_serdes requests probe deferral
[   10.532211] omap-dwc3 48880000.omap_dwc3_1: unable to get extcon device : extcon_usb1
[   10.540141] platform 48880000.omap_dwc3_1: Driver omap-dwc3 requests probe deferral
[   10.548301] omap-dwc3 488c0000.omap_dwc3_2: unable to get extcon device : extcon_usb2
[   10.556252] platform 488c0000.omap_dwc3_2: Driver omap-dwc3 requests probe deferral

上述问题已经研究一个星期了,依然没有找到头绪,烦请各位专家帮忙看下问题出在什么地方,谢谢!!