Hi Everyone,
I am working on creating a PCB board for the CC3235 from Texas INstrument. My goal is just to use USB->UART to load firmware onto the CC3235. I have purchased the required smd/smt parts to solder when I receive them but have a question about the design.
Referring here on page 9/116 you can see the image of the chip layout.
https://www.ti.com/lit/ds/symlink/cc3235sf.pdf?ts=1588788301705
Then here http://www.ti.com/lit/an/swra646/swra646.pdf?ts=1588788159783 on page 5 of 9 it discusses the pins required for UART programming, RX/TX/RST and SOP 0,1,2 for its book configuration.
Now my goal is to expand on this board kinda like the Wemos D1 Mini Pro that uses the esp8266. Now one thing I took away from those experiences that it uses the CTS/RTS (or is this RTS/DTR?) pins from the CH340g are used to toggle the ESP's GPIO 0,2 ( https://docs.wemos.cc/en/latest/_static/files/sch_d1_mini_pro_v2.0.0.pdf ) to set the correct boot mode when flashing the firmware, this is controlled by the software flashing the firmware. I was wondering if someone can assist me in pointing out the correct steps in select the process for this chip. The part I am having some confusion is with which mode to select between the two below:
"Programming Over UART The gang image can be programmed to the serial flash through the CC3235x device through UART communication. The CC3235x device must be put into UARTLOAD or UARTLOAD_FUNCTIONAL_4WJ boot mode using the SOP pins, see Table 1. The device can then be communicated with by using a bootloader protocol over UART. See the CC3235S and CC3235SF SimpleLink™ Wi-Fi® , Dual-Band, Single-Chip Solution Data Sheet for a full description of these pins. Table 1. Programming Over UART Mode SOP[2] SOP[1] SOP[0] UARTLOAD Pullup Pulldown Pulldown Factory, lab flash, and SRAM loads through the UART. The device waits indefinitely for the UART to load code. The SOP bits then must be toggled to configure the device in functional mode. Also puts JTAG in 4-wire mode. UARTLOAD_FUNCTIONAL_4WJ Pulldown Pullup Pulldown Supports flash and SRAM load through UART and functional mode. The MCU bootloader tries to detect a UART break on UART receive line. If the break signal is present, the device enters the UARTLOAD mode. Otherwise, the device enters the functional mode. TDI, TMS, TCK, and TDO are available for debugger connection. The production process itself must include provisions for temporarily changing the state of these pins using external pulls during programming. When using Uniflash, this can be accomplished using the XDS110 on the CC3235 LaunchPad™. For other methods of programming through UART, toggling these pins must be accomplished using other automated mechanisms. The SOP pins must not be left in programming mode after production is completed, because this can cause the device to become inoperable during a restore to factory default sequence. "
Once that is select I assume I'll want to confirm how Code Studio's from TI does it with its launchpad series but I can't seem to find that information. Would anyone know where to locate an ideal circuit to integrate this chip with a Ch340g?
It seems that referenced in the Programming Guide I may want configuration b100[2:0]for the SOP pins, now one of these pins need go go High and low, that's SOP2 to Toggle UARTLOAD (NOT UARTLOAD_FUNCTIONAL_4WJ, that's B010), but which pin should I connect this to in order for Uniflash to work with the CH340g is the next question correct?
Thank you!!
Postscript: Similar active topic: https://e2e.ti.com/support/wireless-connectivity/wifi/f/968/t/898571
Update: It seems that maybe Uniflash does not use flow control to trigger SOP2 like the ESP does? so all it needs is an RX/TX connection? RST?
https://medium.com/electronza/ti-cc...flash-with-a-simple-ftdi-adapter-62f3ee1cf924
Maybe the above is just for the launch pad, but other setups with FTDI or CH chips may still use this, this example shows a DTR pin being used to toggle SOP2? SRC: https://github.com/ALLTERCO/cc3200tool
Ex.
# upload an application
cc3200tool -p /dev/ttyUSB2 --sop2 ~dtr --reset prompt \
write_file ./exe/myapp.bin /sys/mcuimg.bin
Integrating via FTDI: https://e2e.ti.com/support/wireless-connectivity/wifi/f/968/t/485099
Google Keywords: uniflash SOP2 RTS DTR
I am working on creating a PCB board for the CC3235 from Texas INstrument. My goal is just to use USB->UART to load firmware onto the CC3235. I have purchased the required smd/smt parts to solder when I receive them but have a question about the design.
Referring here on page 9/116 you can see the image of the chip layout.
https://www.ti.com/lit/ds/symlink/cc3235sf.pdf?ts=1588788301705
Then here http://www.ti.com/lit/an/swra646/swra646.pdf?ts=1588788159783 on page 5 of 9 it discusses the pins required for UART programming, RX/TX/RST and SOP 0,1,2 for its book configuration.
Now my goal is to expand on this board kinda like the Wemos D1 Mini Pro that uses the esp8266. Now one thing I took away from those experiences that it uses the CTS/RTS (or is this RTS/DTR?) pins from the CH340g are used to toggle the ESP's GPIO 0,2 ( https://docs.wemos.cc/en/latest/_static/files/sch_d1_mini_pro_v2.0.0.pdf ) to set the correct boot mode when flashing the firmware, this is controlled by the software flashing the firmware. I was wondering if someone can assist me in pointing out the correct steps in select the process for this chip. The part I am having some confusion is with which mode to select between the two below:
"Programming Over UART The gang image can be programmed to the serial flash through the CC3235x device through UART communication. The CC3235x device must be put into UARTLOAD or UARTLOAD_FUNCTIONAL_4WJ boot mode using the SOP pins, see Table 1. The device can then be communicated with by using a bootloader protocol over UART. See the CC3235S and CC3235SF SimpleLink™ Wi-Fi® , Dual-Band, Single-Chip Solution Data Sheet for a full description of these pins. Table 1. Programming Over UART Mode SOP[2] SOP[1] SOP[0] UARTLOAD Pullup Pulldown Pulldown Factory, lab flash, and SRAM loads through the UART. The device waits indefinitely for the UART to load code. The SOP bits then must be toggled to configure the device in functional mode. Also puts JTAG in 4-wire mode. UARTLOAD_FUNCTIONAL_4WJ Pulldown Pullup Pulldown Supports flash and SRAM load through UART and functional mode. The MCU bootloader tries to detect a UART break on UART receive line. If the break signal is present, the device enters the UARTLOAD mode. Otherwise, the device enters the functional mode. TDI, TMS, TCK, and TDO are available for debugger connection. The production process itself must include provisions for temporarily changing the state of these pins using external pulls during programming. When using Uniflash, this can be accomplished using the XDS110 on the CC3235 LaunchPad™. For other methods of programming through UART, toggling these pins must be accomplished using other automated mechanisms. The SOP pins must not be left in programming mode after production is completed, because this can cause the device to become inoperable during a restore to factory default sequence. "
Once that is select I assume I'll want to confirm how Code Studio's from TI does it with its launchpad series but I can't seem to find that information. Would anyone know where to locate an ideal circuit to integrate this chip with a Ch340g?
It seems that referenced in the Programming Guide I may want configuration b100[2:0]for the SOP pins, now one of these pins need go go High and low, that's SOP2 to Toggle UARTLOAD (NOT UARTLOAD_FUNCTIONAL_4WJ, that's B010), but which pin should I connect this to in order for Uniflash to work with the CH340g is the next question correct?
Thank you!!
Postscript: Similar active topic: https://e2e.ti.com/support/wireless-connectivity/wifi/f/968/t/898571
Update: It seems that maybe Uniflash does not use flow control to trigger SOP2 like the ESP does? so all it needs is an RX/TX connection? RST?
https://medium.com/electronza/ti-cc...flash-with-a-simple-ftdi-adapter-62f3ee1cf924
Maybe the above is just for the launch pad, but other setups with FTDI or CH chips may still use this, this example shows a DTR pin being used to toggle SOP2? SRC: https://github.com/ALLTERCO/cc3200tool
Ex.
# upload an application
cc3200tool -p /dev/ttyUSB2 --sop2 ~dtr --reset prompt \
write_file ./exe/myapp.bin /sys/mcuimg.bin
Integrating via FTDI: https://e2e.ti.com/support/wireless-connectivity/wifi/f/968/t/485099
Google Keywords: uniflash SOP2 RTS DTR
Last edited: