Sign in

username:

password:



Not a member?

Search 68hc12



Search tips

Subscribe to 68hc12



68hc12 by Keywords

68HC1 | 812A4 | 9S12DP256 | Bootloader | CodeWarrior | D60A | Debugger | DP256 | ECT | EEPROM | EVB | Flash | HC1 | HCS12 | I2C | IAR | ICC1 | Interrupts | LCD | M68KIT912DP256 | MC9S12DP256 | MC9S12DP256B | Metrowerks | Motor | MSCAN | Multilink | PLL | Quadrature | SDI | SPI | Transceiver | XFC

Ads

Discussion Groups

See Also

DSPFPGAElectronics

Discussion Groups | 68HC12 | help:Interrupt vector can't be produced!

Join our technical discussions about Freescale Microcontrollers: M68HC12. (Freescale Semiconductor is a Subsidiary of Motorola).

help:Interrupt vector can't be produced! - iamhillson - Sep 3 0:57:00 2005

I use IAR embedded workbench for motorola hc12 2.43c on MC9S12C64.

I edited the linker command file. But when linked, the interrupt vector
address is BGND. for example, I put one ISR in address:ff8a. But after
me linked the program, run it. When checked the memory, to my surprise,
oxff8a is BGND.

Please help me, Thank you




(You need to be a member of 68hc12 -- send a blank email to 68hc12-subscribe@yahoogroups.com )


put const datas in paged area with ICC12 - Author Unknown - Sep 5 11:28:00 2005

Hello !

I use ICC12 professionnal version, with NoIce debugger, 9s12dp256 processor.

I wrote a program for a graphic LCD display, using font characters (9
character sets).
So I wrote before a program which translates graphic BMP windows files with
fonte character into texte files (on request, if somebody interested, I can
upload the source of that program) I can include in my S12 program, for
example :

// globals datas
const char gb_police007[] = {
#include "..\fontes\arial07.inc"
};
const char gb_police008[] = {
#include "..\fontes\arial08.inc"
};

It's in fact as if I wrote
const char gb_police007[] = {
0x22, 0x77, 0x12... // all datas of character set
};

The maximum size of a character set is less than 8k.
When I look the .mp file, I can see the address where the linker put the
characters sets :
402a _gb_police007
4534 _gb_police008
4abe _gb_police009
etc...
9383 _gb_police024
a9f2 _main

By reading that, I can see all characters sets take (a9f2 - 402a) = 27080
bytes.
I can see too that all my program size is about 48 Kbytes.
This program runs good, with all functions NOT in PAGED AREA.

Now, of course I've to increase the size of this program, and of course I'm
obliged to put functions in paged area.
I first tried to compile with options "Expanded Memory", "Make paged
functions default", but the compiler ICC12 says me
"want size..."...

I suppose it's because the total amount of characters sets plus functions in
no Paged area is greater than 32k (0x4000..0x7fff and 0xc000..0xffff areas).

So I tried to put character sets into paged area (one function for one
character set), accessing datas by functions NON in paged area, by setting
PPAGE "correctly". Below function for character sets :
#pragma paged_functions POLICE_SetPolice007 POLICE_SetPolice008 //
and other functions in PAGED area
void POLICE_SetPolice007 (TPolice *police)
{ const char police007[] = {
#include "..\fontes\arial07.inc"
};

police->page = PPAGE; // now a calling function will
be able to access the page
police->adresse = police007; // ... and address of
characters sets.
}

void POLICE_SetPolice008 (TPolice *police)
{ const char police008[] = {
#include "..\fontes\arial08.inc"
};

police->page = PPAGE;
police->adresse = police008;
}
// etc...

Calling function not in paged area would say :
PPAGE = police->page; // prepare PPAGE register
.../...

But the compiler ICC12 don't seems to put police007 in paged area (.mp file
report only 56 bytes as size of the functions POLICE_SetPolice___). In fact,
I don't know where compiler put these const datas...

I tried with "static const char" without more sucess...
And if I write all functions for the 9 characters sets, compiler says me
"Want size"
So I can suppose compiler put datas not in paged area...

Now, here is my question :
How I can force the compiler ICC12 to put const datas in paged area ?

In other words, the question could be :
How I can put anything in paged area with ICC12 ?

With all my thanks.

Joel





(You need to be a member of 68hc12 -- send a blank email to 68hc12-subscribe@yahoogroups.com )