This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TIVA software update using SPI

Other Parts Discussed in Thread: TM4C123BH6ZRB

Hi,

I am currently using TI TIVA TM4C123BH6ZRB microcontroller on a custom board. I am trying to update the software on the chip. I configure the SPI interface and jump into ROM bootloader's update function. My SPI on the TIVA (slave) is configured as follows,

clk - = 40 Mhz

bitrate = 3Mhz

datawidth = 8

The TIVA is connected to another microprocessor on the board through a SPI bus. I run a program on this processor(master) to update the TIVA. I was able to update the software on the TIVA using the TI specific protocol. I have followed the protocol as specified in the documnetation.  But, I have few questions  on it.

1: Everything works fine if I send the packet one byte at a time. But, if I try to send the entire packet of 11 bytes in my case(3 bytes of metadata + 8 bytes of data), i get the checksum acknowledgement from the bootloader, but nothing gets written on the flash. I don't see this problem if the data is sent one byte at a time.

2: The size of my image is around 230kB. It takes around 90 seconds to update, which i think is a lot of time. Do you have any recommendations to make it faster. I think sending larger packets would make it faster( If I overcome issue 1).

3: After I get the checksum acknowledgement, I send

COMMAND_GET_STATUS

packet, as the documentation specifies. But I never get an ack from the bootloader, irrespective of my packet size.