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.