FreeRTOS on MC9S12DP512 (Freescale HCS12X)

nobody wrote on Monday, April 23, 2007:

Hello,
I’m trying to run FreeRTOS on a EvalBoard with a HCS12X processor using the banked memory model. After the first initialization and the startup code there is a CALL instruction so that the function Init() is started and it would never really enter it (just breaks). I think it has something to do with the fact that I want to use banked memory and the functions are defined as __far. If anyone has encountered that problem or has any ideas how to fix it, I’d be very grateful.

Best regards,
AD

embeddedc wrote on Monday, April 23, 2007:

There is a banked mode example.  Did you use this as your starting point.

Are you saying that Init() is called from the startup code, before main(), but the execution never reaches this?  Can you run a simple hello world application without FreeRTOS successfully?

nobody wrote on Monday, April 23, 2007:

Hello,
Yes, I was able to run a simple program before I tried flashing freeRTOS. Now I am trying the HCS12_CodeWarrior_banked demo. Init() should normally be called before main(), but somehow it cannot make a call. I tried the Small memory model demo as well and it could call Init() without a problem, however stopped at a later spot.
So could there be anything that requires extra configuration or something like that?

Best regards,
AD

embeddedc wrote on Monday, April 23, 2007:

I’m not too clued up on this port, but take a look at the following thread with respect to the use of the processor expert.  Basically, don’t.

https://sourceforge.net/forum/forum.php?thread_id=1716804&forum_id=382005

nobody wrote on Monday, April 23, 2007:

Thanks. I don’t really use processor expert, if I open a new project it doesn’t ask me whether I’d like to use it or not. I’ll check tomorrow what I can do, since I’m not at the workplace anymore. Thanks once again!

nobody wrote on Monday, April 23, 2007:

P.S. I’ve also built the demo with a makefile but the result was the same. Could the problem be in the linker parameter file, because this one in the demo is actually for the dp256 version of the processor.

nobody wrote on Wednesday, April 25, 2007:

Hi,
I just wanted to say that I could actually solve the problem by changing the addresses of the memory sections in the .prm file using a .prm file for MC9S12XDP512 as a template.
What I would like to ask is, however, whether someone could point out what else one would probably need to change on source code and stuff to adapt the DP256 port to a XDP512 chip.

Thanks