Using note-c library on different platform such as FreeRTOS

I want to use the note-c library on architecture which uses FreeRTOS as a base.
What I know so far is that it it possible to create a program which can do this as note-c is pure C based api.

I am following a official guide from Blues team which has done this for STM32.

In that guide there are some user-defined function which are only required to get the work done.
These are as mentioned in the guide MX_I2C4_DeInit, noteDebugSerialOutput, noteI2CReceive, noteI2CReset, noteI2CTransmit .

Is there anything else required to take a note of?

I was working to port the note card libratry to ESP-IDF.

I have created the component for the notecard i2c communication But I have got the error regarding some undefined reference to object.
The error is in file n_request.c

n_request.c:327:undefined reference to `NoteUserAgent’

The function for communication is NoteTransaction.

What I have done is that have defined the following function declaration at the top of the file and also included the hote.h file. But the error still exist while building the project.

J *NoteUserAgent(void);

Hi @ujur007,

undefined reference means that the compiler was able to find the declaration in note.h, but the linker was not able to find the objects created when you compiled note-c.

Normally when this happens to me, It means I have forgotten to instruct CMake to compile note-c for me.

Can you share the ninja build output from CMake (a.k.a. idf.py build), so we can look to see what’s happening?

Best,
Zak

Hi,
Sorry for the inconvenience.

The thing is that there was one file n_ua.c missing in my folder somehow.!! which make this error, and while looking for the solution previously, I forgot to check my folder, rather only looked on Github folders…!!

I will share the IDF component after testing I2C works…!

1 Like