TI论坛
直播中

赵秀英

8年用户 171经验值
私信 关注
[问答]

DM368板子DDR大小更改后模块挂载失败

    公司之前的demo板,基于DM368 + 海力士128M DDR + 三星128M Flash + TVP5150 AD解码器;
    公司自己做的板子,  基于DM368 + 镁光256M DDR + 256M Flash + TVP5158 AD解码器;
    UBL、u-boot中相关DDR的代码已经根据镁光256M DDR作了调整,内核和文件系统还有应用,先不作更改放到板子上,测试系统,后续的驱动、应用等再更改。目前系统启动后出现如下问题:
======Run application sctrip file=====
=====cd /dm368/=====
CMEMK module: built on Mar 24 2011 at 19:34:57
  Reference Linux version 2.6.32
  File /sdk/build/DVSDK_4_02/4_02_00_06/arago-install/arago-tmp/work/dm365-evm-none-linux-gnueabi/ti-linuxutils-1_2_26_01_02-r52d/linuxutils_2_26_01_02/packages/ti/sdo/linuxutils/cmem/src/module/cmemk.c
allocated heap buffer 0xc8000000 of size 0x4400000
heap fallback enabled - will try heap if pool buffer is not available
CMEM Range Overlaps Kernel Physical - allowing overlap
CMEM phys_start (0x1000) overlaps kernel (0x80000000 -> 0x83c00000)
cmemk initialized
IRQK module: built on Mar 24 2011 at 19:35:11
  Reference Linux version 2.6.32
  File /sdk/build/DVSDK_4_02/4_02_00_06/arago-install/arago-tmp/work/dm365-evm-none-linux-gnueabi/ti-linuxutils-1_2_26_01_02-r52d/linuxutils_2_26_01_02/packages/ti/sdo/linuxutils/irq/src/module/irqk.c
irqk initialized
EDMAK module: built on Mar 24 2011 at 19:35:06
  Reference Linux version 2.6.32
  File /sdk/build/DVSDK_4_02/4_02_00_06/arago-install/arago-tmp/work/dm365-evm-none-linux-gnueabi/ti-linuxutils-1_2_26_01_02-r52d/linuxutils_2_26_01_02/packages/ti/sdo/linuxutils/edma/src/module/edmak.c
=====run app=====


cksic login: Mount TF Card OK!  (/dev/mmcblk0p1)

insmod: can't insert 'cmemk.ko': File exists
insmod: can't insert 'irqk.ko': File exists
insmod: can't insert 'edmak.ko': File exists
insmod: can't insert 'dm365mmap.ko': File exists
Encode demo started.
CMEM Error: init: Failed to open /dev/cmem: 'No such device'
CMEM Error: init: Failed to open /dev/cmem: 'No such device'
CMEM Error: CMEM file descriptor -1 (failed 'open()'), ensure CMEMK kernel module cmemk.ko has been installed with 'insmod'CMEM Error: CMEM file descriptor -1 (failed 'open()'), ensure CMEMK kernel module cmemk.ko has been installed with 'insmod'CMEM Error: CMEM file descriptor -1 (failed 'open()'), ensure CMEMK kernel module cmemk.ko has been installed with 'insmod'Failed to allocate memory.
Error: Failed to create buftab
Error: Failed to create video encoder: h264enc


可以看到cmem分配了 (0x80000000 -> 0x83c00000)60M的空间,并初始化成功。后面挂载内核模块的时候出错:

insmod: can't insert 'cmemk.ko': File exists
insmod: can't insert 'irqk.ko': File exists
insmod: can't insert 'edmak.ko': File exists
insmod: can't insert 'dm365mmap.ko': File exists

因挂载cmemk.ko模块失败,导致后面打开/dev/cmem设备失败。


想请教下,DDR大小更改后,上面四个模块为什么挂载失败?是不是因为内存大小更改后,需要重新配置cmem模块?

回帖(6)

乔婧

2019-2-21 13:03:08
你好,
使用新的DDR配置的UBL,但uboot/uImage/文件系统都使用原来的,应用软件是否能正常运行?
你使用的是DVSDK而不是IPNC的软件?
举报

赵秀英

2019-2-21 13:18:30
引用: 物是人非aaa 发表于 2019-2-21 15:47
你好,
使用新的DDR配置的UBL,但uboot/uImage/文件系统都使用原来的,应用软件是否能正常运行?
你使用的是DVSDK而不是IPNC的软件?

孟工:
    您好!
    我是基于DVSDK_DM365_4_02_00_06开发。
    使用新的DDR配置UBL,uboot中,我针对DDR的配置的修改有:
    DVSDK目录/psp/u-boot-2010.12/include/configs/davinci_dm365evm.h中,
     CONFIG_NR_DRAM_BANKS为8;
     PHYS_SDRAM_1_SIZE为256M;
     CONFIG_MAX_RAM_BANK_SIZE为32M;
    同时,把psp/u-boot-2010.12/board/davinci/common/misc.c中dram_init_banksize()函数和psp/u-boot-2010.12/arch/arm/lib/board.c中的__dram_init_banksize()函数,根据RAM大小和BANK数初始化。


    内核从demo移植到kernel未作更改。是否UBL DDR更改后,内核中也要做相应的更改?


   
    如上图,因为cmemk.ko没有正常insmod成功,基于cmem的应用层的代码也是无法启动的。
举报

赵秀英

2019-2-21 13:25:51
引用: 芯片代理商 发表于 2019-2-21 16:02
孟工:
    您好!
    我是基于DVSDK_DM365_4_02_00_06开发。

举报

乔婧

2019-2-21 13:43:58

你好,
你能否先回答一下“使用新的DDR配置的UBL,但uboot/uImage/文件系统都使用原来的,应用软件是否能正常运行?”?
你修改Uboot后,应用程序无法正常运行时,uboot里面的配置的参数是否有改动?
DVSDK我不是很熟悉,我用的是IPNC的软件。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分