Application deployment without Visual Studio?

Hi.

We’d like to deploy a ChipworkX app using MFDeploy, but it seems harder than we expected.

Whenever I use “Create Application Deployment” and choose an hex output file (with or without choosing a key file too), it begins to work, filling 99% of progress bar, but it never ends!

Any suggestions?

This is unusual. We have looked into this and you are right. MFDeploy does not complete the Create Application Deployment process. We are looking into this, and will give you an update in a couple of days.

After speaking with a higher level engineer, I was informed that due to chipworkX having such a high amount of memory, the process takes longer than most devices. I tested this information, and after 10 minutes, the hex/key/sig files were all correctly generated. I deployed them with MFDeploy, and all worked as usual.

Thanks Shaun, it actually works if you wait long enough.

But, whenever we deploy generated .hex file we get: “Error: Signature check failed for file XXX.sig”.

Hex file was generated choosing a newly created key file.

What could we do to avoid that error?

Thanks again…

Maybe they was not loaded on the device. I can’t remember the steps but mfdeploy docs should have it.

Well, we updated Device Keys with a newly generated key, updated SSL too and regenerated hex file with .key file we updated device with.

Deploy works fine, but MFDeploy always complains about .sig file verification failure.

Not a big problem, but I’d like to understand better actual firmware signing procedure.

Thanks!

A public key is stored inside the device and then a private key is used to sign the image.

Here is what I just did:

Erased ChipworkX.
deployed this application:


using System;
using Microsoft.SPOT;
using Microsoft.SPOT.Presentation;
using GHIElectronics.NETMF.Hardware;
using Microsoft.SPOT.Presentation.Media;

namespace ChipworkX_Application1
{
    public class Program
    {
        public static void Main()
        {
            Font font = Resources.GetFont(Resources.FontResources.NinaB);
            Bitmap bitmap = new Bitmap(SystemMetrics.ScreenWidth, SystemMetrics.ScreenHeight);

            bitmap.DrawText("Hello World", font, Colors.Green, 10, 10);
            bitmap.Flush();
        }

    }
}



Opened MFDeploy > Target > Application Deployment > Create Application Deployment
For Deployment File > click Elipses > name the file and save.
For Key: Click Create Key Button, Give the key file a Name, and save it. This will automatically link the key with the Development File.

Hit Ok, wait 10 minutes and you have a generated hex, sig, and key file.

Now erase the board with MFDeploy Select the hex file with the Browse button next to the textbox under Image File and Click Deploy.

I recieved 0 errors with this method, and have a working application on my CWX!

Any other questions let us know!

it’s Wiki time ! :slight_smile:

Just to be sure we’re doing same procedure: how did you erase ChipworkX?

I connected ChipworkX to my PC via USB.
Opened MFDeploy, and clicked Erase.
I then reset the board (even though MFDeploy Erase does this) to ensure no program was running
and I only had a bootup screen.