Quantcast
Channel: Embedded Software (Read Only)
Viewing all articles
Browse latest Browse all 25965

Forum Post: RE: question about sysbios 6.33 bug fix

$
0
0

Lin Feng1,

I didn't see this post until after I responded to your previous one.

I see that the fix for this bug was made by the following code which runs at config time:

/*
 *  ======== module$static$init ========
 */
function module$static$init(mod, params)
{
...

/* On C66 devices there is only one common set of Lock registers */
    if ((Program.cpu.deviceName.match(/TCI66/)) ||
        (Program.cpu.deviceName.match(/C66/))   ||
        (Program.cpu.deviceName.match(/Kepler/))) {
        MemoryProtect.pmcCtrl.mpLck = $addr(0x0184AD00);
        MemoryProtect.dmcCtrl.mpLck = $addr(0x0184AD00);
        MemoryProtect.umcCtrl.mpLck = $addr(0x0184AD00);
    }
...

I think you may be able to get the benefits of the fix by adding similar code to your configuration (*.cfg) file.  Can you try adding the following into your application's config file?

var MemoryProtect = xdc.useModule('ti.sysbios.family.c64p.MemoryProtect');
MemoryProtect.pmcCtrl.mpLck = $addr(0x0184AD00);
MemoryProtect.dmcCtrl.mpLck = $addr(0x0184AD00);
MemoryProtect.umcCtrl.mpLck = $addr(0x0184AD00);

If this does not work, another option is to modify the MemoryProtect.xs script in your BIOS 6.32 install to contain the code listed above (i.e. the $static$init() function), just as the bug was fixed.  But, this means you will be building against a modified version of BIOS, which may not be OK for you.

Steve


Viewing all articles
Browse latest Browse all 25965

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>