Share firmware between JN5168 and JN5169

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Share firmware between JN5168 and JN5169

1,861 Views
felipedelvan
Contributor II

Hi,

I'm working on a project using JN5168 and now I upgraded to JN5169 looking for more power on the radio. The firmware I developed updates other nodes on the network through OTA by cloning its own firmware. When a JN5168 node updates a JN5169 node, all peripherals seem to work fine (UART, Timer, etc.), the firmware (compiled for JN5168 in Beyond Studio) can receive packets through 802.15.4, but can not transmit any packets. When I change the makefile to JN5169, so does JN5168 (everything works fine, it can receive packets but can not stream).

Is there a way to compile a firmware that works for both JN5168 and JN5169, so they can update each other?

The devices work in a mixed network (JN5168 and JN5169) and the OTA feature is essential. I have my own stack using MicroMac

Thanks!

5 Replies

1,200 Views
mario_castaneda
NXP TechSupport
NXP TechSupport

Hi Felipe,

You have to create a new build configuration.

1.Select the project that you want to create a bin file for the JN5168

pastedImage_1.png

2. Create New Configuration, copy the settings form the example that you want. In this case, I select the router example.

pastedImage_5.png

3. Select the properties for the example that you are working on. Then, be sure that you select the manage configuration the new set up that you want. Change the build command for the JN5168, in this case.

pastedImage_6.png

4. Compile the project and you will see the bin file for the JN5168.

pastedImage_9.png

Console

pastedImage_10.png

Note: The JN516x supports different Stacks, please look at the Supported Protocols for your specific device.

pastedImage_8.png

Hope it helps,

Mario

1,200 Views
felipedelvan
Contributor II

Hello, Mario

Thanks for your response!
I actually need a single compiled code that runs on both JN5168 and JN5169, because on my mixed network one device can update the other's firmware.

The path I'm trying to do at the moment is to rename the libraries symbols (HardwareApi, MMAC, and JPT) and adding "_JN5168" and "_JN5169" in each function to compile them both in my code. When it boots the code it checks the model of the chip and then it choose to run the functions with "_JN5168" or "_JN5169", but this solution has very low reliability.

I ask if there is a way to compile the code using the JN-AN-4163 libraries so that it works on both chip models or if I can access the source code of the libraries then I can create a hybrid version by myself.

Thank you!

Felipe

0 Kudos

1,199 Views
mario_castaneda
NXP TechSupport
NXP TechSupport

Hi Felipe,

I actually need a single compiled code that runs on both JN5168 and JN5169, because on my mixed network one device can update the other's firmware.

As you know, the JN5168 and JN5169 devices are not completely equal. Maybe the code will run with any problem, but it is not recommended.

You can create different bin files and update the firmware requesting the device type at the beginning.

Regards,

Mario

0 Kudos

1,200 Views
felipedelvan
Contributor II

Hi Mario

Is it possible to share the libraries source code with me?

Thanks!

0 Kudos

1,200 Views
mario_castaneda
NXP TechSupport
NXP TechSupport

Hi Felipe,

The source code of the libraries are precompiled and we do not provide the source code.

Sorry for any inconvenience.

Regards,

Mario

0 Kudos