HS08 Port H register stacking problem

The pshh asm instruction should follow psha to be consistent with portRESTORE_CONTEXT and the pxPortInitialiseStack function’s context restore unstacking order.  For example, this incorrect order caused obvious issues with the H:X register pair (HS08 parameter passing convention only) being passed the correct 16-bit pointer address through pvParameters during the first call to the created task after the scheduler is started. The code in question is shown below.     #define portSAVE_CONTEXT()                                            {                                                                        extern volatile void * pxCurrentTCB;                                extern volatile unsigned portBASE_TYPE uxCriticalNesting;                                                                                __asm( "pshh" );            /* Save H context */                    __asm( "lda uxCriticalNesting" );                                    __asm( "psha" );                                           

HS08 Port H register stacking problem

Where did you get the code from?  There is not an official HS08 port as far as I know.  I cannot find the code you highlight in the download.   ???

HS08 Port H register stacking problem

Here’s the link: http://forums.freescale.com/attachments/freescale/8BITCOMM/2709/1/FreeRTOS_HC(S)

HS08 Port H register stacking problem

Can you write on that forum or to the author of the port?