AnsweredAssumed Answered

How to use CodeWarrior flash programmer to program *second* QSPI flash bank on LS1012A RDB

Question asked by Brett Stahlman on Jan 15, 2018
Latest reply on Jan 31, 2018 by Brett Stahlman

I want to reprogram u-boot in the QSPI flash of my LS1012A RDB, but would like to try out the new version in the second flash bank before overwriting my primary bank. Is it possible to use the CodeWarrior flash programmer for programming bank 2, or is it better to use the U-Boot shell for this? E.g., using the following sequence from the QorIQ SDK manual...


=>i2c mw 0x24 0x7 0xfc; i2c mw 0x24 0x3 0xf5
=>tftp 0x80000000 <u-boot_file_name>.bin
=>sf probe 0:0
=>sf erase 0x100000 +$filesize
=>sf write 0x80000000 0x100000 $filesize
=> reset


Because CodeWarrior's flash programmer tool makes no mention of the flash banks, and I don't know what sort of reset it performs before reflash, I'm afraid that even if I send the i2c command from the shell prior to reflashing, the target may revert to bank 0 before the flash erase/program commands are sent. I've verified that neither the reset command in the U-Boot shell nor the reset push button on the LS1012A RDB front panel causes revert to bank 0. Also, simply connecting to the target in CodeWarrior does not cause revert to bank 0. But again, my worry is that I don't know what sort of reset, if any, is performed as part of the flash reprogramming sequence...


Incidentally, I've noticed that I sometimes lose the serial terminal connection running U-Boot shell when I connect to the target via CodeWarrior TAP. I typically connect to the target's serial port using the micro USB on the front panel and a command such as the following on my host system...

    sudo screen /dev/ttyACM0 115200

...but this connection seems to hang when I connect via CodeWarrior TAP using a second USB connector, which generally uses device /dev/ttyACM1. Does anyone know what causes the hang and/or how to fix it?



Brett S.