Quantcast
Channel: MSP low-power microcontroller forum - Recent Threads
Viewing all articles
Browse latest Browse all 22012

MSP432E401Y: Ethernet bootloader and software

$
0
0

Part Number:MSP432E401Y

Hi.

I am using the MSP432E401Y in a design that will be networked and without any real other connectivity to the outside world. The plan for in situ update of firmware is to use the Ethernet as the delivery method and in that respect I have a design that uses FreeRTOS and lwip successfully working. (Lwip is used as NDK does not have an SNMP daemon and that is the system's main purpose)

Using the examples given I have copied the "swupdate.c" into my design and that all seems to work fine. I can send it the "magic" packet and get it into the bootloader. This was tested with wireshark and used netcat to send the packet.

echo -ne '\xAA\xAA\xAA\xAA\xAA\xAA\x52\x00\x2b\xa5\xa0\xa7\x52\x00\x2b\xa5\xa0\xa7\x52\x00\x2b\xa5\xa0\xa7\x52\x00\x2b\xa5\xa0\xa7'| nc -q 2 -4 -u 10.10.1.126 9

I can see it BOOTPing happily. (Amused it still identifies itself as a TIVA, could you guys not even change the ROM ID string when you lifted the code out :-)

Now, as I understand it if i have my normal DHCP server issue a BOOTP response with a boot file it will then pull that from the TFTP server and flash it's memory.

My first question is what format is the file in? Raw binary image or is it an intelligent format?

I know there is a bootloader tool, mspbsl, which can do this and it takes a .txt file eeprom image. However that tool has some amusing problems. (under Linux anyway)

  • On a multi NIC system it sends the broadcast magic packet, and BOOTP replies out the default routed port. Not so good when you have separate production and development environments and your BOOTP replies are going to the broadcast address of the wrong subnet...
  • As it tries to listen on the BOOTP ports, and do so across all interfaces, I have to shut down my DHCP server to use it. Again, a nightmare when you have production and development systems.

I fixed the first issue with NICs with a bit of very nasty boost coding, and rebuilding it from source. The second is rather more annoying, hence why I'd like to use the existing DHCP/TFTP system to deliver updates.

Second Question.

Does the Ethernet bootloader timeout? If sent into bootloader mode and it gets no BOOTP (or initial TFTP) reply does it abort and reboot? So if it never gets as far as doing any erasing/programming will it timeout or sit there for ever until power cycled?

Does it perform a full system reset (or just CPU reset) after flashing? I ask as my design seems to die during start up at this point, however a power cycle and it's fine. it also works if you do a System reset via the debugger. I am wondering if i need to reset some peripherals in my start up code that are not being reset. 

Cheers!

/\/\arc


Viewing all articles
Browse latest Browse all 22012

Trending Articles



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