Compiling source code to file for CM7120 SmartCore with Dynamic C DC32_631

I need to make a change to the source code for a legacy product that was designed for the ZWorld SmartCore CM7120 around 1998. My customer has the development module that is normally connected to the computer serial port for debugging and creation of BIN and/or HEX files that are used to program 27512 EPROMs for the products. The original code was written for the 9.216 MHz version but the boards we have been getting are 18.432 MHz. We have been replacing the crystal but that sometimes damages the board, so I need to change the firmware to obtain correct timing for the higher frequency.

When I ran my copy of Dynamic C DC32_631b, it crashed even when simply saving the source file with a different name. The multiple error message(s) were “SmartHeap Library - MEM_BAD_POINTER”, and then “SmartHeap error handler recursively re-entered”. When I tried to compile to file, it complained with “Comm initialization error” or “Target not responding”. If I selected an active serial port, it started compiling and then crashed. I tried this on my Win 8 computer as well as an XP machine and even Windows 98, with similar failure.

I tried using newer versions 10.72b and 9.62 but they do not support the CM7120.

I may be able to use the customer’s development board with a serial port (if they still have it) to get past the apparent requirement for 6.31b, but perhaps there is a setting for the software that will allow it to work, but there does not appear to be a “targetless” option as there is with 9.62.

Another option would be to make a serial port device that mimics the target command and response protocol to “spoof” the compiler. If I am able to find and use the development board I may use a communications monitor to log the commands and response, but if anyone has information on this I’d appreciate it.

I have opened a case with Digi support but so far it has not been resolved, other than determining I must use 6.31b or earlier Dynamic C for the CM7120.

I am not aware of Dynamic C32_631b, but have used C32_630 without issues. One of the things you need to be aware of is that even though you can select any com port, Dynamic C32_630 will only work with com ports 1 – 4. Com 5 and higher will not work.

I recommend that you get a clean copy of Dynamic C32_630 from the Digi website. It will work properly with Windows 7 and older OS. I do not know how it works with Windows 8 or newer.

The only way to get a CM7200 programmed is with a SIB2 programming module. You can make a SIB2 with a CM7200, but you’ll still need an SIB2 to program the target CM7200. This is my first response on the website and unaware of the proper etiquette as far as providing drawings, binaries, and direct help, but I am willing to provide information on what I have to build one.

Spoofing the serial stream is a moot point because you would need an SIB2 to watch and if you have one you can build one in less time and effort.

I found a MAC-20.rti file in my archives, and I was able to use it with DC C32.631b to make a new .bin and .hex file that will probably work with the CM7120 in the customer’s product. We have not been able to find the programming module, which is probably the SIB2 (yet), and the project is no longer a priority at this time. I still had to choose an installed COM port (COM4 Bluetooth) even though nothing was connected to it. I am using a Win8 machine. Thanks for your reply.

I have 2 SIB2 modules and boards that use the CM7200. If it would help I can take your code and compile it on a CM7200 for you.

If you are interested in making your own SIB2 clone I can also load the SIB2 binary on a 7200 and give you a copy of a drawing how to finish the clone.

I will contact you if I need any more assistance. I appreciate your kind offer.