S3A6 USBX Device Class CDC-ACM Ejecution failed

Hi

We are trying to communicate our electronic board with the 64-pin S3A6 synergy micro with a PC through the serial USB port, With the USBX Device class CDC-ACM.

We have tested with the project USB_CDCACM_Device on a S5D9 PK development board and it works perfectly.

When we use the USBX Device class CDC-ACM in our project with the S3A6 and we configure it, it compiles well, the problem comes when we try to debug.

The debug stop in the function:

VOID ux_dcd_synergy_register_set (UX_DCD_SYNERGY * dcd_synergy, ULONG synergy_register, USHORT value)
{
     USHORT * dcd_reg;

     / * Calculate register * /
     dcd_reg = (USHORT *) ((dcd_synergy-> ux_dcd_synergy_base) + synergy_register);

     / * Write to a Synergy USB register. * /
     * dcd_reg = * dcd_reg | value;
}

inside ux_dcd_synergy_register_set.c, specifically in the line: * dcd_reg = * dcd_reg | value;

This function is called with the next parameters by:

ux_dcd_synergy_register_set(dcd_synergy, UX_SYNERGY_DCD_INTENB0,  (UX_SYNERGY_DCD_INTENB0_VBSE |
                                                                                                              UX_SYNERGY_DCD_INTENB0_DVSE |
                                                                                                              UX_SYNERGY_DCD_INTENB0_CTRE |
                                                                                                              UX_SYNERGY_DCD_INTENB0_BEMPE |
                                                                                                              UX_SYNERGY_DCD_INTENB0_NRDYE |
                                                                                                              UX_SYNERGY_DCD_INTENB0_BRDYE));

in the ux_dcd_synergy_initialize.c, inside static void ux_dcd_synergy_initialize_common_complete (void) function.

The debug only say:

Failed to execute MI command:
-data-evaluate-expression &(dcd_reg)
Error message from debugger back end:
Can't take address of "dcd_reg" which isn't an lvalue.

in the aforementioned line: * dcd_reg = * dcd_reg | value;

Can someone give us some clue as to what we are setting wrong?

Thanks in advance.

Hanton

 

 

Parents
  • Hi Hanton-
    What version of SSP are you using?

    Also- have you looked at how much memory you are using? Any adjustments to stacks and buffer sizes from the S5D9, which has lots more memory I believe. Maybe memory has 'run out' and thus the lack of an address?

    Warren
  • Hi WarrenM

    I´m working with SSP version 1.5.0.
    E2 Studio version 6.3.0
    The USBX Pool Memory Size is 18432 like S5D9.
    But this project is only for test this funcionality so only have this thread.
    When I compile the project the result is:
    text data bss dec hex filename
    37176 204 30604 67984 10990 MODULE_IO_S3 USB Device CDC.elf
    what I understand is enough for an S3A6.

    I also have the project of Renesas USBX_CDC_Device_TBS3A6 with one S3A6 with 100 pins.

    I check the configuration with this project and it´s equal.


    Thanks
    Hanton

Reply
  • Hi WarrenM

    I´m working with SSP version 1.5.0.
    E2 Studio version 6.3.0
    The USBX Pool Memory Size is 18432 like S5D9.
    But this project is only for test this funcionality so only have this thread.
    When I compile the project the result is:
    text data bss dec hex filename
    37176 204 30604 67984 10990 MODULE_IO_S3 USB Device CDC.elf
    what I understand is enough for an S3A6.

    I also have the project of Renesas USBX_CDC_Device_TBS3A6 with one S3A6 with 100 pins.

    I check the configuration with this project and it´s equal.


    Thanks
    Hanton

Children
No Data