Hello, I was trying to expand the RAM of my Blackfin 537 from 64 MB to (at least) 128 MB, and I modified the u-boot and the kernel to achieve this. But when I thougt I got it, I found about this anomaly 05000263, and discovered that even with 64 MB, total RAM was limited to 56 MB.
I looked for information on the Internet, and found these pages:
My blackfin is rev 0.2, so according to these, it is impossible to get more than 56-60 MB, because it is limited by the code in the kernel to avoid hardware loop errors:
#if (defined(CONFIG_BFIN_ICACHE) && ANOMALY_05000263)
/* Due to a Hardware Anomaly we need to limit the size of usable instruction memory to max 60MB, 56
* if HUNT_FOR_ZERO is on 05000263 - Hardware loop corrupted when taking an ICPLB exception
if (memory_end >= 56 * 1024 * 1024)
memory_end = 56 * 1024 * 1024;
#endif /* CONFIG_DEBUG_HUNT_FOR_ZERO */
printk(KERN_NOTICE "Warning: limiting memory to %liMB due to hardware anomaly 05000263\n", memory_end >> 20);
I think it is plain that I can't use more than 64 (56) MB in my system, but I wonder what will happen if I remove those limitations in the code and recompile. What kind of errorsor malfunctioning may I see?
I did it, recompile removing the limitation, and at first everything seemed to be perfect, my system said it has 128 MB, and I could reserve much more memory in my application than before. But I finally encountered some problems when executing my application, such as "Data access CPLB miss"
What kind of errors may I see? There is really no chance to expand the RAM beyond the 64 MB safely?
If I use rev 0.3 and do the same process, will the problem be totally fixed and everything be ok?
Thanks you for your attention.