Update EMX to 4.3

I am trying to update an EMX connected to a custom circuit board from version 4.1.6 to 4.3. I have tried the following:

  1. .net mf 4.3 mfdeploy - first I ping and get response Pinging… TinyBooter, then I browse and pick 4.3 emx files cofig.hex, firmware.hex and firmware2.hex and then they appear in the grid view and I choose deploy, then an error message appears Error: Signature check failed for file Config.sig

  2. .net mf 4.3 using fex config – from the firmware update tab it shows Found TinyBooter version:, then it the following:
    Deploying C:\Program Files\GHI Electronics\NETMF v4.3 SDK\Firmwares\EMX\Config.hex…
    Deploying C:\Program Files\GHI Electronics\NETMF v4.3 SDK\Firmwares\EMX\Firmware.hex…
    Deploying C:\Program Files\GHI Electronics\NETMF v4.3 SDK\Firmwares\EMX\Firmware2.hex…
    Interrupt while deploying. Updating failed!

I have a usb to serial cable connected to P4 and pins 7 is connected to pins 3 and 4.

Any direction would be appreciated. I think the cable might not be correct, but I am not sure how to rebuild it.

I do not have the up down and reset button’s since it is a custom circuit board. P4 pins are exsposed. I believe I can get it in and out of loader mode. but am not sure what hex file to upload for which mode.

You just need to step through the update to the loader first. If FezConfig can talk to the device while in tinybooter mode (what your “pinging… Tinybooter” shows it is doing), go to the Advanced menu and do the loader update for EMX (Fez Cobra). Once that’s done, then do the normal firmware update from Fez Config main screen.

Ok, Ill give that a try

when I try the advanced->Loader->EMX(cobra) and error message appears “The Loader cannot be updated via the serial port.”

Thank you very much Superhuman!!
when you directed me to update using fex config advanced, I realized that this option first would update tiny booter and that the normal firmware update did not leverage the loader.ghi file. so this made me realize that I needed to read the EMX manual, which then showed that Tiny Booter could be updated with terra term. I used tera term and successfully updated Tiny Booter from 4.1 to 4.3. YEAH

Now I went to Fex config to update the config.hex and the firmware.hex, this failed. similar message as before, after updating firmware2.hex it complains about being interrupted

So, I went to MfDeply and issued the same commands to update config.hex and firmware.hex and it worked YEAH

I guess firmware.hex and firmware2.hex are the netmf 4.3, but what is config.hex updating?

I am trying to update a second unit to netmf 4.3. I am using terra term. I connect a usb to serial cable to the pc and a single com port appears. I run terra term and set the baud rate to 115200. When I power the EMX I get the following:

TinyBooter v4.3.1.0
EMX Build Date: Apr 30 2015 15:10:18
ARM Compiler version 410713

Then I type command b or try to hold down b and nothing happens. I then try V and E and X and still nothing.

What am I doing wrong? Please help!

When you see the serial port, you should not see anything on the screen. You are doing something wrong.

Why not just use FEZ config?

To upgrade an EMX from 4.1 to 4.3 on the first unit I could not get the loader.ghi to work. It always failed with unalble to use serial port. So now I am trying to upgrade the second unit from 4.1 to 4.3 and when I connect to the emx I can’t get terra term to to recongnize the ‘b’ command. I am going back and forth between the unit with 4.3 that I upgraded and the unit with 4.1 that I need to upgrade to try to establish what will work. On the unit with 4.1 nothing happens when I connect the cable and type ‘b’. I am using the terra term defaults and only setting the baud rate to 115200. I only have 1 serial port so I can’t be picking the wrong one. I do have a longer cable maybe the ground is not working very well.

I have taken the unit apart and put it back together. I need to get it working with the longer cables. I have many more units to update. Now when I have terra term connected and power the emx. The debug print messages from the application are streamming in.

This is where I think I struggle. Last time I used mfdeploy and erased the firwmare, user storage, and deplyment. And then I used tera term to update to 4.3, because I couldn’t get fex config to work.

Do you think this is the path I should take?

