This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

More Pointer Problems

Here's another good one. Again, works fine on simulator/debugger, but not on the target hardware.

If I do this:

BYTE process_Help(char *cmdBuffer) reentrant
{
cmdBuffer[0] = '\0';
printf( "Help Message");
return TRUE;
}

everything works fine. But if I do this:

BYTE process_Help(char *cmdBuffer) reentrant
{
char *strHelp = "Help Message";
cmdBuffer[0] = '\0';
printf(strHelp);
return TRUE;
}

it works fine on the simulator/debugger, but nothing is displayed when executed on the target hardware.

Any/All help welcome and appreciated.

Thanks,
Chris Beattie

Parents
  • Okay, I read that part of the manual and tried to change my code to the following:

    BYTE process_Help(char xdata *cmdBuffer) reentrant
    {
        char xdata *strHelp = "Help Message";
        cmdBuffer[0] = '\0';
        printf(strHelp);
        return TRUE;
    }
    

    And now it doesn't print anything in the simulator and it prints garbage on the target...

    Chris

Reply
  • Okay, I read that part of the manual and tried to change my code to the following:

    BYTE process_Help(char xdata *cmdBuffer) reentrant
    {
        char xdata *strHelp = "Help Message";
        cmdBuffer[0] = '\0';
        printf(strHelp);
        return TRUE;
    }
    

    And now it doesn't print anything in the simulator and it prints garbage on the target...

    Chris

Children
No data