Deploy/Debug via Serial (COM1) on Cobra 3 (and custom PCB GH120)

Hello,

i got a my custom PCB with G120 and tried to Update to latest NETMF 4.3 version via Serial-Connection (COM1) with FEZConfig. I had not luck and to exclude any PCB-Errors i tried the same thing with my Cobra 3 board(s).

I can’t get it working and after 2 days of trial & error, i have no other ideas. So here is my setup and what i tried.

Setup: Win 8.1 (also tried Win 7, Win 10) 64-Bit
FTDI-Cable for Serial-Connection: TTL-232R-RPI - FTDI
Installed netmf-v4.3.2-SDK-QFE2-RTM & GHI Electronics NETMF SDK 2016 R1 & TeraTerm

Since i have worked with my Cobra 3 boards only with USB-Connection until know, i can determine that the boards are working faultless (Debug via VS2013, Firmware-Upgrade via FEZConfig, etc.).

Now with the same progress via Serial-Connection i get problems.

I set MODE to GND, connected FTDI-Pins to D0/D1 (COM1) and GND on Cobra 3 board.

  1. try FEZConfig (Win 8.1)
  • Start FEZConfig and Ping (no response)
  • Start FEZConfig and Connect and Ping (no reponse)
  1. try FEZConfig (Win 8.1) (also see attached images)
  • Start Cobra 3 in Bootloader Mode (press LDR0 & LDR1)
  • Start FEZConfig and directly switch to advanced → Loader Update G120
  • COM5 (my FDTI Connection on PC) ist pre-selected
  • Next → Next → the Erasing and Deploying of the Loader is successfull!
    - FEZConfig is rebooting the device → ERROR The USB driver may not have installed correctly

Hmmm. I was connected via Serial …???

  1. try TeraTerm & MFDeploy (Win 8.1)
  • Start Cobra 3 in Bootloader Mode
  • Connect on COM5 (my FDTI Connection on PC)
  • i immediatly get response Bootload V1.02
  • erase via EY → ok
  • X and transfer Loader.ghi vai XMODEM 1K → ok
  • reboot Cobra 3 and get response TinyBooter 4.3.1.0
  • disconnect TeraTerm
  • Start MFDeploy and Connect
  • select the three G120 firmware files and press deploy
  • MFDeploy failes (with different errors)
  • surprisingly if i only select the firmware files (not the config) it can deploy but after reboot of the Cobra 3 it ends up in an Exception 0x06 loop.

Ok i then tried a lot of different combinations starting from changing FTDI driver settings, reinstalling all software and drivers, changed to another System (Win7 on same machine, win 10 on other machine), etc. etc. i don’t want to write down it all here (i also searched the forums, but no of the hints and processes helped at all)

Now today i switched to an other workstation (also 64bit) with a complete clean win7 installation. i just installed .NET 4.5, FTDI-Driver and the above noted Software (.NETMF 4.3, etc.), but no other software.

I retried every step (1. and 2. with FEZConfig) with no luck. But then the suprise: with 3. try TeraTerm and MFDeploy it works!! :clap:

i repeated the steps as noted above and could deploy the firmware to the Cobra 3 via Serial via TeraTerm and MFDeploy. After rebooting the device the firmware 4.3.8.1 ist loaded correctly. Wow :slight_smile:

Finally i went back to my inital problem: deploying to a custom PCB with G120 via Serial-Connection. Since i only have the serial connection on the custom PCB, i can’t use usb deployment. The setup is ok (MODE low, etc.). of course i tried the same as with my latest setup that was working with the cobra 3 boards (TeraTerm & MFDeploy on fresh Win 7 workstation).

I got a connection and could deploy via MFDeploy, but … EXCEPTION 0x06 loop. :frowning:

Ok, there can be other errors in the custom PCB, etc. so i don’t want to get deeper in it now.

My primary problem is the FEZConfig and my question of course: what could be wrong deploying with FEZConfig over serial connection? Since it is not working on any of the 3 workstations i’ll tried and with all the 3 Cobras i have, i would aspect an Serial (or more a FTDI-Cable) problem, but then i wonder, why i can deploy via TeraTerm & MFDeploy with the latest setup.

I hope anyone can help or give me some hints. :cry:

Thank you.

Daniel

Hello,

after more trial & error i found a difference between my primary Win 8.1 system and the alterantive Win 7 system.

In device Manager there is an option in Win 7 that is missing in Win 8.1 “load VCP” (load virtual com port i think). Could’nt find any info in ftdi documentation by a quickly research, but disabling it will “hide” the COM-Port in the applications (teraterm/mfdeploy, etc.). But anyways i disabled that option and tried firmware upgrade via FEZConfig (and could still choose my com-port) and you guess: it works :open_mouth: :think:

So i can using FEZConfig via Serial-Connection to update the Cobra 3. Sometimes it seems to be a bit “scruffy” and i have to restart the process, but its working now! Good.

Of course now i testet the same with my custom pcb and it also works. i can upload firmware via serial connection.

But if i boot the custom PCB, it ends in an exception loop (checkt via TeraTerm):

EXCEPTION 0x06:
cpsr=0x00000000
pc =0x1000ff58
lr =0x00005001
sp =0x1000c2e8
r00 =0x00000101
r01 =0x00000100
r02 =0x00000000
r03 =0x00000008
r04 =0xa0000478
r05 =0x00005001
r06 =0x1000ff58
r07 =0x00000000
r08 =0x1000ff7c
r09 =0xa0139430
r10 =0x1000ff58
r11 =0x00000002
r12 =0xa0000478

Can any GHI guy give me a hint whats the meaning of the exception?

Thank you

Daniel

my take is that the last image you supply, where it says “successful” but no version info is available, is actually a failure to deploy the full firmware.

I would temporarily stop trying with Fez Config (sorry GHI). If you can deploy to your standard Cobra3 over serial using MFDeploy, then repeat exactly that process on your custom board and if that doesn’t work, it’s time to start sharing PCB schematics as that’s where your difference will likely be, and that will be the cause of your issue