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.

TMS320DM8148: DVRRDK_04.01.00.02

Part Number: TMS320DM8148

   我使用DVRRDK_04.01.00.02 开发包,芯片是TMS320DM8148。

   板子上配的DDR是2G,

   目前uboot已经能识别了

    

 

现在的问题是2G的 config_2G.bld内存分配文件不对,系统起不来,

DVRRDK_04.01.00.02 开发包只有512M的内存分配文件,

我参考网上以及8168的1g的配置文件,8148的1g内存分配也ok了

但是2g的内存分配文件,系统一直起不来。

   这个是我目前用的配置文件。

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/*
* ======== config.bld ========
* Build configuration script for HDVPSS drivers
*/
/*
* Linux kernel bootargs:
* mem=512M ddr_mem=2048M console=ttyO0,115200n8 root=/dev/nfs rw <your_fs_path> ip=dhcp rootdelay=5 vram=64M notifyk.vpssm3_sva=0xbfb00000 vmalloc=476M
*/
/* load the required modules for the configuration */
var M3 = xdc.useModule('ti.targets.arm.elf.M3');
var C674 = xdc.useModule('ti.targets.elf.C674');
var buildReleaseConfig = true;
/* configure the options for the M3 targets */
/* M3 compiler directory path */
M3.rootDir = java.lang.System.getenv("CGTOOLS");
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

  这个是启动log

  

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Starting kernel ...
Uncompressing Linux... done, booting the kernel.
Linux version 2.6.37 (zb@PowerMachine) (gcc version 4.5.3 20110311 (prerelease) (GCC) ) #4 Tue Aug 31 16:44:58 CST 2021
CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7f
CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: ti8148evm
bootconsole [earlycon0] enabled
vram size = 20971520 at 0x0
ti81xx_reserve: ### Reserved DDR region @9ff00000
reserved size = 20971520 at 0x0
FB: Reserving 20971520 bytes SDRAM for VRAM
Memory policy: ECC disabled, Data cache writeback
OMAP chip is TI8148 3.0
SRAM: Mapped pa 0x402f1000 to va 0xfe400000 size: 0xf000
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 124672
Kernel command line: console=ttyO0,115200n8 noinitrd mem=512M rootwait=3 rw ubi.mtd=5,2048 rootfstype=ubifs root=ubi0:rootfs init=/init dhcp notifyk.vpssm3_sva=0xBF900000 earlyprintk ddr_mem=2048M vram=20M
PID hash table entries: 2048 (order: 1, 8192 bytes)
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Memory: 490MB 1MB = 491MB total
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

     一直这个bug:BUG: Your driver calls ioremap() on system memory. This leads
                                       to architecturally unpredictable behaviour on ARMv6+, and ioremap()
                                       will fail in the next kernel release. Please fix your driver.

    我试了好多,一直解决不了,有哪位大神能解决这个问题,可以支付报酬。

 

  • 你好,

    请参考下面的论坛讨论。

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/458600/dm8148-2gb-ddr

  • 不行,用这这里的config_2G.bld 编译不通过。

  • 没有有知道吗。是不是没有人这么使用过,官方的人员提的建议也没什么用啊。

  • 有大神能帮忙解决的吗,需要报酬的话,可以私聊我,我的qq:2318516618

  • 我下载了http://e2e.ti.com/cfs-file.ashx/__key/communityserver-discussions-components-files/716/5621.ti814x.rar中的文件,编译不通过,改了一些size的大小,能编译通过,但是烧写后,系统还是起不来。

    这个是我设置的bootargs

    bootargs=console=ttyO0,115200n8 noinitrd mem=512M rootwait=3 rw ubi.mtd=5,2048 rootfstype=ubifs root=ubi0:rootfs init=/init dhcp notifyk.vpssm3_sva=0xBFB00000 earlyprintk ddr_mem=2048M vram=64M vmalloc=476M

    这个是我目前用的配置文件。

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    /*
    * ======== config.bld ========
    * Build configuration script for HDVPSS drivers
    */
    /*
    * Linux kernel bootargs:
    * mem=512M ddr_mem=2048M console=ttyO0,115200n8 root=/dev/nfs rw <your_fs_path> ip=dhcp rootdelay=5 vram=64M notifyk.vpssm3_sva=0xbfb00000 vmalloc=476M
    */
    /* load the required modules for the configuration */
    var M3 = xdc.useModule('ti.targets.arm.elf.M3');
    var C674 = xdc.useModule('ti.targets.elf.C674');
    var buildReleaseConfig = true;
    /* configure the options for the M3 targets */
    /* M3 compiler directory path */
    M3.rootDir = java.lang.System.getenv("CGTOOLS");
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    这个是启动log

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    Starting kernel ...
    Uncompressing Linux... done, booting the kernel.
    Linux version 2.6.37 (zb@PowerMachine) (gcc version 4.5.3 20110311 (prerelease) (GCC) ) #1 Tue Jul 20 19:49:37 CST 2021
    CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7f
    CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache
    Machine: ti8148evm
    bootconsole [earlycon0] enabled
    vram size = 67108864 at 0x0
    ti81xx_reserve: ### Reserved DDR region @9ff00000
    reserved size = 67108864 at 0x0
    FB: Reserving 67108864 bytes SDRAM for VRAM
    Memory policy: ECC disabled, Data cache writeback
    OMAP chip is TI8148 3.0
    SRAM: Mapped pa 0x402f1000 to va 0xfe400000 size: 0xf000
    Built 1 zonelists in Zone order, mobility grouping on. Total pages: 113408
    Kernel command line: console=ttyO0,115200n8 noinitrd mem=512M rootwait=3 rw ubi.mtd=5,2048 rootfstype=ubifs root=ubi0:rootfs init=/init dhcp notifyk.vpssm3_sva=0xBFB00000 earlyprintk ddr_mem=2048M vram=64M vmalloc=476M
    PID hash table entries: 2048 (order: 1, 8192 bytes)
    Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
    Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
    Memory: 446MB 1MB = 447MB total
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    还是包这个bug:BUG: Your driver calls ioremap() on system memory. This leads
    to architecturally unpredictable behaviour on ARMv6+, and ioremap()
    will fail in the next kernel release. Please fix your driver.

    我Rules.make 中的设置 :DVR_RDK_BOARD_TYPE := DM814X_BCH_DVR

    ifeq ($(PLATFORM), ti814x-evm)
    ifeq ($(DDR_MEM), )
    # DDR_MEM := DDR_MEM_512M
    # DDR_MEM := DDR_MEM_1024M
    DDR_MEM := DDR_MEM_2048M
    endif
    ifeq ($(LINUX_MEM),)
    # LINUX_MEM := LINUX_MEM_128M
    # LINUX_MEM := LINUX_MEM_256M
    LINUX_MEM := LINUX_MEM_512M
    endif