there are diffrent possibilities on how the loader interprets
the linker address in banked mode. Some start from 0 up (old
datasheets) and some from 3f down with the bank number. However
both is working becouse the chips mirror all the memory in
unused physical space. Another thing is the bank address to
be 20 or 22 bit. That depends from, if the common space is
mirrored again and again on each bank in linear long addresses.
The 20 bit attempt has easy wrap around with the address from
bank to bank, while the 22 bit attempt covers the complete
possible 4 MB space (what is only possible with external
memory becouse internal common ranges occupy too much)
If you use wrong address length, this will make a offset for
each bank in size of the common ranges.
Try to understand, I am shure you can setup each linker to
output the correct address what fits to your loader. Noral
emulators have extra features. If unsure, try the Cosmic HC12
demo. They have plenty of auxiliary tools to convert s-record
between diffrent addresses after linking, but the same can
be done with proper link instructions.
Reply by Marc●February 9, 20042004-02-09
I am using the GNU HC12 and a JprobeHC12 from Hitex.
They are using, applying a Symbol preprocessor (elf/dwarf), to obtain a SYM
and HTX file....
when I am using an applicaiton in banking mode, I have a problem with my
debug. I suspect that the Sym processor can't convert correctly the object
code generated by the GNU compiler... (which seems to be OK with my an old
version of HCS12 Hiware !)
(If I don't use the banking mode this works out fine !!)
- Has anybody seen this problem ?
- Is there a workaround to this ??
Thx and rgrds