Recall that Nordic has a “soft-machine” that runs in high memory that provides the BLE functionality. That eats up a bunch of memory, and our application has to make do with what’s left over. The application uses a Nordic API that knows where all the entry points to the SM are located in memory. So the SDK API and the SM are a matched pair.
I have been writing code using SDK V220.127.116.11 without a soft machine loaded because my code has not used BLE yet.
While I was in SB I got a couple of hours to futz around with TS06.2, and thought I’d pursue the BLE thread a bit. If the ranging works then I’ll want to write the ranges to the cloud somehow, and it makes sense to use some kind of BLE transport mechansim to do that. So I thought I’d make a really dumb BLE program that emulated a serial port connection. Ha!!
Since I last installed the Nordic devkit it has gone through two major releases. V6 is now V8. In particular the BLE soft-machine that you load into high memory has moved on too. Indeed I can’t actually find a matching soft-machine any longer. So I pretty much have to upgrade the SDK.
SDK 8 codebase is organised quite differently, so I’m glad I didn’t have any BLE code to port across. On the other hand, there are no instruction for installing V8 under eclipse. So I made my best attempt and hey presto, none of my programs work under V8.
So it looks like I have another diversion to work around.