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

C164, CA step CAN

Dear Sirs, Mr. Coppi!

...I use the CAN-Module of a CA-step. Because everything was fine using the Board, I burned it without looking at the errata sheed...I was surprised at the result!
Now I want to please You help me avoid another mistake.

The behavior can be avoided if a message object is not updated by software when a
transmission of the corresponding message object is pending (TXRQ element is set)
and the CAN module is active (INIT = 0).


Does that mean, if I would disable the CAN module each time I change something (data) in an object and enable it after that everything will be o.K.?

The nodes in the CAN system ignore the remote frame with the identifier=0 and no
data frame is triggered by this remote frame.


Is this another or additional possibility?
Is there a way to disable only the identifier '0'?

I'm not so sure if I did understand the errata well, so please don't wonder about this questions.

Do You know about a distributor who could have a flash device of the C164? (It's really expensive for me to burn them so often and this could prevent al least wrong startup configurations other mistakes which are not step-specific?!)

Thanks a lot for helping me
hannes

P.S. why differs the behaviour using the RAM of the Board instead of OTP??

Parents
  • ...and that is the Memory map of the map file:


    MEMORY MAP OF MODULE: ARNE2-270205_CA (HIWI_CAN)


    START STOP LENGTH TYPE RTYP ALIGN TGR GRP COMB CLASS SECTION NAME
    =====================================================================================
    000000H 000003H 000004H --- --- --- --- --- --- * INTVECTOR TABLE *
    000004H 000005H 000002H XDATA REL WORD --- --- GLOB --- ?C_INITSEC
    000008H 00000BH 000004H --- --- --- --- --- --- * RESERVED MEMORY *
    00000CH 000011H 000006H CONST ABS WORD --- --- PRIV --- ?C_CLRMEMSEC
    000088H 00008BH 000004H --- --- --- --- --- --- * INTVECTOR TABLE *
    000090H 000093H 000004H --- --- --- --- --- --- * INTVECTOR TABLE *
    0000ACH 0000AFH 000004H --- --- --- --- --- --- * RESERVED MEMORY *
    000100H 000103H 000004H --- --- --- --- --- --- * INTVECTOR TABLE *
    000104H 0001C1H 0000BEH CODE REL WORD --- --- PRIV ICODE ?C_STARTUP_CODE
    0001C2H 00049BH 0002DAH CODE REL WORD --- --- PUBL NCODE ?PR?HIWI_CAN
    00E000H 00E1FFH 000200H DATA REL WORD --- --- PUBL NDATA ?C_USERSTACK
    00E200H 00E20FH 000010H DATA REL WORD --- --- PUBL NDATA0 ?ND0?HIWI_CAN
    00FB00H 00FBFFH 000100H --- --- --- --- --- --- * SYSTEM STACK *
    00FC00H 00FC1FH 000020H DATA --- BYTE --- --- --- *REG* ?C_MAINREGISTERS

    ...the Target Classes, defined in Keil is:
    ICODE (0x0-0x7FFF), NCODE (0x0-0x7FFF), NCONST (0x0-0x7FFF),
    NDATA (0xE000-0xE7FF, 0xF600-0xFDFF), NDATA0 (0xE000-0xE7FF, 0xF600-0xFDFF),
    option is 'using Memory Layout from target dialog'

    Probably i'm wrong, but the DATA section should start at 0xF000 and end at maximum 0xFFFF???? (User manual v3.1,[3-2],line 2). How is it to define those sections, i used what i've got.

    If all this gets on Your nerves, ignore it!

    hannes

Reply
  • ...and that is the Memory map of the map file:


    MEMORY MAP OF MODULE: ARNE2-270205_CA (HIWI_CAN)


    START STOP LENGTH TYPE RTYP ALIGN TGR GRP COMB CLASS SECTION NAME
    =====================================================================================
    000000H 000003H 000004H --- --- --- --- --- --- * INTVECTOR TABLE *
    000004H 000005H 000002H XDATA REL WORD --- --- GLOB --- ?C_INITSEC
    000008H 00000BH 000004H --- --- --- --- --- --- * RESERVED MEMORY *
    00000CH 000011H 000006H CONST ABS WORD --- --- PRIV --- ?C_CLRMEMSEC
    000088H 00008BH 000004H --- --- --- --- --- --- * INTVECTOR TABLE *
    000090H 000093H 000004H --- --- --- --- --- --- * INTVECTOR TABLE *
    0000ACH 0000AFH 000004H --- --- --- --- --- --- * RESERVED MEMORY *
    000100H 000103H 000004H --- --- --- --- --- --- * INTVECTOR TABLE *
    000104H 0001C1H 0000BEH CODE REL WORD --- --- PRIV ICODE ?C_STARTUP_CODE
    0001C2H 00049BH 0002DAH CODE REL WORD --- --- PUBL NCODE ?PR?HIWI_CAN
    00E000H 00E1FFH 000200H DATA REL WORD --- --- PUBL NDATA ?C_USERSTACK
    00E200H 00E20FH 000010H DATA REL WORD --- --- PUBL NDATA0 ?ND0?HIWI_CAN
    00FB00H 00FBFFH 000100H --- --- --- --- --- --- * SYSTEM STACK *
    00FC00H 00FC1FH 000020H DATA --- BYTE --- --- --- *REG* ?C_MAINREGISTERS

    ...the Target Classes, defined in Keil is:
    ICODE (0x0-0x7FFF), NCODE (0x0-0x7FFF), NCONST (0x0-0x7FFF),
    NDATA (0xE000-0xE7FF, 0xF600-0xFDFF), NDATA0 (0xE000-0xE7FF, 0xF600-0xFDFF),
    option is 'using Memory Layout from target dialog'

    Probably i'm wrong, but the DATA section should start at 0xF000 and end at maximum 0xFFFF???? (User manual v3.1,[3-2],line 2). How is it to define those sections, i used what i've got.

    If all this gets on Your nerves, ignore it!

    hannes

Children
No data