Trying to build for NRF52832 SDK11 #1134
Replies: 11 comments
-
Posted at 2023-06-24 by @fanoush take targetlibs_nrf5x_11.tgz from https://github.com/fanoush/ds-d6/tree/master/espruino and extract in espruino root folder via tar zxvf filename |
Beta Was this translation helpful? Give feedback.
-
Posted at 2023-06-26 by @gfwilliams Thanks @fanoush! If you want we can set it up like we do for the other SDKs (apart from 12) so we have a zip on EspruinBuildTools that the provision script pulls in? |
Beta Was this translation helpful? Give feedback.
-
Posted at 2023-06-26 by @fanoush Well, it is pretty old file, let's wait for @yngv126399 to check whether it still works. I haven't used it for quite some time too. If it still works it can be zipped and put there. However it is patched a bit already. |
Beta Was this translation helpful? Give feedback.
-
Posted at 2023-06-26 by @fanoush Just tried and there is some minor breakage but with some tweaking it works. One issue is that Adding I2C slave support broke SDK11 too. SDK11 version of drivers throws error when i2c slave is not enabled Also the change of including i2c/spi/serial code only if their count in board file is >0 broke SDK11. However I wonder why it works even for other SDKs than 12 as the code handling SPI/I2C/USART _COUNT here https://github.com/espruino/Espruino/blob/e5617094e3480ada254d7771ad70f73b923a951a/targets/nrf5x/app_config.h#L126 is inside a big block of other definitions all used only for SDK12 https://github.com/espruino/Espruino/blob/e5617094e3480ada254d7771ad70f73b923a951a/targets/nrf5x/app_config.h#L65 (??) so for 532840/SDK15 this is not evaluated(?) Quick workaround for me was adding |
Beta Was this translation helpful? Give feedback.
-
Posted at 2023-06-26 by yngv126399 Thanks for checking on that. I did untar the file and I'm getting the same build errors. If I get a chance tonight I'll see if #ifdef-ing areas appropriately gets a working build (I'll try it out on a 52832 DK) and report back |
Beta Was this translation helpful? Give feedback.
-
Posted at 2023-06-28 by @gfwilliams Thanks! I just pushed some changes based on what you'd said above @fanoush which should fix things. Maybe for SDK15 we don't really use SPI/I2C from code (since it's just for Bangle.js 2) so we never noticed that they weren't getting set correctly? I've just moved those definitions now |
Beta Was this translation helpful? Give feedback.
-
Posted at 2023-06-28 by @fanoush
Thanks! It did fix all errors and now it builds fine for me out of box.
@yngv126399 looks like it is moderately safe to try some watch :-) |
Beta Was this translation helpful? Give feedback.
-
Posted at 2023-06-28 by @fanoush
In current state the file works as is so I could possibly make it into a zip an make a PR. However there is no bootloader source to easily integrate and compile so only DFU zips would be buildable. However I just tried and the |
Beta Was this translation helpful? Give feedback.
-
Posted at 2023-06-29 by @gfwilliams
That would be great! Ideally we'd do it like we do for SDK15 with Nordic SDK files and a patchset, but SDK11 is niche enough I don't think that really matters.
Maybe just use Probably having only DFU zips for most people isn't a big deal since that's why you'd use SDK11 surely? If you could write via SWD you'd just use a newer SDK? |
Beta Was this translation helpful? Give feedback.
-
Posted at 2023-06-29 by @fanoush
Well, the point of Well, except that it would break your existin nrfutil install when you are building locally. So my thinking/question was if both versions of the nrfutil could be installed in a better way. Maybe by using venv https://docs.python.org/3/library/venv.html into some espruino folder? like arm gcc compiler or esp32 sdk or other parts downloaded by provision script. |
Beta Was this translation helpful? Give feedback.
-
Posted at 2023-06-29 by @gfwilliams Yes, having some way to install For stuff like ESP32 we do that and set up the path temporarily - then if someone wants to have it permanent without running the provision script at startup they can always copy the displayed paths into |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Posted at 2023-06-23 by yngv126399
I'm putting Espruino on an older sports band which uses SDK11. I have a board file which indicates "NRF_SDK11=1" and have done a scripts/provision.sh with the board. The build stops immediately saying
No rule to make target 'targetslib/nrf5x_11/components/toolchain/gcc/gcc_startup_nrf52.o', needed by 'bin/espruino_2v18.69_ID130.elf'. Stop.
Sure enough, there is no targetlibs/nrf5x_11 directory; there is nrf5x, nrf5x_12, nrf5x_14. Is this the Nordic SDK11? Do I need to install that?
Beta Was this translation helpful? Give feedback.
All reactions