Why it won't run after removing the program cable and repowering the the board?

I have a program that I run on an BL4S200 when I compile it to flash using Dynamic C 10.66… Any ideas as to why it won’t run after removing the program cable and repowering the the board?

If the BL4S200 is revision J it will not run with Dynamic C 10.66 until you add a serial patch. Starting with revision J they have a new serial flash and it will need the patch in order to run. If you download the latest firmware from Digi’s website, Dynamic C 10.72D, it already has the patch included in the release.
https://www.digi.com/support/productdetail?pid=4978&type=software

You can check the revision of the board on the label where the part# is located. Part# 20-101-1220 J

I did download the latest firmware from Digi’s website, Dynamic C 10.72D. But I still have the same problem it won’t run after removing the program cable and repowering the the board. Any ideas I can try?

Make sure you’re using “Compile to Flash, run in RAM” when you compile your program to the board. If you just use “Compile to RAM”, it won’t work.

If you’re already doing that, can you test with one of the simpler sample programs to see if it’s something specific about your program that’s failing? Do you have any printf() output? If so, you can use the macros described in Samples/SERIAL_STDIO.C to redirect that output to serial port A, and use the DIAG connector of the programming cable to monitor your program.