I tried and now I cannot communicate with it at all. Fex config, mfdeploy and terra term all cannot get a responce from it. Any suggestions?

sorry, this thread is a bit long for me to remember the full details. Can you recap?

You have to use a USB-to-serial because you can’t use the USB D+/D- ?
You have or have not set the MODE pin to enable serial COM1 debug ?
You have or have not confirmed a COM port is showing in the latest test of the device ?

All questions are welcomed, thanks for the help!

You have to use a USB-to-serial because you can’t use the USB D+/D- ? I am using a custom cable with a ftdi usb to serial device
You have or have not set the MODE pin to enable serial COM1 debug ? I think it is my default configuration, because Fez Config reports I am in loader mode
You have or have not confirmed a COM port is showing in the latest test of the device ? Yes, The unit that is non-responsive does show a com port, but I think it’s just the virtual com port from the ftdi device, I really can’t tell if the emx is alive, and I have tried over 10 times and fex config would not connect

I have successfully updated one unit and am trying to update a second. I am using the same cable and the same laptop, but cannot reproduce the steps that worked for me just two weeks ago.

Here are the steps that I believe I used.

  1. connect usb to serial cable to 3 emx pins (custom cable using a ftdi usb pigtail - Part# TTL-232R-5V-WE);
    EMX pin 5 - P0.3UART_RXD0
    EMX pin 6 - P0.2UART_TXD0
    EMX pin 2 - GND
  2. Power up EMX
  3. Run MfDeploy connect to serial port and issue reboot and stop command and then press ‘Erase’ and erase firmware
  4. Power down EMX
  5. Run TerraTerm, use defaults and only change the baud rate to 115200
  6. Power up EMX
  7. Hold down ‘b’ key until BL appears
  8. Follow steps in EMX Manual to copy loader.ghi to EMX

Knowing what I know now my first question is when I connect terr term to my EMX the debug messages from the application are streaming in the console window. So when I press the ‘b’ key nothing happens. Should the EMX reply with BL? If not, what commands should I execute so that when I connect via terra term and press ‘b’ the EMX will reply with BL?

Good question, I have certainly tried Fez Config. I need to update the loader.ghi. When I use the option that would update it I get messages stating that this option will not work with a serial connection. I will post the print screen I just don’t have it now.

I think the answer to post 13 is to make sure pins 3, 7, and 53 are pulled to ground, to insure that the boot loader is executed, but not tiny booter. This should prevent my application from running and have the emx waiting for boot loader commands. Hopefully the ‘b’ will work. Any better options for me?

you need to enter bootloader mode, yes, otherwise you’re just seeing the debug stream

This is the error I get when I have placed the emx in boot loader mode and i choose the FezConfig -> Loader -> EMX command

Can the source code be reviewed to identify if this error is correct? Doesn’t make sence that you cannot use a serial port to update tinybooter. I think maybe something else is the cause.

Success, here are the steps I used. Big thing that I was not doing is insuring the boot mode jumpers were conned correctly.

Update TinyBooter

  1. configure jumpers for bootloader only mode and connect usb to serial cable to emx
  2. run tera term, connect to serial port set baud rate to 115200
  3. power emx
    Note: a force boot loader detected screen should appear
  4. type ‘b’ returns BL
  5. type ‘V’ returns 1.02
  6. type ‘E’
  7. type 'y’
    Note: Start File Transfer with repeating CCCCCC
  8. under the file menu choose XModem transfer
  9. choose option ‘1k’
  10. select file C:\Program Files (x86)\GHI Electronics\NETMF v4.3 SDK\Firmwares\EMX\loader.ghi

Update NETMF

  1. configure jumpers for bootloader and tinybooter mode and connect usb to serial cable to emx
  2. run mfdeploy
  3. choose serial port, then choose connect
  4. choose browse select C:\Program Files (x86)\GHI Electronics\NETMF v4.3 SDK\Firmwares\EMX
  5. select only firmware adn firmare2 hex files (config.hex does not work reporting missing sig file)
  6. choose deploy