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.

IPNCRDK 3.5 run in 256MB mode failed

Hi TI,

I config the IPNCRDK 3.5 in 256MB mode and run on Appro's IP cam reference design, it runs ok. However, I found that all buffer address is still 0xbxxxxxxx. Eg. the remote debug shared memory, the frame buffer memory and the bits memory. So I have modify following:

1. notifyk.vpssm3_sva=0x8FD00000

2. change init.sh

  ./bin/remote_debug_client.out 0x8ff00000 &

3.  change send_cmd.sh and wait_cmd.sh

   ./bin/remote_debug_client.out 0x8ff00000

4. change config_256M.bld

var DDR3_ADDR_128_REG1_START = 0x88000000;
var DDR3_ADDR_128_REG1_END = 0x90000000;

After made these changes, and rebuild. I found that the VPSS and VIDEO firmware load fails. What else I should change to make this work?

Regards,

ChingHok


  • ChingHok,

    The 256MB mode should not change the syslink notify/debug server addresses to 0x8... instead of 0xB...

    If you notice - In 512MB map 

    var DDR3_ADDR_256_REG0_START = 0x80000000;
    var DDR3_ADDR_256_REG0_END = 0x90000000;
    var DDR3_ADDR_256_REG1_START = 0xB0000000;
    var DDR3_ADDR_256_REG1_END = 0xC0000000;

    But in 256MB map - 

    var DDR3_ADDR_128_REG0_START = 0x80000000;
    var DDR3_ADDR_128_REG0_END = 0x88000000;
    var DDR3_ADDR_128_REG1_START = 0xB8000000;
    var DDR3_ADDR_128_REG1_END = 0xC0000000;

    So the lower 128MB start address is different. And all offsets from the 128_REG1 section bottom remain the same.

    Regards

    Rajat

  • Hi Rajat,

    I notice that on APPRO's reference design, 256MB on EMIF0 and 256MB on EMIF1. So if I disable EMIF1, then reading of address 0x8.... is identical to 0x9...., also identical to 0xa..., and identical to 0xb..., so if the syslink notify/debug server address keep on 0xb..., there is no problem.

    However, on my design, my EMIF0 attached with an 512MB of DDR3, then 0x8... equivalent to 0xa..., and 0x9... equivalent to 0xb..., so if the syslink notify/debug server address still keep on 0xb..., it will access memory beyond 256MB. So how to fixed this?

    Regards,

    ChingHok

  • You would also need to change the UBOOT code for configuring to 256MB memory config

    Please change the values in file u-boot\board\ti\ti8148_ipnc\evm.c, function: config_ti814x_ddr.

    DMM_LISA_MAP macro values needs to be change to match 256MB config with memory as Rajat mentioned above

    Regards,

    Raghu

  • ChingHok,

    Incase you want to support size reduction on EMIF 0 only and you end up changing the memory map. You can make 

    notifyk.vpssm3_sva=0x8FD00000

    work. However you need to make sure that this area is marked non-cacheable in the AMMU configuration file.

    Regards

    Rajat