2016-07-07

CC26xx Flash Programmer

My CC2640 project is finished and going to mass production, it is necessary to design a flash programmer to program the internal flash of CC2640. For this requirement, I spent some time to design a dedicated flash programmer.

In order to make it both easy to use and general for other SoC, I decide to use PC and "USB to UART" bridge chip. For the USB bridge, I choose FTDI FT4232H because it can support 4 UART ports at the same time. Here is the result.


There is only one USB cable, no extra power cable required. The time to program a SoC is tens of seconds. So, when it is programming the first chip, the operator can continue to put the 2nd chip into the 2nd socket and let it start to program simultaneously. When the 4th chip is put into socket, the 1st one is probably done. So, we can get the best throughput with this programmer.


The above figure shows a CC2640RHB chip inside the socket. The socket is made in Japan to have good contact quality and reliability for long time operation. The socket board is replaceable when it is damaged. It can also be replaced for other package type of CC2640 such as CC2640RGZ. I have preserved the most flexibility so that it is also possible to design new socket boards for other MCUs such as MSP430 and MSP432. FT4232H not only supports UART but also supports JTAG interface. So, in theory, it is possible to support all the MCU with JTAG interface.


I also designed a simple PC side application as shown above. The program will show the final programmed result as OK or NG. It is also easy to add special functions for mass production requirement. For example, it is very common to generate a individual serial number (or MAC address) for each programmed chip. For this, we can let the application automatically increate the serial number and write to a fixed location in the target flash memory space.

That's it.