Skip to main content
Marcus Pelletier
Associate
June 20, 2017
Question

ISSUE with Erase Command of STM32F4 CAN Bool loader

  • June 20, 2017
  • 2 replies
  • 746 views
Posted on June 20, 2017 at 22:02

I'm using the CAN Boot loader on the STM32F405xx chip and have an issue with the Erase command (0x43).

I am able to execute 0x00, 0x01, 0x02, 0x11, 0x21 & 0x31 as described in the Protocol Document, however when ID: 0x43 is attempted with Data: 0xFF (Global Erase) parameter or, for example, a 3 page erase with Data: 0x02, 0x00, 0x06 & 0x07

There is no ACK nor a NAK response.

Any ideas? (Boot loader version returned is 2 and ID is 0x0413)

    This topic has been closed for replies.

    2 replies

    Marcus Pelletier
    Associate
    June 20, 2017
    Posted on June 21, 2017 at 00:58

    It appears that the actual command behavior does not match the CAN Protocol document description. Does anyone know of a working example?

    I'm using a RS-232/CAN adapter to communicate and only have trouble with the Erase command.

    I have already implemented a Windows/RS-232 application that works with the UART Bootloader so I feel that the issue lies with my interpretation of the content of the CAN messages that have ID: 0x43.

    I send the following:

    ID: 0x43, DLC: 8, Data: 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07

    And get back:

    ID 0x43, DLC: 1, Data 0x79.

    But then nothing else. The documentation leads me to believe that after all 8 of these sectors have been erased I should get an ACK, OR I should be getting an ACK as each of these 8 sectors is erased... OR ????

    Now I'm pretty sure neither is correct.

    Marcus Pelletier
    Associate
    June 25, 2017
    Posted on June 25, 2017 at 04:32

    Various issues were resolved to get the CAN erase commands to execute, but the erase commands do not work while the IAR debugger is running. Disconnecting the debugger allows the erase commands to work.

    there is probably some warning about this in the IAR documentation... right?