We are developing an algorithmic library for a suppler of ours we wish to license the library to them.
Our development System is Segger Embedded IDE 5.42a.as it is no charge to Nordic customers
They do not have access to the source code of the library nor do we have access to the code of the Main Application.
They are using IAR Embedded Workbench for ARM 9.20.1.43606
We will both be using nRF SDK 17.2
Another thing I should mention is that the processor for the Health Watch (their product) is the nRF52840.
We have developed a previous product which we are using for testing the code split up, it is an nrf52832
The basic idea of our library is that of a black box which provides entry points for call ins but which
does not make callouts. However that is not going to work with library routines.
Specifically, in building the library I see the following undefined symbols:
U __aeabi_d2f
U __aeabi_dadd
U __aeabi_dcmpgt
U __aeabi_dcmplt
U __aeabi_ddiv
U __aeabi_dmul
U __aeabi_dsub
U __aeabi_f2d
U __aeabi_i2d
U __aeabi_ui2d
U __aeabi_uldivmod
U log10
U __aeabi_d2iz
U __aeabi_ddiv
U __aeabi_dmul
U __aeabi_dsub
U __aeabi_ui2d
U pow
U abs
U memcpy
U memset
U sqrt
The IAR C compiler is prohibitively expensive in our experience, we have used it on other big projects, but this is a smaller development
I have four questions.
- Are their differences between the nrf52832_xxxa we are using I should be careful for, such as difference
in the floating point for the math routines, thumb mode our other issues. Our library is standalone and
does not do any I/O or depend on hardware resources (e.g. timers). It is pure computation. - For the list above are these routines provided by the nRF SDK or are they provided by the C library of the respective vendors
- So the big issue is: can we link a library compiled with SEGGER with libraries from IAR
- And if we do so won't this not be possible because of IP license and copyright restrictions (IAR wrote any library code for their customers, not others)