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.

[参考译文] DRA750:将 DRA75 DDR3大小从1Gbyte 更改为512Mbyte

Guru**** 2550030 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/603400/dra750-change-dra75-ddr3-size-from-1gbyte-to-512mbyte

器件型号:DRA750
主题中讨论的其他器件:DRA75

您好专家、

我需要将 DRA75 DDR3大小从1Gbyte 更改为512Mbyte。 我使用的 SDK 版本为 VISION_SDK_02_10_00_00、 Linux 版本3.14.63、U-Boot 2014.07-00014-g07222a9-m脏(2017年6月16日- 16:16:02)。

我修改3个部分:

1、修改 LISA 寄存器、 将512Mbyte 映射到 emif1

静态常量结构 DMM_LISA 映射寄存器 LISA 映射_dra7_1536MB ={
   .dm_lisa_map_0 = 0x0、
   .dm_lisa_map_1 = 0x0、
   .dm_lisa_map_2 = 0x80500100、
   .dm_lisa_map_3 = 0xFF020100、
   .in_ma_present   = 0x1
};

2、修改 dra7-EVM.dts:

   内存{
      DEVICE_TYPE ="存储器";
      REG =<0x8000000000 0x20000000>; /* 512MB */
   };

3、修改 uenv.txt mem=512M

当内核启动 udev 时,日志变为不正常,如 bleow:

启动 udev
[9.27554] udevd[1148]:启动版本182
[9.561763] modprobe 调用
了被污染的 killer:gfp_mask=0x2084d0、order=0、om_score_adj=-1000 [9.569937] CPU:0 PID:1188 Comm:modprobe:g w 3.14.63-00013-gb677f9b-inflat #2
[9.578936]回溯:
[9.581417][ ](dump_backtrace)从[ ](show_stack+0x18/0x1c)
[9.589018] r6:600f0113 r5:ffff r4:00000000 r3:00000000
[9.594746][ ](show_stack)从[ ](dump_stack+0x80/0xa0)
[9.602005][ ](dump_stack)从[ ](dump_header+0x6c/0x180)
[9.609429] r7:002084d0 R6:00000000 R5:00000000 R4:c1f6a000
[9.615156][ ](dump_HEADER)从[ ](omo_kill_process+0x224/0x3d0)
[9.623192] R10:00000000 R8:002084d0 r7:00000000 R6:002084d0 R5:00000000 R4:c1a5da40
[9.631108][ ](om_kill_process)从[ ](out_for_memory+0x2ec/0x354)
[9.639318] R10:00000000 R9:00000000 R8:002084d0 r7:00000000 R6:c0970228 R5:c0970390
[9.647222] R4:c0970228
[9.649781][ ](out_for_memory)来自[ ](__alloc_pages_nodemask+0x8b4/0x8fc)
[9.658514] r10:00000000 r9:c1f6a000 r8:c0a0f480 r7:c096ca78 r6:00000000 r5:c0a10080
[9.666418] r4:002084d0
[9.66897] ](__alloc_pages_nodemask)从[ ](__PTE_ALLOC+0x28/0x15c)
[9.677449] r10:c19706c0 r9:c1728dc0 r8:c1f6a000 r7:b6fa0000 r6:c1f10000 r5:c1f12db8
[9.685350] r4:c1f77580]
[9.687907 ](__PTE_ALLOoc)来自[ ](handle_mm_fault+0x788/0x81c)
[9.695854] r10:c19706c0 r8:c1f6a000 r7:b6fa0000 r6:c1f10000 r5:000005b7 r4:200f0113
[9.703766][ ](handle_mm_FAULT)从[ ](do_page_fault+0x2a4/0x444)
[9.711889] r10:c19706c0 r9:c1f775b8:c1f77580 r7:b6fa087c r6:00000805 r5:c1f6be30
[9.719794] r4:c1f77580 r7:b6f87c r6:00000r6:c00000805 r5 r5 r5 r5 r5:c1f6f6b30 [
](DE_PAGE_FAULT)从[ ](do_translation_fault+b0x/bb)
[9.730735] r10:b6f81000 r9:c1f00300 r8:c1f6be30 r7:b6fa087c r6:c0971dc0 r5:c0699c14
[9.738638] r4:00000805
[9.741194] ](DO 转换_FAULT)从[ ](do_DataAbort+0x3c/0xa0)
[9.7494949491] r7:b6fa087c r6:c0971dc0 r5:c0699c14 r4:00000805
[9.755210][ ](DO 数据中止)从[ ](_dabt_Svc+0x40/0x60)
[9.762637]异常堆栈(0xc1f6be30至0xc1f6be78)
[9.767711] BE20: b6fa087c 0000077c 00000000 00000007
[9.775925] be40:c1f69e80 00000000 c1f86340 c1f6be90 c1f6a000 c1f00300 b6f81000 c1f6be8c
[9.784138] bey60:00000000 c1f6b6c7613 c7680 c0781f6b0138] b024rf 024rf rf 024b

](padzero)、从[ ](load_elf_binary+0x11cc/0x120c)
[9.80536][ ](load_elf_binary)从[ ](search_binary_handler + 0x88/0x1a0)
[9.814068] r10:c1f86340 r9:00000001 r8:00000001 r7:fffffffff8 r6:c09c2698 r5:c1f86340
[9.821972] r4:c09c2d10
[9.824528][ ](search_binary_handler)、来自[ ](do_execve+0x414/0x4f0)
[9.832826] r8:00033220 r7:000004a4 r6:c1f6a000 r5:c1f65000 r4:c19706c0 r3:00000000
[9.840645][ ](DO 执行)从[ ](sys_execve+0x24/0x28)
[9.847809] R10:00000000 R9:c1f6a000 R8:c000ed04 r7:0000000b R6:00033220 R5:be82d060
[9.855712] R4:00033220
[9.858267][ ](sys_execve)、来自[ ](RET_FAST_SYSCALL+0x0/0x38)
[9.865953] R5:00032544 R4:ffe5f8
[9.869693] MM-INFO:
[9.871978]正常每个 CPU:
[9.875939] CPU 0:Hi:0、btch:1 uSD:0
[9.88086] CPU 1:hi:1:uSD:1:1:uSD:1:1 0
[ 9.885791] ACTIVE_ANON:3327 INACTIVE_ANON:768 Isolated anon:0
[ 9.885791] ACTIVE_FILE:14 INACTIVE_FILE:46 [9.885791]
UNevicable:0肮脏:2回写:0不稳定


