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

Bootloader, Application, Structures and deep pointer

Bootloader: C:0x0000 - C:0x7FFF
Manages CAN-Communication and in-field update.
Application C:0x8000 - C:0xEFFF
Applications is controlled with bootloader over CAN 2.0.

Compiled both seperatly and merge the Hex-file. Interrupts and function calls work.

At level of 8 successive funtions calls the acces to an struct in Applications XDATA mem is incorrect. The expected pointer is not given.

Any adwise?

Parents
  • I'm still here.

    This testmain() in the applications-µVision-project works fine. Debugging information over serial port. All adresse corect.

    void main(void)
    {
      tXS_ParameterPtr paramPtr;
      paramPtr->value[0x00u] = 0x00u;
      XSIM_EventDetachAll(paramPtr);
      while(1);
    }
    

    XSIM_EventDetachAll calls XSDevice_GetEventChanByID with the global address of DeviceGroups. The eventChannelPtr is returned correct.

    Your use of function pointers blow "the compilation of the second project" Really?

    I go home for today, perhaps solution tomorrow.

    Micha

Reply
  • I'm still here.

    This testmain() in the applications-µVision-project works fine. Debugging information over serial port. All adresse corect.

    void main(void)
    {
      tXS_ParameterPtr paramPtr;
      paramPtr->value[0x00u] = 0x00u;
      XSIM_EventDetachAll(paramPtr);
      while(1);
    }
    

    XSIM_EventDetachAll calls XSDevice_GetEventChanByID with the global address of DeviceGroups. The eventChannelPtr is returned correct.

    Your use of function pointers blow "the compilation of the second project" Really?

    I go home for today, perhaps solution tomorrow.

    Micha

Children