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.

Firmware loader and memory maps

Expert 2220 points

Hi

I am transitioning out of EZSDK 5_0 into 5_2. Every time I use the firware loader to load my M3 executable linux immediately crashes. The M3 exectuable that i am using was built in ezsdk 5_0 and since there is no source code in the new EZSDK i have no choice but to keep building it there. In my mind linux must be crashing because I am loading over the top of something important, however, when I look at the memory maps eveything looks fine. 

My boot args are 

setenv bootargs console=tty02,115200n8 rootwait rw mem=211M earlyprintk notifyk.vpssm3_sva=0xBF900000 vram=50M ti816xfb.vram=0:16M,1:16M,2:6M root=/dev/nfs nfsroot=10.1.1.154:/opt/targetFS/sdk_5_2 ip=dhcp

 

and my memory map is attached1425.vc3_m3video_debug.xem3.txt

Once thing that i was unsure about is when using the Firmware loader and using a .bin to indicate the shared sections. If every section is not listed or if there was an error in it could that cause the firmware loader to crash like this? I tried loading the prebuild M3 code with my .bin file and it did not crash. which leads me to believing that it is not the problem.

Another thought i had was the version of syslink that it was build against. Could that have something to do with it? 

Any idea what might be going wrong?

Thanks

  • I'm fairly sure there has never been any source code for the binaries supplied with the EZSDK that have an extension "xem3" so why not upgrade to the latest EZSDK?

    If you want to get things working with the old EZSDK then you have an old memory map and you'll need to examine the firmware_loader source code in both EZSDKs to make sure that the memory addresses in the latest source code are the same as the ones in the old code.

    Ralph

     

  • Ralph, the xem3 extension is the extension of the binaries used with the M3 media cores on the DM8168. You can just look in your EZSDK's prebuilt binaries folder found at /EZSDK_5_2/board-support/prebuilt-images. I was supplied with source code for the SDK 5_0 M3s. i have tried building it in the new SDK but was unsuccessful. Since there are no base projects to port into i am left with code that worked for an older SDK that has changed quite a bit. In order to use firmware loader you have to call PrcMgr and syslink which makes me think that it has to be an address conflict with one of those two.

  • I realise that, but after I have built everything in the EZSDK there are only 2 files with xem3 extensions and they are both closed source;

    ti-ezsdk_dm816x-evm_5_02_02_60/board-support/prebuilt-images/dm816x-firmware_05_02_00_15/dm816x_hdvicp.xem3

    ti-ezsdk_dm816x-evm_5_02_02_60/board-support/prebuilt-images/dm816x-firmware_05_02_00_15/dm816x_hdvpss.xem3

    If you have source code for these, nice one! I know that the source is under NDA. As I say, if you want to use media controller binaries with a new EZSDK you'll have to change the memory map back to what it used to be in the firmware_loader source and recompile that application.

    Ralph

  • Hi guys

     

    I have installed 5.03 and booting from NFS if I want to use the new media controller firmware from TI (ti816x_hdvpss) do i still need to load the dm818 binary's?  and do I have to change my memory map to match the notify address of 0xA0000000 for the vpss? here is a copy of my boot script and this does not seems to put out errors but, I'm not sure if my code is a problem or I'm not loading the correct drivers

    cd ~/dm816x-evm/lib/modules/2.6.37/kernel/drivers/dsp/
    insmod syslink.ko
    sleep 1
    cd ~/dm816x-evm/usr/bin/
    ./slaveloader startup VPSS-M3 ti816x_hdvpss.xem3
    sleep 2
    cd ~/dm816x-evm/lib/modules/2.6.37/kernel/drivers/video/ti81xx/vpss/
    insmod vpss.ko debug=1
    sleep 2
    cd ~/dm816x-evm/lib/modules/2.6.37/kernel/drivers/video/ti81xx/ti81xxfb/
    sleep 2
    insmod ti81xxfb.ko  debug=1
    cd ~/dm816x-evm/lib/modules/2.6.37/kernel/drivers/video/ti81xx/ti81xxhdmi/
    insmod ti81xxhdmi.ko  debug=1
    cd ~/dm816x-evm/lib/modules/2.6.37/kernel/drivers/media/video/ti81xx
    insmod ti81xxvin.ko  debug=1
    insmod ti81xxvo.ko  debug=1
    cd ~/dm816x-evm/lib/modules/2.6.37/kernel/drivers/dsp
    echo INSTALLING CMEMK
    insmod cmemk.ko phys_start=0xA8000000 phys_end=0xAA800000 pools=10x4194304

    thanks

    Robin