Quantcast
Channel: Microcontrollers
Viewing all articles
Browse latest Browse all 230913

Forum Post: RE: EK-TM4C129EXL: Updating firmware using I2C with the ROM Bootloader - Hanging after successful COMMAND_GET_STATUS

$
0
0
Just a follow up on this: [quote userid="467243" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1456117/ek-tm4c129exl-updating-firmware-using-i2c-with-the-rom-bootloader---hanging-after-successful-command_get_status/5586220#5586220"]Looking at this closer, I originally thought the slave (the bootloader) was holding the clock line low but I'm not sure that's the case. I wonder if all the master needs to do is send more clock signals to get a response from the bootloader. I will investigate this.[/quote] It's hanging due to the master bus being busy after starting the read as shown below: The bus remains busy indefinitely: This is the same function I use to do all other I2C reads and have not experienced any problems.... I'm not sure why the bus busy bit remains set indefinitely... Also, reviewing SPMA074A, it appears to state that the ACK/NACK should only be a single byte returned by the bootloader and not the two bytes I'm normally receiving as I showed in my ping example in the previous post. Any idea why I'm receiving two bytes instead of one? I originally thought two bytes for an ACK was to be expected since before writing my own updater firmware I used a Total Phase Aardvark to send a ping command and then read back data for the ACK and it received two bytes (0x00 then 0xCC) as well. Also, if it would be helpful at all, I could attach the code I'm using on both eval boards. These are basic CCS projects. The code is well commented and should be fairly easy to read.

Viewing all articles
Browse latest Browse all 230913

Latest Images

Trending Articles



Latest Images

<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>