Hi guys,I'd be interested in hearing some opinion and/or discussion around development tools and UX. As we all know, creating BLE applications with any tool, is not especially easy. Not talking about learning platforms like the micro:bit. But for "real" development platforms in general.
This was one thing that I discovered when starting with Nordic: In spite of the ingenious design of SoftDevices and the SDK, the toolchain of the nRF products may not be the easiest to get your head around. There is no single download-to-rule-them-all or wizard-based code generators. There are overview tutorials and code examples to start with, where you usually choose an example that fits one of the peripherals you want to work with. But the moment you need to integrate more perihperals, as is most often the case with BLE applications, the next step may be a bit obscure. And fiddly.
Having worked a fair bit with the Atmel AVR, the difference was very tangible. Atmel had AVR studio, which was an integrated development and debugging platform. It included gcc and connected and updated external hardware tools automatically. Then Atmel Studio, also including the choice of which modules to include in your project and do some initialization housework at the click(s) of a button(s). There was also, the Imagecraft and CodeVision compilers/IDEs which had a setup wizard included; allowing you to setup peripherals like timers, GPIO and ADC without writing code.
The AVR range is of course not directly comparable to the nRF products in terms of features and performance.But what do you think - are there similar approaches that would benefit the nRF products? Maybe you think the tools are just fine, but agree that some more integrated tutorials and examples could be useful?What are your most appreciated features of a development toolchain?
Cheers and thanks;Eivind :-)
you can take a look at this tool for code generation: https://vicara.co/nrf52-code-generatorIt currently supports GPIO, GPIOTE, PWM, UART, SPI & TWIM with Segger Embedded Studio project file…
I have not negligible experience programming MCUs, but Nordic has been my first swing at a real wireless protocol environment. It has not been friendly, but I can imagine worse. If I had a magic wand I would want maybe two things:
Other than that, it would be cool if they were a little more transparent - I'm trying to use SDK 17.x... why is this different from SDK 15.3.x? What are they trying to accomplish moving on to the newer version numbers? Maybe this is documented somewhere, but I haven't found it. As it is, I have been referencing pages in the infocenter that "Are not found in the bookmarks" - why such obscurity?
you can take a look at this tool for code generation: https://vicara.co/nrf52-code-generatorIt currently supports GPIO, GPIOTE, PWM, UART, SPI & TWIM with Segger Embedded Studio project file generation. More peripherals and boards to be supported soon. Please do share you feedback if you try it out.