Deployment issue on Connect ME without jtag.

I sent this request to digi support, but if anyone can answer this in the mean time while I’m waiting to hear from them that would be great.

I am working on an application using the ConnectME modules.

I have been working in development mode for a while now and want to deploy my application to a normal connectME module(one without jtag), but when I tried to do this, the unit that I deployed to no longer responds at all.

I have a few more normal units, but I wanted to contact tech support before continuing because I don’t want to ruin any more units than I have to.

When in development mode, I changed the APP_STDIO_PORT and the APP_DIALOG_PORT from “/com/0” to “/com/1” in the appconf.h file for my application. I did this because I need to use the first com port to talk to my instrument and I can’t have any other data going out that port or our instrument will get confused.

In addition, I also changed BSP_SERIAL_PORT_2 setting in the bsp.h file from “BSP_SERIAL_NO_DRIVER” to “BSP_SERIAL_UART_DRIVER”.

After making these setting changes, I rebuilt the BSP and then I rebuilt my application.

At this point, everything was working fine for development on my connectME module that has the jtag on it. I finished development on my application and now I want to deploy my app to a normal connectME module…and here is where I’m having problems.

This is what I tried to do that made my unit stop responding:

First, I changed the BSP_SERIAL_PORT_2 setting in my bsp.h file back to BSP_SERIAL_NO_DRIVER. I then built the bsp again.

Second, I then edited my appconf.h file and changed the APP_DIALOG_PORT and APP_STDIO_PORT setting the values to NULL. I did this because my application has to use the first com port and I can’t have any other data going out that port or my instrument will get confused. Once this setting was changed, I rebuilt my application.

I then deployed my application to my jtag version connectME via the FTP application I have included in my app and everything worked fine on the jtag version of the application. Nothing comes out com2 just like I want since (as I understand it) the normal connectME doesn’t have a com2. I rebooted the device a number of times and everthing worked just as I wanted. I even re-flashed the device via the FTP app a couple of times just to make sure that the FTP app worked, and everything seemed fine.

At this point I figured I was safe to try deploying to one of my normal connectME modules. Unfortunately, I was wrong apparently. I set a static IP address for the unit so I could find it via the config screen from hyperterminal. I made sure I could ping the unit with the IP address I set and then I sent the application down via FTP to the normal connectME module and everything went fine there. Once the transfer was complete, I exited FTP mode and the unit sent the message that flash was updated and that the unit was going to reboot in 10 seconds.

That was the last that I heard from the unit. I can no longer get it to do anything. It doesn’t send anything out the serial port, and I can’t ping it anymore.

I need to know what I did wrong in the process here. I have people waiting on me for demo units to try out and I need to resolve this immediately. I called tech support last week, but they told me that someone would have to call me back and I have not heard anything from anyone there.

Please let me know what I’m doing wrong here.

Thanks,
Jerry

Jerry,

What version of NET+OS are you working with here? The build number from the installed readme.txt file is the most accurate way of determining this.

As you have accurately stated a JTAG-less ME module only has a single serial port (“/com/0”). While leaving the serail driver for port 2 enabled should not cause any problems leaving the APP_DIALOG_PORT and/or APP_STDIO_PORT set to “/com/1” certainly will.

For starters we need to define what “stop responding” means. What behavior are you expecting? With both APP_DIALOG_PORT and APP_STDIO_PORT set to NULL you get neither the initial dialog of the output of any prinf statements within the application.

What are the part numbers of the JATG-ed and JTAG-less modules you have been working with here.

Generally speaking if you are able to run the application, from flash, on a JTAG-ed module there is no reason why the same application would not work on a JTAG-less module.

Cameron

When I say that my unit stops responding, I mean that I cannot find it anywhere on the network. Before loading my application onto the unit via FTP, I setup the unit to communicate at 19200 baud and also set a static IP address on the unit. I FTP my application to the unit on the static IP that I set for it, so I know it was set before the upload.

Also, I have a command in my code that will send a string out the serial port to the instrument that I’m controlling that will make the instrument beep 3 times so that I can tell when the Connect ME has finished it’s boot cycle.

Like I said originally, I have APP_DIALOG_PORT and APP_STDIO_PORT both set to null.

I loaded my application by sending my image.bin file via FTP to the unit (and I did switch to binary mode after logging into the FTP server).

According to my readme file that was installed, I’m working with build 6.3.20.0.

The part number on my JTAG unit is: (1P)50000878-04 F. The unit says Connect ME -C JTAG on the top of it.

The part number on my non-JTAG unit is: (1P) 50000878-08 01.
The unit says Connect ME 4MB -C on the top of it.

I assume that I don’t have to do anything special since I’m using the 4MB version, but please let me know if I’m mistaken here.

I’m still waiting for a call back from tech support. I hadn’t checked the forums in a couple days because I did talk to someone there at Digi and they said that they would call me back by early afternoon…on Monday. It’s Thursday now and I just called Digi support again asking where my phone call was and I was told (again) that someone would call me back.

I’m really hoping to get this resolved today.

I have seen the same problem with two of our modules:

One is a 4MB JTAG-less connectME module. The part number for this is 50000878-08 01

Second is a 2MB -C JTAG-less connectME module. The part number for that is 50000878-04

I tested our application on a 4MB JTAGed module and then ftped the application on the JTAG-less module. I have APP_USE_NVRAM set to FALSE and DHCP enabled in my application. After the reset, I don’t even see any DHCP requests coming out of the connectME module in ethereal (network packet sniffer). That tells me that the Digi module is not even initializing the TCP stack.

We now have two modules that are unusable because of this.

Jerry, did you get any resolution for this problem?

Thanks,
Ketki

Hi Jerry!

Did you find an solution for your problem??
My ConnectME units somehow loose their configuration, when I upload code into them for the first time. They then use the standard configuration in appconf.h. if IP is set to automatic, the you could use a DHCP server and a ip-scanner. Then you can find them again and reconfigure them.

/Jakob

Jakob,

Have you made any changes to the BSP boardParams.c file? Specifically have you modified the devBoardParamsType structure? Are you using the NVRAM for storage of your own data/parameters? Check you application’s appconf.h file and make certain that the #define for APP_USE_NVRAM is set to TRUE (setting this to false will cause the application to ALWAYS make use of the parameter information provided in the appconf.h file).

The customizeReadParams function will call customizeUseDefaultParams if the devBoardParamsType structure, read from flash fails to match its checksum value.

Cameron

Ketki,

I have already sent the following response to you via e-mail. I wanted to post it here as well for others to see.

Questions for you:

  1. What version of NET+OS are you working with?
  2. Have you made any modifications to the default BSP?

To support the 4MB flash in the version of the ME you must be working with either 6.3 or 6.0, after updating the flash library source.

The only other modification, which is not absolutely necessary, is to modify the customize.ldr file and change the value of FLASH_SIZE from 2M to 4M. This change is only used by the pre-processor, so even without this modification any application built from the provided examples will run, interchangeably, on both the 2MB and 4MB units.

To verify that your NET+OS installation possesses the necessary flash support edit the c:
etos63_gnu\src\flash
aflash.c file and search on the work AMD_29DL323D. You should find this phrase in a number of locations. If you do not find this phrase you will require updated flash source file, in which case I will need you to confirm what version of NET+OS you are working under.

The most accurate source for identify the version of NET+OS you are using in line 2 of the installed readme.txt file. On this line is a build number.

Cameron