AnsweredAssumed Answered

porting SHARC code to Griffin (40bit)

Question asked by ThomasT Employee on Jan 17, 2018
Latest reply on Jan 25, 2018 by Kader.M

when porting legacy Sharc code to SC5xx we ran into issues with 40 bit memory accesses to variables. After switching a memory bank to 40 bit via REG_CMMR0_SYSCT, both the Memory Browser in CCES as well as all compiled "C"-code accesses the wrong memory, so sharing 40 bit memory between assembly and "C" is no longer possible -- it did work on all legacy Sharcs we used though.


If this is supposed to work, we are happy to provide a small project showing the issue. The only workaround currently seems to be to use hard-coded memory locations from "C"; e.g., *(0x2c0600) = 1; to access 40-bit memory 0xb0100. This is, of course, not possible for the majority of our projects.


Switching the compiler char-size to 32 bit (which may solve the issue) is no option, as even basic functions like "adi_int_InstallHandler" no longer compile with 32 bit, probably due to library issues.