How to ensure capability of OTA loading updated smartBASIC applications when loading Autorun applications?

Answer

As indicated in the BL652 Datasheet (Pg 15),  Pin 28 (nAutoRUN) is an input, with active low logic. In the development kit (DVK-BL652-xx) it is connected so that the state is driven by the host?s DTR output line. The nAutoRUN pin must be externally held high or low to select between the following two BL652 operating modes:  Self-contained Run mode (nAutoRUN pin held at 0V ?this is the default (internal pull-down enabled))  Interactive/Development mode (nAutoRUN pin held at VCC)  The smartBASIC runtime engine firmware checks for the status of nAutoRUN during power-up or reset. If it is low and if there is a smartBASIC application script named $autorun$, then the smartBASIC runtime engine firmware executes the application script automatically; hence the name Self-contained Run Mode.

Chart from BL652 smartBASIC Ext User Guide (pg 283) - Please note if you are working with your own board, and will not have UART or JTAG access, or you desire to OTA updated smartBASIC applications to the module; as the above chart indicates, if SIO_02 is high, and nAutorun is held low, if an $autorun$ application is loaded to the module it will not be possible to get the module back to interactive/command mode to enable OTA loading of updated smartBASIC applications, unless the EraseFileSystem function has been added to the application as per page 41 of the BL652 smartBASIC extensions User Guide, or there is a way to exit the running application, which will result in the module exiting the application into vSP Command/Interactive mode. If the application on the module is not an $autorun$ application and you can place the module into interactive command mode, (nAutorun==Low, SIO_02(vSP) == High) and then connect to the module using the Serial vSP Tool from the Laird Toolkit (available from the Android and iOS App Stores). This should allow you to clear the module by issuing and at&f* command from the vSP Connection of the application. I am not sure if it is possible to do this with the ModuleLink Application. The Laird Toolkit is an older App which we no longer update, but it is still available. When I tested this with a simple helloworld.sb Sample Application loaded I was able to scan and connect to the module in Interactive/command mode and send the at&f* command from the Toolkit application to the module. at+dir confirmed the file was erased. Please not that the advertisements will timeout after 10 seconds if the module has not established a connection, and it may be necessary to reset or power cycle the device to restart the advertisements.