DSPRelated.com
Forums

code memory of BF533 apparently full (but not really)

Started by nhpdxr September 7, 2006
I've inherited a Blackfin BF533 project, and have found something
rather odd. When I build the project and examine the map file, I find
that the claim is made at the top of the file that all the MEM_L1_code
space is used (see below, sorry if a formatting problem):
Memory Start address End address Qualifier Width Used words Unused words

MEM_L1_CODE 0xffa00000 0xffa0ffff RAM 0x8 0x10000 0x0
yet the last address noted in the same map file, and in the Blackfin
memory in IDDE, is 0xffa0 3572, size is 0x108, so the code memory has
lots of space available.

The problem is that the compiler thinks the code is too large; adding
another instruction (an sprintf) causes it to crash with an "out of
memory" message. I know that the data memory is practically full, and
reducing the size of an array in the code makes the compiler work
again with the new line of code.

Can anyone explain why a full data memory bank seems to affect the
code memory, or explain a way to get more code into this project?
(Incidentally, the map files for my earlier projects give an accurate
reading of the amount of code memory available, but they used SDRAM
for extra memory).

As for the full data memory, it's actually only Data bank A that is
full; how can I park extra arrays (not big enough for SDRAM) into Data
bank B?

These are boards that we developed here using the BF533 in a couple of
different applications, and using the ADDS-USB-ICE and APEX ICE

Thanks.

best wishes,

Nick