[Icc-mot] Re: XGate support
Edward Karpicz
ekarpicz at freemail.lt
Fri Feb 29 09:54:54 PST 2008
The answer is yes, ICC V7 and even V6 is enough to work with S12X. You just
need an header file and you old code should compile quite easily. Old code
should work, except for some nuisances:
1) different PPAGE's.
a) PPAGE range is 0xE0-0xFF for S12XD512, paged memory setting
0x380000.0x3FFFFF. 0x38-0x3F - for S12E128, paged memory setting
0xE0000.0xFFFFF
b) Different nonpaged area mapping. Nonpaged 0x4000.0x7FFF maps to
last_page-1 (or the top most page minus 1) on S12. So nonpaged 0x4000.0x7FFF
is mapped to PPAGE 0x3E on all S12. But in S12X, nonpaged 0x4000.0x7FFF maps
to last_page-2, it's PPAGE=0xFD. Bla bla bla, S12 after reset has this
nonpaged mapping:
0x4000.0x7FFF - PPAGE=lastpage(0x3F)-1=0x3E
0x8000.0xBFFF - PPAGE=0. PPAGE=0 in single chip mode is the same like the
bottom most PPAGE, 0x38 for 128k S12 parts.
0xC000.0xFFFF - PPAGE=lastpage=0x3F
S12X:
0x4000.0x7FFF - PPAGE=lastpage-2=0xFD
0x8000.0xBFFF - PPAGE=lastpage-1=0xFE
0xC000.0xFFFF - PPAGE=lastpage=0xFF
Above may be important for Srecords converting.
2) Preemptive RTOSes should be upgraded due to 16bits CCR register and
interrupt priorities. Interrupt priorities matter also here:
3) If you were using interrupt nesting, then be aware that CLI in ISR is not
enough to interrupt an interrupt in S12X. Normally you adjust interrupt
priorities in interrupt controller, then CLI in ISR's of interest. If you
don't want to bother with interrupt controller, then you should clear higher
CCRh bits.
Edward
> OK, let me start with a simpler question regarding the current status of
> ICC12 V7: If I upgrade my processor from an S12E128 to an S12XDP512, will
> I be able to compile my original S12 code for the new target?
>
> Thanks,
> Jim
>
>
> Jim Fiocca wrote:
>> I was also wondering the current status of XGate support. I went to the
>> archive site and sorted by subject, but couldn't find anything about
>> XGate - though I know it's been discussed on the list before.
>>
>> 1) Will the assembler recognize and assemble the new instructions for the
>> main core?
>>
>> 2) Will the compiler use the new instructions?
>>
>> 3) Will there be a 2nd assembler for the XGate co-processor (I wouldn't
>> expect a 2nd compiler)?
>>
>> Thanks,
>> Jim
>>
>>
>> Richard Man wrote:
>>> No further work has been done yet. We do not yet have the right
>>> resources...
>>>
>>> At 02:09 PM 2/27/2008, you wrote:
>>>> What is the status on the XGate processors?
>>>>
>>>> Richard Man wrote:
>>>>> Change log excerpt:
>>>>> V7.04 - Feb 11th, 2008
>>>>> IDE
>>>>> - [ADV and PRO only] Added capability to create Library projects.
>>>>> Compiler
>>>>> - 7.03A did not generate calls to "uint2fp" for unsigned to FP
>>>>> conversion
>>>>> - the compiler was trashing 'D' for complicated indirect function
>>>>> call, and thus may overwrite the first argument to the function.
>>>>> e.g.
>>>>> tab[i]->func(0); // D overwritten
>>>>> Header Files
>>>>> - the DP512 header file was incorrect.
>>>
>>> // richard (This email is for mailing lists. To reach me directly,
>>> please use richard at imagecraft.com)
>>> _______________________________________________
>>> 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
>
> _______________________________________________
> Icc-mot mailing list
> Icc-mot at imagecraft.com
> http://dragonsgate.net/mailman/listinfo/icc-mot
>
More information about the Icc-mot
mailing list