Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

support for nordic sdk as framework #24

Open
zerog2k opened this issue Oct 12, 2018 · 38 comments
Open

support for nordic sdk as framework #24

zerog2k opened this issue Oct 12, 2018 · 38 comments

Comments

@zerog2k
Copy link

zerog2k commented Oct 12, 2018

We have support for arduino and mbed frameworks, but would like to investigate support for using nordics nrf5 sdk (hals/drivers, etc).

I think I understand about 80% of what needs to be done, but may need some help on polishing, patching, and packaging.

Curious how many folks would be interested in such an effort?

Related question would be if it is possible for a user/board to specify a certain revision of the framework (sdk). Reason being is that nrf51 devices support maximum of nrf5 sdk 12.3.0, whereas nrf52 support latest versions. (nrf5 sdk version also dictates which softdevice is used, if ble softdevice is required, but i think this can be tied to and encapsulated into the framework logic?)

@vshymanskyy
Copy link

vshymanskyy commented Oct 13, 2018

+++

@tlongeri
Copy link

+1

@SebasScript
Copy link

SebasScript commented Dec 21, 2018

+1, having the Nordic SDK as a framework would be great

@ASL07
Copy link

ASL07 commented Dec 26, 2018

Very interesting stuff, let me know if I can help

@mactabish
Copy link

Is work being started on this? Very interested in using native NRF sdk on PIO.

@baneageorge
Copy link

@zerog2k Hi Jens, any chance we get in touch?

@trembel
Copy link

trembel commented Feb 18, 2019

+1, would be very nice

@andersliland
Copy link

+1, would be very nice

@andrealongobardi85
Copy link

+1

1 similar comment
@davidlimhk
Copy link

+1

@superhappychris
Copy link

+1 yes please!

@hpssjellis
Copy link

Can someone comment on any progress that has been done to implement the Nordic SDK. I have an online docker that has all three of: Platformio, Nordic SDK and Openthread, working individually but have no idea how to integrate the three. Any suggestions would be appreciated.

The github is here my-gitpod-of-openthread

Or just click on the button below to load the Gitpod docker (Needs a Github or Gitlab login)

Open in Gitpod

Openthread can generate a .hex file for the Nordic nRF52840 USB Dongle to be installed using nrf-connect for desktop

The Nordic SDK can generate .bin or .hex files for installing either using the Arduino IDE (with a bit of command line hack) or nrf-connect for desktop.

PlatformIO Client is installed and works great when connected with a local machine remote agent.

@zerog2k
Copy link
Author

zerog2k commented Dec 10, 2019

I'm not aware of anyone actively working on this. I was trying to gauge interest and find others who could help support such a thing, but I have not really done much on nrf51 in a while - seems like most have moved to nrf52+ (although there are quite a few limited devices out there in the wild still using nrf51)

@knud
Copy link

knud commented Jan 12, 2020

I've been doing both nRF51 and nRF52 work with the latest SDKs that support either, so 12.3 and 16, respectively, as of today. I would really like to get away from Eclipse as the environment and am considering PlatformIO. Would be willing to help since I might have learned useful things just getting the nRF51 stuff going (which was for a RedBear Nano v1, nRF51822).

@hpssjellis
Copy link

@knud please look here on platformIO community

I am having some success with various nRF52840 boards
But having issues reassigning pins that aren't pre-defined for the Arduino 33 BLE. Any pin assigned I can reassign just confused if a nRF52840 SOC pin that hasn't been used by Arduino but is used by one of the other boards.

@knud
Copy link

knud commented Jan 12, 2020

@hpssjellis Thanks for the quick ping back.

My interest is not only various dev kit/eval boards, but custom boards. I have several I’ve developed and the obvious, first step is to do a custom pin mapping thing. With the SDK that’s pretty straightforward.

I’ll have to dig into how the boards supported for nRF52 on PIO are specified before I can be of much use. Coming late to the party, so to speak... and have not yet done too much with PIO...

@hpssjellis
Copy link

@knud I made a pin map spreadsheet for the Nano33Ble, Nordic and makerdairy nrf52840 dongles and the particle xenon. It will have a few errors but should be a starting point.
I just need to know how to get one undefined pin working and should be fine from there.

https://github.com/hpssjellis/everything-nrf52840-usb-dongles/blob/master/images/general-pins03.ods

@zerog2k
Copy link
Author

zerog2k commented Jan 13, 2020

I think I had documented or summarized my thoughts on how to setup a new sdk for an existing platform somewhere a year or so ago, let me see if I can dig it up. Unless perhaps someone has created a better tutorial. (I think this was why I was initially asking if anyone was already working on this, or had a shared group of interest who could help with parts of this.)

edit, found it:
https://community.platformio.org/t/custom-framework-development-guidance/4716/2

@zerog2k
Copy link
Author

zerog2k commented Jan 13, 2020

I'm recollecting that one of the hurdles might have been how to (re-)distribute the nordic sdk automatically from platformio sdk/framework builds. If nothing else, I'm guessing it should be somehow possible to have a scripted download helper, or at the worst, require user to download and deploy the sdk into some location. Perhaps someone here has experience or knowledge about restributing the nordic nrf5* sdks?
Possibly related is the handling of softdevices.
However, I'm sure that we could collectively come up with a creative solution that satisfies all of this.

(as a side note, I think even the nrf5 sdk 12.3.0 for example will need some patches, I myself had found a bug [typo in one of the proprietary radio functions] or maybe two in the sdk, and nordic basically said they would not be releasing even fixes to old sdks).

edit:
good news: looks like sdk >= 13 can be easily redistributed:
https://devzone.nordicsemi.com/nordic/nordic-blog/b/blog/posts/introducing-nordics-new-software-licensing-schemes
bad news: looks like sdk < 13 (looking at you nrf51 sdk 12.3) may be a bit trickier. Might be best to stay with zephyr, arduino, or mbed toolkits/frameworks for this.
https://devzone.nordicsemi.com/f/nordic-q-a/18902/redistributing-the-sdk-as-personal-github-repo

edit2:
this may be another route (I just became aware of this ;):
https://github.com/NordicSemiconductor/nrfx

@hpssjellis
Copy link

Glad both @knud and @zerog2k are interested in this. My approach is probably going to be to get as many nRF52840 boards working as I can using the Arduino IDE and the Nano 33 BLE bootloader, which does work very well PlatformIO. Then write code to activate the dead pins on the other boards. How to get these other boards working on PlatformIO I might leave to the experts as I am still fairly new to PlatformIO.

@adrianschlatter
Copy link

+1 from my side.

@Zhurakovsky
Copy link

+++

@optimiseddesign
Copy link

Yes please!

@johanneskopf
Copy link

+1

@pingdan32
Copy link

++++++

@MakeSenseIoT
Copy link

Yes please!

@RoelandMatthijssens
Copy link

+1

1 similar comment
@rroels
Copy link

rroels commented Sep 9, 2021

+1

@andy-kogsys
Copy link

Yes please!

@hannesweisbach
Copy link

+1

1 similar comment
@daanstevenson
Copy link

+1

@TauqirH
Copy link

TauqirH commented Dec 27, 2021

wen sdk support

@danysz
Copy link

danysz commented Feb 3, 2022

+1

2 similar comments
@zapta
Copy link

zapta commented Mar 28, 2022

+1

@JeffResc
Copy link

+1

@TauqirH
Copy link

TauqirH commented Mar 29, 2022

+100

@arslanmughal99
Copy link

+1

1 similar comment
@ilhangrn
Copy link

ilhangrn commented Aug 1, 2023

+1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests