[Icc-mot] ICC12 V7.02 paging question
Jim Fiocca
jim at fiocca.net
Wed Feb 7 15:03:57 PST 2007
Edward,
You gave me all the necessary clues. The following does exactly what I
want:
Source file:
.globl TEST_38
.area PAGE_38(paged,rel,con)
nop
TEST_38:
nop
Linker option:
-bPAGE_38:0x388000.0x38bfff
(and no -s2_cpu)
TEST_38 resolves to $8001, and an S2 record at $388000 is generated in
the .s19 file.
Now I think I need to specify S2FORMAT='banked' to load it with NoICE.
So what is your relationship with ImageCraft? Sometimes you seem to be
asking questions, and other times you are answering them. Are you the
assembly-support sub-contractor?
Thanks!
Jim
Edward Karpicz wrote:
> Jim Fiocca wrote:
>
>> I can't seem to get the syntax quite right for paging.
>> I have a project in assembly language and I've just run out of
>> non-paged memory.
>> I'm building from a command line with a Makefile. My processor is an
>> MC9S12E128.
>>
>> How do I get the PAGE_38 addresses to assemble to $8000 but load to
>> $388000?
>>
>> If I put this in the source file:
>> .area PAGE_38(rel,con)
>> nop
>> TEST_38::
>> nop
>>
>> And this in the linker options:
>> -bPAGE_38:0x388000.0x38bfff
>>
>> Then I get an ilink12.exe Application Error (pop-up) and this on the
>> console:
>> !E duart.o(1047): internal error, can't find matching memory map 56
>>
>
>
> Linker crashes like if two conditions are true 1) if custom area
> starts >$FFFF and 2) you have global labels in your custom area >FFFF.
> Try changing in your code
>
> TEST_38::
>
> to
>
> TEST_38:
>
>
>
> But I think you won't be able to get above the FFFF-limit without
> "paged" area attribute. Try changing
>
> .area PAGE_38(rel,con)
>
> to
>
> .area PAGE_38(paged)
>
>
>
>
>>
>> If I put this in the source file:
>> .area extcode(paged)
>> nop
>> TEST_38::
>> nop
>>
>> And this in the linker options:
>> -bextcode:0x388000.0x38bfff
>>
>> Then I get this error on the console:
>> !E duart.o(1047): expanded memory high address 0x38bfff must have
>> 0xFFFF as offset
>>
>
> This was added probably to make "S2 Records Only" option working
> equally well for S12 and HC12 derivatives. C000-FFFF should be
> remapped to highest available PPAGE lastpage, 4000-7FFF should be
> remapped to lastpage-1. I'm also not very happy with this feature. I
> think that when "S2 Records Only" is off, then linker shouldn't
> complain about not page-boundary-aligned upper address.
> BTW this "S2 Records Only" feature doesn't work for S12X, because
> 4000-7FFF should be remapped to lastpage-2 and not to lastpage-1.
> BTW2 "S2 Records Only" option doesn't work if "Make Paged Functions
> Default" is off...
>
>
> Regards,
> Edward
>
>
>>
>> My other options to the linker are
>> -m -g -R -fmots19
>> And I also tried
>> -s2_cpu
>>
>>
>> Thanks,
>> Jim
>>
>>
>>
>> _______________________________________________
>> Icc-mot mailing list
>> Icc-mot at imagecraft.com
>> http://dragonsgate.net/mailman/listinfo/icc-mot
>
> _______________________________________________
> Icc-mot mailing list
> Icc-mot at imagecraft.com
> http://dragonsgate.net/mailman/listinfo/icc-mot
More information about the Icc-mot
mailing list