1 (edited by davide.diste18 2021-10-07 08:25:18)

Topic: WolfMQTT on NXP T2080 and VxWork 7 and PykoOS and LX2020

Hi,

I would like to port WolfMQTT library on a Curtiss Wright VME-196 board https://www.curtisswrightds.com/product … e-196.html  and VxWorks 7 SR0650 64bit OS.

The VME-196 board uses a NXP T2080 processor (1.8 GHz dual-threaded PPC e6500 core , BIG-ENDIAN ) .

The BSP for Workbench4 uses a GNU 8.3.0.2 compiler.

I created new Downloadable Kernel Image (DKM) Project under Workbench and after I included WolfMQTT src and header files in my DKM project; I also added the BIG_ENDIAN_ORDER define. Are there other defines or configurations you suggest for porting  WolfMQTT  on my board?

To test the WolfMQTT client I created an MQTT 5.0 Broker on a Windows host,  developed with .NET library . Which client example do you suggest to use to test my workbench project? Is there any particuler settings that my MQTT Broker should have in order to connect with WolfMQTT client?

Thanks in advance for the support.

Share

Re: WolfMQTT on NXP T2080 and VxWork 7 and PykoOS and LX2020

Hi Davide,

wolfMQTT is mostly platform agnostic C code, unless your platform is using non-POSIX APIs, in which case you will have to override calls like send, recv, etc. wolfMQTT should compile on any platform.
wolfMQTT does not currently have .NET bindings. If compiled as a C++ application, there should be no restrictions on your VC++ library version.

3 (edited by davide.diste18 2021-10-07 08:33:59)

Re: WolfMQTT on NXP T2080 and VxWork 7 and PykoOS and LX2020

embhorn wrote:

Hi Davide,

wolfMQTT is mostly platform agnostic C code, unless your platform is using non-POSIX APIs, in which case you will have to override calls like send, recv, etc. wolfMQTT should compile on any platform.
wolfMQTT does not currently have .NET bindings. If compiled as a C++ application, there should be no restrictions on your VC++ library version.


Thanks for the replay.

I'm investigating the compatibility also with another target board and operative system:


·         CPU Manufacturer: NXP

·         CPU Model: LX2080

·         Core Type: Arm Cortex A72

·         Core Architecture: ARMv8-A 64-bit 

·         Core Number : 8 cores

.          rtos: PikeOS 5.1.2

Compiler:    GCC 7.5.0 (PikeOS CDK)


I see in PikeOs web site that wolfSSL is a SysGo partner.

Please, can you provide me any detail about you compatibility with above hardware and O.S.?

Share

Re: WolfMQTT on NXP T2080 and VxWork 7 and PykoOS and LX2020

Hi Davide,

I am checking around to see if we have a demo that could help guide you. I will follow up when I know more.

Thanks,
Eric @ wolfSSL Support

Re: WolfMQTT on NXP T2080 and VxWork 7 and PykoOS and LX2020

embhorn wrote:

Hi Davide,

I am checking around to see if we have a demo that could help guide you. I will follow up when I know more.

Thanks,
Eric @ wolfSSL Support


Thanks very much Eric, a demo would be very helpful to me.

Share

Re: WolfMQTT on NXP T2080 and VxWork 7 and PykoOS and LX2020

Hi Davide,

I have not heard back from my contact at Sysgo (out of office), but you might have some luck reaching out to them also
info@sysgo.com

I participated in a webinar in which the Sysgo engineer developed a demo using PikeOS and wolfSSL / wolfMQTT. Of course wolfSSL and wolfMQTT code is available as open source on Github, but the PikeOS code will need to be provided by Sysgo.
https://www.youtube.com/watch?v=e2MjDM_JjXQ

Thanks,
Eric @ wolfSSL Support

Re: WolfMQTT on NXP T2080 and VxWork 7 and PykoOS and LX2020

embhorn wrote:

Hi Davide,

wolfMQTT is mostly platform agnostic C code, unless your platform is using non-POSIX APIs, in which case you will have to override calls like send, recv, etc. wolfMQTT should compile on any platform.
wolfMQTT does not currently have .NET bindings. If compiled as a C++ application, there should be no restrictions on your VC++ library version.


Hi embhorn,

I would like to compile WolfMQTT library on an dev. enviroment for a target with the following caratteristcs:

CPU: Intel CoffeLake 9th Gen
S.O.:  VxWorks 7
Endianism: Little-Endian
Compiler: llvm-8.0.0.1
Linker: Clang/LLVM

Please can you give me some indications on the above task?

Thanks,

Davide

Share

Re: WolfMQTT on NXP T2080 and VxWork 7 and PykoOS and LX2020

Hello Davide,

You'll want to cross-compile the library. Here is an example:

GENERIC EXAMPLE:

./configure \
CC="/path/to/your/toolchain/toolchain-gcc" \
AR="/path/to/your/toolchain/toolchain-ar" \
AS="/path/to/your/toolchain/toolchain-gcc" \
RANLIB="/path/to/your/toolchain/toolchain-ranlib" \
LD="/path/to/your/toolchain/toolchain-ld" \
--host=<your host> \
<your other configure options here> \
CFLAGS="-mcpu=<your cpu definition here> \
<other cflags here>" \
LIBS="<libs>"

SPECIFIC EXAMPLE:

./configure \
CC="/usr/local/gcc_arm/gcc-arm-none-eabi-7-2017-q4-major/bin/arm-none-eabi-gcc" \
AR="/usr/local/gcc_arm/gcc-arm-none-eabi-7-2017-q4-major/bin/arm-none-eabi-ar" \
AS="/usr/local/gcc_arm/gcc-arm-none-eabi-7-2017-q4-major/bin/arm-none-eabi-gcc" \
RANLIB="/usr/local/gcc_arm/gcc-arm-none-eabi-7-2017-q4-major/bin/arm-none-eabi-ranlib" \
LD="/usr/local/gcc_arm/gcc-arm-none-eabi-7-2017-q4-major/bin/arm-none-eabi-ld" \
--host=arm-none-eabi \
--enable-aesgcm --enable-ecc \
CFLAGS="-mcpu=cortex-m4 \
-Os -specs=rdimon.specs"  \
LIBS="-Wl,--start-group -lm -lgcc -lc -lrdimon -Wl,--end-group"

Chapter 2.6 of the wolfSSL manual will be helpful, as the same rules apply to wolfMQTT.
https://www.wolfssl.com/docs/wolfssl-manual/ch2/