WiFi Firmware Update Application
Overview
The NBWIFI-IN Firmware Update application is a C++ program designed to update the firmware on NetBurner WiFi modules. This application provides a simple interface to check current firmware information and perform firmware updates on compatible WiFi hardware.
Features
- Firmware Information Display: Shows current hardware and software revision numbers
- Interactive Firmware Update: User-prompted firmware update process
- Network Stack Integration: Built-in HTTP server and DHCP support
- System Diagnostics: Optional diagnostic capabilities for development
- Error Handling: Comprehensive error checking and status reporting
Application Flow
- Initialization
- Initializes the network stack
- Enables system diagnostics
- Starts HTTP server on default port 80
- Waits for DHCP address assignment (5-second timeout)
- WiFi Module Detection
- Attempts to initialize WiFi interface
- Sets SPI communication speed to 15 MHz
- Validates communication with WiFi module
- Status Display
- Shows current hardware revision (major.minor)
- Shows current firmware revision (major.minor)
- Firmware Update Process
- Waits for user input to begin update
- Performs firmware update using embedded firmware image
- Reports success or failure status
- Displays updated firmware information
Hardware Requirements
- NetBurner development board with WiFi capability
- Compatible WiFi module supporting firmware updates
- Proper SPI connections for WiFi communication
Key Components
WiFi Interface Management
- Automatic WiFi driver initialization
- SPI speed configuration (15 MHz)
- Module communication validation
Firmware Update Process
- Uses embedded firmware image (
nbWifiImage[])
- Validates image length (
nbWifiImageLen)
- Provides real-time update status feedback
Network Services
- HTTP server for web-based management
- DHCP client for automatic IP configuration
- Network stack diagnostics
Error Handling
The application includes robust error handling:
- WiFi module communication failure detection
- Firmware update success/failure reporting
- Graceful degradation when WiFi module is unavailable
Usage
- Compile and flash the application to your NetBurner device
- Connect to the device via serial terminal
- Wait for network initialization and WiFi module detection
- Review the current firmware information displayed
- Press any key when prompted to begin the firmware update
- Wait for the update process to complete
- Verify the new firmware information
Development Notes
- System diagnostics are enabled by default (consider disabling for production)
- The application runs an infinite loop after completion
- HTTP server remains active throughout the application lifecycle
- Serial output provides detailed status information
Troubleshooting
"Could not talk to Wifi module"**: Check physical connections, power supply, and ensure the WiFi module is properly seated and compatible.
Firmware update failure**: Verify the embedded firmware image is correct for your hardware revision and that the WiFi module supports firmware updates.