[Icc-mot] Icc12-V7, XDP512, Xgate...
Edward Karpicz
ekarpicz at freemail.lt
Fri Jan 11 02:41:57 PST 2008
Hi Joel,
1) Regarding strange page numbers. It may be related to *global* addresses I
used to specify xgate and expanded memory areas. Maybe linker overflows
somewhere. I'm not sure about it, but I remember I saw something like this
somewhere in the past. See below about this.
I'm sorry for not working example I sent you. Finally, after a year long
timeout, I tried to rebuild it :-) and I start to remember that I did it
because Richard asked for simple one. You probably don't know that before
Imagecraft released beta of XGATE asm, I did some xgateasm.inc file, that
consisted of assembler macros emulating XGATE instructions. For example
.macro _CSEM
.if (@0 & 0x8000)
.word 0x00F1+((@0 & 7)<<8) ; CSEM RS
.else
.word 0x00F0+((@0 & 7)<<8) ; CSEM #IMM
.endif
.endmacro
was used to be able to compile XGATE CSEM instruction in old ias6812. Code
in my example is 100%. Unfortunately there's not only a lack of ICC linker
support for XGATE, but also XGATE asm is still buggy.
I converted my example back to use macros but that didn't fix the things.
xgate.o file looked bit strange for me. Definitely it should contain more
code than I see in the asm output:
XH
H 2 areas 0 global symbols
M xgate.s
A text size 0 flags 0
A XFLASH size 1F4 flags 80
T 01 09 00 F2 00 FA E0 6B E3 7B F4 80 54 02
R 00 00 00
I removed .cpu xgate directive and it compiled to proper o file
XH
H 2 areas 0 global symbols
M xgate.s
A text size 0 flags 0
A XFLASH size 1F4 flags 80
T 01 E0 09 E4 00 37 F2 00 FA E0 6B 40 E3 01 7B 40
R 00 00 00 01
T 01 EE F4 80 54 20 02 00
R 00 00 00 01
I'll try to send you xgateasm.inc and macroed version of XGATE code.
2) regarding IDE buildin settings template. It would be nice if it would be
user-editable. I nearly always use custom settings because standard settings
never suit my needs. It is always useful to specify the upper end of RAM
area, leaving some space for stack. It's nice when linker errors you in case
your app asks for more then available. It's also useful to specify upper
border of text area below the vectors => it's also nice when linker erros
you when your code starts overwriting vectors etc etc.
3) regarding addresses. You are right, 0x780000 is a global address.
if you divide it by 0x4000 to get PPAGE (and the most of debuggers and
bootloaders should do so), you will get 0x1E0. Writing this 0x1E0 to PPAGE
is the same as writing 0xE0 , because PPAGE is 8-bits wide register. But
maybe NoICE will fail setting breakpoints on global addresses? I don't know,
but it should be able to flash the target. Didn't you mix DP512 with XDP512
in NoICE? You can try using linear addresses, linear = global - 0x400000.
For example 0x780000->0x380000.
Edward
----- Original Message -----
From: "jpdi"
To: "'Discussion List for ICC08/11/12/16 users. You do NOT need
tosubscribetoicc-announce if you are a member of this.'"
<icc-mot at imagecraft.com>
Sent: Friday, January 11, 2008 10:42 AM
Subject: [Icc-mot] Icc12-V7, XDP512, Xgate...
Hello !
Here are some questions about ICC12 V7, XDP512, and NoIce debugger
1°) strange page numbers
------------------------
I used paged functions with ICC12 V6 (pro version), and Richard helped me
very well some time ago about that. Under DP256, it was OK (pages where
0x30.)
Now, with ICC12V7 and XDP512, in a very little program, compiler reports me
some paged functions for example in 20:8000, that pages are inexistent in
XDP512, where pages begin at 0xE0, if I'm correct about XDP512.
2°) problem in XDP512 config ?
------------------------------
An other question :
Select of XDP512 processor reports
- Program memory 0x4000.0x7fff:... the rest not visible but I suppose OK
(0x4000.0x7fff:0xC000.0xFFFF)
- Data memory 0x0800 seems to be incorrect, because RAM for XDP512 begins at
0x1000, which is paged RAM, RAM non paged beginning at 0x2000
- Stack pointer 0x4000 (correct)
Do anybody knows how to change the value of data memory in the XDP512 config
? (of course, I can use "custom" device too, but using different devices, it
seems to better to modify XDP512 config...)
3°) trying an other config
--------------------------
Edward Karpicz sends me (thanks to him !) by the net XGate prog to evaluate
system...
Configuration is
Device : custom
Program Memory : 0x4000.0x7fff:0xc000.0xfeff
Data memory : 0x2000
Stack pointer : 0x4000
Expanded Memory Enable, expanded mem checked, make paged function default
too, Addr : 0x790000.0x7fffff
Other options : -bXFLASH:0x780800.0x787fff
I suppose these address are in global address format ?
When I use configuration above, the compiler/linker reports me (in the map
file) a function for example in E4:8000, which seems to be correct for
XDP512, but NoIce debugger doesn't flash anything in that location, so
program crashes, because there is no code...
Do anybody can help me about all these things ?
Still working for XGate developpement... It seems there are no many samples
about it (under ICC12 V7), except those from Edward Karpicz ? I try to
develop that kind of samples too...
With all my thanks.
Best regards
Joel Petrique
_______________________________________________
Icc-mot mailing list
Icc-mot at imagecraft.com
http://dragonsgate.net/mailman/listinfo/icc-mot
>>
More information about the Icc-mot
mailing list