-
Notifications
You must be signed in to change notification settings - Fork 196
Flashing the LPC21xx controller
Flash utility for Windows that is known to be working with the LPC2134/01: http://www.lpctools.com/downloads/LPC2000%20Flash%20ISP%20Utility%20v2.2.3.zip
Settings to be able to communicate with the board:
Note that the XTAL frequency has to be entered for a successful connection to be made, and it's specified in kHz. I certainly hope that all ovens have been built with the same frequency XTAL (11.0592MHz which will be entered as 11059kHz in the programming utility).
Also the baudrates choices are fairly limited and depend on the chosen XTAL frequency. 57600 is the fastest one that will work with the 11059kHz setting.
ISP pinout from left to right if looking at the board so the ISP text can be read:
- n_ISP (connected to GPIO0.14, ground during reset to enter ISP mode)
- n_RESET (active low reset input)
- TXD0 (UART0 output to host, LVTTL 3.3V)
- RXD0 (UART0 input to MCU, LVTTL 3.3V)
- Ground (this ground is floating with respect to earth ground in the mains connector and chassis)
Enter bootmode sequence:
- Ground n_ISP
- Ground and release n_RESET
- Release n_ISP
- Activate LPC2000 Flash Utility on the correct COM port
- Select Read Device ID and hit OK/Enter to dismiss the "please reset your board now" dialog.
- Dump flash or Uoload new hex file
- Change LPC2000 COM-port to a different port (doesn't matter which one), as otherwise the program will continue to hog the COM port and you can't hook up a terminal program to it.
- Pull n_RESET low briefly again to start the software again.
- If running this firmware you will have debug output on the same serial port as the programming happened on but at 2Mbps,n81.
It's normal behavior to see both green LEDs on the front panel turn on or flicker when in ISP mode. This is a result of floating pins driving the buffers that drives the optocouplers. This means that both heater and fan may very well run at 100% duty cycle during the few seconds it typically takes to flash the controller. I have fitted weak pull-up resistors on both outputs (P0.8 and P0.9) to get rid of the problem.