参考了文章:https://e2e.ti.com/support/embedded/linux/f/354/t/196258
------------------------------------------------------------------------
加载cmemk.ko dsplinkk.ko sdmak.ko 驱动打印 以下错误
[ 263.640869] CMEMK module: built on Jan 17 2016 at 19:46:18
[ 263.649291] Reference Linux version 2.6.32
[ 263.653930] File /home/bbxm/dvsdk4109/linuxutils_2_25_05_11/packages/ti/sdo/linuxutils/cmem/src/module/cmemk.c
[ 263.666137] CMEM Range Overlaps Kernel Physical - allowing overlap
[ 263.672363] CMEM phys_start (0x83700000) overlaps kernel (0x80000000 -> 0x9c400000)
[ 263.685760] CMEMK Error: Failed to request_mem_region(0x83700000, 35651584)
FATAL: Error inserting cmemk (/lib/modules/2.6.32/kernel/drivers/dsp/cmemk.ko): Bad address
[ 263.779815] DSPLINK Module (1.65.00.02) created on Date: Jan 17 2016 Time: 20:56:01
[ 263.836608] SDMAK module: built on Jan 17 2016 at 19:46:21
[ 263.845031] Reference Linux version 2.6.32
[ 263.849670] File /home/bbxm/dvsdk4109/linuxutils_2_25_05_11/packages/ti/sdo/linuxutils/sdma/src/module/sdmak.c
修改BOOT启动变量
setenv boardmodel SBC37X-B2-3990-LUAC0
setenv mmcargs 'setenv bootargs console=${console} vram=${vram} omapfb.vram=0:4M,1:4M omapdss.def_disp=${defaultdisplay} root=${mmcroot} init=/init mpurate=${mpurate} boardmodel=${boardmodel} mem=68M@0x80000000 mem=384M@0x88000000 rootfstype=${mmcrootfstype} no_console_suspend'
setenv mmcargs 'setenv bootargs console=${console} vram=${vram} omapfb.vram=0:4M,1:4M omapdss.def_disp=${defaultdisplay} root=${mmcroot} init=/init mpurate=${mpurate} boardmodel=${boardmodel} mem=55M@0x80000000 mem=384M@0x88000000 rootfstype=${mmcrootfstype} no_console_suspend'
setenv dvimode
setenv defaultdisplay lcd070
save
boot
修改打印信息正常 不再出现adrress error,看来真的是物理地址配置错了 我还得需要看看DM3730的内核空间分布了
[ 26.910675] CMEMK module: built on Jan 17 2016 at 19:46:18
[ 26.919067] Reference Linux version 2.6.32
[ 26.923706] File /home/bbxm/dvsdk4109/linuxutils_2_25_05_11/packages/ti/sdo/linuxutils/cmem/src/module/cmemk.c
[ 26.935821] CMEM Range Overlaps Kernel Physical - allowing overlap
[ 26.947570] CMEM phys_start (0x83700000) overlaps kernel (0x80000000 -> 0x9b700000)
[ 26.957183] allocated heap buffer 0xe2000000 of size 0x2200000
[ 26.963500] heap fallback enabled - will try heap if pool buffer is not available
[ 26.971221] cmemk initialized
[ 27.052124] DSPLINK Module (1.65.00.02) created on Date: Jan 17 2016 Time: 20:56:01
[ 27.109161] SDMAK module: built on Jan 17 2016 at 19:46:21
[ 27.114685] Reference Linux version 2.6.32
[ 27.121917] File /home/bbxm/dvsdk4109/linuxutils_2_25_05_11/packages/ti/sdo/linuxutils/sdma/src/module/sdmak.c
修改boot arg 可以避免这个错误
setenv boardmodel SBC37X-B2-3990-LUAC0
setenv mmcargs 'setenv bootargs console=${console} vram=${vram} omapfb.vram=0:4M,1:4M omapdss.def_disp=${defaultdisplay} root=${mmcroot} init=/init mpurate=${mpurate} boardmodel=${boardmodel} mem=68M@0x80000000 mem=384M@0x88000000 rootfstype=${mmcrootfstype} no_console_suspend'
setenv mmcargs 'setenv bootargs console=${console} vram=${vram} omapfb.vram=0:4M,1:4M omapdss.def_disp=${defaultdisplay} root=${mmcroot} init=/init mpurate=${mpurate} boardmodel=${boardmodel} mem=55M@0x80000000 mem=384M@0x88000000 rootfstype=${mmcrootfstype} no_console_suspend'
setenv dvimode
setenv defaultdisplay lcd070
save
boot