3 ms·
Do you plan to extend the number of supported chips?
by ampdepolymerase 6y ago
Do you plan to extend the number of supported chips?
- duskwuff 6y agoFWIW, STM32CubeMX[1] does basically the exact same thing for STM32 microcontrollers. The UI is even pretty similar. [1]: https://www.st.com/en/development-tools/stm32cubemx.html https://www.st.com/en/development-tools/stm32cubemx.html
- jrockway 6y agoYeah, that was my immediate thought. It's interesting there is an opportunity for a third-party company to do for Nordic what ST gives you for free.
- coupdejarnac 6y agoYou get to use Segger tools for free with Nordic chips. I don't like the text editor much, but having a hassle free toolchain is very nice.
- petra 6y agoWhat about docker? Doesn't it solve the toolset setup problem for embedded ?
- adarshw 6y agoWhile docker, can be used to build the firmware for SES, it is not a scalable solution as the docker image will have to be kept updated for each new update of SES. Segger being Segger, changes things in their toolchain very frequently. If you're interested in automating builds on SES using Docker, you can check out our docker image for SES on GitHub here: https://github.com/vicara-hq/ses-docker-images https://github.com/vicara-hq/ses-docker-images However, most hardware toolchains and examples out there use Keil, which is Windows only and DOES NOT have a headless mode, making it utterly impossible for a docker image or a CI tool to automate the build process. The best way to approach this would be to use Makefiles on Docker for the projects that we build, making it cross-platform as well as CI-friendly, which is an approach that we plan to take with the configuration tool, automating the entire process for ease of use in any environment.
- ohazi 6y agoOn chips from Atmel, ST, NXP, etc. certain peripheral functions can only be mapped to certain pins, with no discernible pattern. For parts like this, a pin planning tool can genuinely be useful when planning a board layout. It's also nice when this tool generates starter code for you, because every peripheral usually has a slightly different way to enable/configure/map their IO to a pin, and there's a global GPIO control interface, and there's a global power management control interface, and (... etc). You need to set all of the properties correctly simultaneously, or the connection doesn't get made. It's easy to miss one of them and be confused about why your signal isn't showing up. Nordic's GPIO pin mux allows you to map any peripheral IO to any pin like an FPGA. There's one uniform interface for controlling this mapping, with no weird exceptions. I think that's why they don't have a tool like this -- it just wouldn't be all that useful, because remapping pins is so easy. When you're designing your board, you can, for example, wire up an SPI device to literally any pins you want, and then make it work in software later. These tools can also useful for setting PLL divider values and configuring clock distribution, because this can get complicated: https://i.stack.imgur.com/e8CQw.png https://i.stack.imgur.com/e8CQw.png But Nordic chips also tend to run at one officially supported clock speed, because their Bluetooth stack relies on it. So you don't really need the clock configuration GUI either.
- adarshw 6y agoTotally agreed! The reason we do this for a fully muxed system like Nordic is just to make life a little easier when starting a project from scratch. Because it's not just the pin configuration that's covered, it's also the sdk_config.h and the .emproj file. We also get to remove some of the bloat that example files tend to carry with them when we do this.
- ohazi 6y agoOkay, that's fair... sdk_config.h is a monster!
- adarshw 6y agoOh yes! In fact that's kind of where the inspiration for the project came from. We were like, hey - doesn't Nordic have anything like this?
- adarshw 6y agoWe do plan to support other manufacturers as well. This actually started as an internal tool for us to speed up our configuration. We thought it'd be helpful to make it available to other hardware devs as well.