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

Discussion Groups | 68HC12 | More memory problems

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

More memory problems - fage...@technochanter.com - Apr 25 9:51:45 2008

Hello,
I am having a huge problem understanding how to use 48k of linear flash using the MC9S12GC64, CodeWarrior 4.2, and inDart-One for flashing.

I'm just above the 32k limit now and would really like to get this to work.

I have seen many posts in different threads on the subject in this forum, and it seems that people have had success. I simply cannot seem to put all relevant information together. I really want to continue using the small memory model, non banked.

>From what I understand I need to...

1)Update the .prm file:
DEFAULT_RAM INTO READ_WRITE 0x1000 TO 0x3FFF;

DEFAULT_ROM,_PRESTART, STARTUP,
ROM_VAR, STRINGS,
NON_BANKED, COPY INTO READ_ONLY 0x4000 TO 0xFEFF;

2)Initiate the PPAGE register to something (or not?)

3)Need to get a new driver for the flash programmer. Where would I find this?

4)More???

Then I can hopefully stick all my code into
#pragma CODE_SEG __NEAR_SEG NON_BANKED
like I have done so far and live happily ever after. Only, I feel it will not be all that simple.

Any help most appreciated,
Anders
------------------------------------



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


Re: More memory problems - Edward Karpicz - Apr 25 10:07:38 2008

Hello Anders
> Hello,
> I am having a huge problem understanding how to use 48k of linear flash
> using the MC9S12GC64, CodeWarrior 4.2, and inDart-One for flashing.
>
> I'm just above the 32k limit now and would really like to get this to
> work.
On C and GC64 and bigger are unique in that you can have more than 48k of
linear flash, up to 60k on GC64. You may see that in the memory map.
Unfortunately I don't have such chip and can't provide you with step-by step
instructions. I'm using C32 with linear 8000-ffff memory with ICC12.
>
> I have seen many posts in different threads on the subject in this forum,
> and it seems that people have had success. I simply cannot seem to put all
> relevant information together. I really want to continue using the small
> memory model, non banked.
>
>>From what I understand I need to...
>
> 1)Update the .prm file:
> DEFAULT_RAM INTO READ_WRITE 0x1000 TO 0x3FFF;

That's INITRM remapped RAM, isn't it? I see in datahseet that C64 INITRM is
initialized with 0x9 out of reset. That's 3k of RAM t 400-fff, and remaining
1k is hidden under register block. Is documentation incomplete or are you
remapping RAM in startup.c?

>
> DEFAULT_ROM,_PRESTART, STARTUP,
> ROM_VAR, STRINGS,
> NON_BANKED, COPY INTO READ_ONLY 0x4000 TO 0xFEFF;

Address range seems good.

>
> 2)Initiate the PPAGE register to something (or not?)

This is not necessary. Out of reset PPAGE defaults to 0, but in page window
you see mapped the least PPAGE, 0x3C for 64k S12 parts. It's really working.

>
> 3)Need to get a new driver for the flash programmer. Where would I find
> this?
It's possible. Or you may need to convert your S records using something
like P&E Log2phy utility. I'm not sure, but I think it was able to map
0-ppage records to proper ppage, can't say for sure.

>
> 4)More???
>
> Then I can hopefully stick all my code into
> #pragma CODE_SEG __NEAR_SEG NON_BANKED
> like I have done so far and live happily ever after. Only, I feel it will
> not be all that simple.

There must bne options to not use banked memory at all.

Regards
Edward

>
> Any help most appreciated,
> Anders
> ------------------------------------



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