CMA:0 [9.885791]免费:54251_RELESTIVE_RELESH
:248KB:1824000B:18000B 非活动回写 b:180002KB:18000B:18000B:18000B:无隔离式回写 b:18000B:18000B:18000B:18000B:18000B:18000B:18000B:18000B:18000B:18000B:18000B:18000B 非活动无隔离式无隔离式无隔离式无隔离式回写 b:18000B:18000B:18000B:18000B:18000B:18000B:18000B:18000B:18000B:18000B:18000B:18000B:18000B:1800 映射:48kB shmem:3072kB slab_relaimable:1916kB slab_unreimclable:6216kB kernel_stack:792kB page 可传递函数:668kB 不稳定:0kB 无扫描:0kB FREE_CMA:216100kB write_tmp:0kB page_stack_:1692 all_unreabable? 是
[9.9959662] lowmem_reserve[]:0 0
[9.963297]正常:1003*4KB (UEMC) 992*8KB (UMC) 98989*16KB (EMC) 98989*32KB (EMC) 988 *9764KB (UEMC)576*128KB (MC) 82256KB (UMC) 982256KB (cc)989*16KB

缓
存[90*32KB 缓存*98*962KB (c)90*90*98*90*904KB 缓存[90*98*902KB 缓存*902KB (c)98*902KB 缓存*902KB (c)902KB 64KB*907*907*907*907*907*902KB 缓存*90 添加0、删除0、 find0/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.01010107] 1961 slab pages
[10.013012]2252 pages shared
[10.01599] 0 pages swap [10.1599]页面[缓存交换[10.1599
] uid tgid total_VM rss nr_PTTE swapents om_score_adj name
[10.027061][1126] 0 1126 330 15. 3. 0 0初始
化[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 65 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 μ dd
[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 676. 104. 4. 0 -1000 udevd
[10.154882][1168] 0 1168 676. 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 

从1Gbyte 板引导时、日志显示为 bleow:

正在启动 udev
[9.085192] udevd[1149]:正在启动版本182
[9.623337] OMAP-dwc3 48880000.OMAP-dwc3_1:无法获取 extcon 设备:extcon_USB1
[9.713208]平台48880000.OMAP-dwc3_1:OMAP-dwc3请求延迟探测器[9.813208]

平台48880000.OMAP-dwc300_dwc2:无法获取 OMAP-dwc300.548dwc2 驱动程序 omap-dwc3请求探测器延迟
[10.062400] remoteproc0:加电5882000.ipu
[10.083561] remoteproc0:启动 FW 映像 dra7-ipu1-fw.xem4,大小为486020
[10.122742] ommu 58882000.mu

:58882000.mMU:58882000.mu:10.580004.mu:rc.xmu:vr1000 ipu:vr.r.r.r.r.rf rc.xem4,大小为486020 [10.122742](10.122742] ommu:rpmu:rc.rc.rgu:rv.rv.rc.rgu) i
驱动程序 fpd3_SerDes 请求探头延迟
[10.185453] remoteproc0:注册的 virtio0 (类型7)
[10.190838] i2c 1-0061:驱动程序 fpd3_SerDes 请求探头延迟
[10.214396] i2c 1-0069:驱动程序 fpd3_SerDes 请求探头
延迟[10.224035]i2c 13368]:驱动程序探头延迟[10.2313368]
驱动程序 ov1063x 请求探测器延迟
[10.238700] i2c 1-0060:驱动程序 fpd3_SerDes 请求探测器延迟
[10.245062] i2c 1-0064:驱动程序 fpd3_SerDes 请求探测器延迟
[10.251397] i2c 1-0068:驱动程序 fpd3_SerDes 请求探测器延迟
[10.258194_dwcc1
:vapor_dw28391_dwc1:vapor_dwc2c.1:v048b1 vapor_apor_apor_apor_apor_dw2c.1:v048b1.dw28394_det_dw_apor_apor_apor_ 驱动程序 OMAP-dwc3请求探测器延迟
[10.274322] OMAP-dwc3 488c0000.OMAP-dwc3_2:无法获取 extcon 设备:extcon_USB2
[10.282229] platform 488c0000.OMAP-OMAP-dwc3_2:driver-dwc3请求探测器


分区[10.885] m25p80 dw368c000[10.32760] mspi20368dw368d 器件:在327106dw39606dw368dw368dw368dw3610]创建32760[10.32760[10.32760]器件[10.327368dw368dw
[10.397638] 0x000000000000 0x00000000 00010000:“QSPI.SPL
”[10.403893] 0x000000010000-0x000000020000:“QSPI.Backup1”[10.00000000 000824-0x0000000300000SPL
:“QSPI.Backup2”
[10.417573][0x0000-0x0000.00040000-0x0000.00040000-0x00040000.SPI-00040000.00040000.SPD-00040000.00040000.00040000.SPD-000150001SPL




:“QSPI-0000.00040000.00040000.0001SPD-000150001SPD-0001SPD-000150001SPD-000150001SPI-Q000150001SPD-000150001SPD-Q000150001SP-0xQ0001SP-0150001SP-0150001SP-0xQSP-0150001SP-0150001SP-0xQ00040000.00040000.0001SP-0150001SP-0150004SP-0xQSP-0xQ0001SP-0x
"qspi.file-system"
[10.465636] i2c 1-006C:驱动程序 fpd3_SerDes 请求探头延迟
[10.472853] i2c 1-0061:驱动程序 fpd3_SerDes 请求探头延迟
[10.493437] i803 1-0069:驱动程序 fpd3_SerDes 请求探头延迟[10.5003_SerDes 请求探头
延迟[10.00263]i803]i803[10.0001]i803[10.0001]i803]i803[10.53x 请求探头延迟[10.0001]i803[10.0001]i803]i803[10.0001]i803]i803[10.00

驱动程序 fpd3_SerDes 请求探头延迟
[10.519142] i2c 1-0064:驱动程序 fpd3_SerDes 请求探头延迟
[10.525481] i2c 1-0068:驱动程序 fpd3_SerDes 请求探头延迟
[10.532211] omap-dwc3 48880000.omap_dwc3_1:无法获取
OMAP 10.48b1:vapor_dwc1:vapor_dw3_de548b1:vapor_dwc1 vapor_dw3_de548b1:vapor_dwc1 vapor_dw3_dw3_dwc1:vapor_dw3_de548b1:vaporm 5
无法获取 extcon 设备:extcon_USB2
[10.556252] platform 488c0000.omap_dwc3_2:驱动程序 OMAP-dwc3请求探测器延迟 

我找不到解决上述问题的好办法,请专家帮助,看看问题是什么,谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    我已将您的问题转交给内核专家。
    您能否只是附加完整日志、错误之前可能会有一些线索(如果时间太长、您可以将其作为文本文件附加到帖子)。

    此致、
    Yordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    e2e.ti.com/.../log_5F00_ddr_5F00_512Mbyte.txte2e.ti.com/.../log_5F00_ddr_5F00_1Gbyte.txtAbove是512Mbyte 和1Gbyte 的日志、请参阅。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好

    在具有512MB 内存映射的系统中,似乎没有足够的可用内存-您能否查看内存映射要求以评估512MB 是否足够。 在系统的整体可用内存中,某些部分被划分为保留区域,可从 DSP、IPU 等远程内核访问。(加载到这些内核的固件需要为其代码划分 DDR 区域, 数据段以及内核之间的 IPC 机制

    此外,如果在 Linux 上使用 CMA 内存池,则系统内存的某些部分也会保留以供 CMA 使用(大约64MB)。

    您能否附加完整的启动日志信息、因为内存区域通常作为启动序列的一部分打印

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你(们)好
    从所连接的启动日志中、对于各种 CMA/保留存储区、至少仍有250MB 左右的内存被刻录出来-请查看是否完全需要所有这些内存-剩余的内存可能太少、无法运行整个系统

    0.000000]保留内存:创建了0x94000000的 CMA 内存池,大小为80 MIB
    [0.000000]保留存储器:已初始化节点 ipu2_CMA@95800000、兼容 ID shared-dma-pool
    [0.000000]保留内存:创建了0x99000000的 CMA 内存池,大小为64 MIB
    [0.000000]保留存储器:已初始化节点 dsp1_CMA@99000000、兼容 ID shared-dma-pool
    [0.000000]保留内存:创建了0x9d000000的 CMA 内存池,大小为32 mib
    [0.000000]保留存储器:已初始化节点 ipu1_CMA@9d000000、兼容 ID shared-dma-pool
    [0.000000]保留的存储器:创建了0x9f000000的 CMA 存储器池、大小为16 MIB
    [0.000000]保留存储器:已初始化节点 dsp2_CMA@9f000000、兼容 ID shared-dma-pool
    [0.000000]保留存储器:创建了0xa80000大小为32 mib 的 DMA 存储器池
    [0.000000]保留存储器:已初始化节点 cmem@A6000000、兼容 id shared-dma-pool
    [0.000000] CMA:CMA:在 ae000000保留24 MIB
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Srirama、您好!

    感谢你的答复。 听从您的意见,我缩减了预留空间的大小,如下所示:

    [0.000000]   保留存储器:创建了0x94000000的 CMA 存储器池、大小为32 MIB
    [0.000000]   保留存储器:已初始化节点 ipu2_CMA@95800000、兼容 ID shared-dma-pool
    [0.000000]   保留的存储器:创建了0x99000000的 CMA 存储器池、大小为32 MIB
    [0.000000]   保留存储器:已初始化节点 dsp1_CMA@99000000、兼容 ID shared-dma-pool
    [0.000000]   保留内存:创建了0x9d000000的 CMA 内存池,大小为32 mib
    [0.000000]   保留存储器:已初始化节点 ipu1_CMA@9d000000、兼容 ID shared-dma-pool
    [0.000000]   保留的存储器:创建了0x9f000000的 CMA 存储器池、大小为16 MIB
    [0.000000]   保留存储器:已初始化节点 dsp2_CMA@9f000000、兼容 ID shared-dma-pool
    [0.000000]   保留存储器:创建了0xa80000大小为16 mib 的 DMA 存储器池
    [0.000000]   保留存储器:已初始化节点 cmem@A6000000、兼容 id shared-dma-pool
    [0.000000]   CMA:CMA:9b800000处保留24 MIB

    但是、当它运行到启动 udev,时、日志仍然不正确、但与之前的错误不同。

    完整日志位于:e2e.ti.com/.../512_5F00_log.txt

    我怀疑 DSP 和 IPU 的代码起始地址需要移动到低位地址、但在测试后、无法移动该地址、就像在任何地方受到限制。我在 dra7-EVM-infoadas.dts 中修改了 DSP 和 IPU 的代码起始地址、如下所示:

    /*更新 Vision SDK 二进制文件的 CMA 区域*/
    ipu2_CMA_pool{(&I)
       reg =<0x8C000000 0x2000000>;
    };

    dsp1_CMA_pool{.dsp1_CMA_pool}
       reg =<0x8E000000 0x2000000>;
    };

    ipu1_CMA_pool{(&I)
       REG =<0x90000000 0x2000000>;
    };

    dsp2_CMA_pool{.dsp2_CMA_pool}
       reg =<0x92000000 0x1000000>;
    };
    我需要补充的是、我正在使用的用例是 LVDS_VIP_MULTI_CAM_3D_srv。

    以上问题也需要您的帮助才能再次回答、谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你(们)好
    您能不能澄清预期用例-是否已查看所有并发用例是否均可安装在512MB 系统内存中。 上述的存储区主要用于为加载代码、数据、IPC 共享存储区分配的存储区、用于加载到系统中其他协处理器的固件映像。 根据您是要运行 VISION SDK/Information ADAS 解决方案(M4/DSP)还是软件定义无线电(在 DSP 上)、您可能会消除不需要的区域。

    总的来说,如果您在协处理器内核上使用功能,则需要从 Linux 中适当地分割所需的内存区域。 如果未使用协处理器内核、请删除存储器区域定义、并相应地确保固件映像未加载到内核。

    如果您要使用远程内核、但仍需要缩减存储器区域大小、则必须为新的存储器映射重建固件(请先确认固件是否适合并使用减少的存储器分配)。