Hello Roberto and others,

Short: we have template NuttX project which is prepared
to build broad range of projects against exported NuttX
build (remark not tested on Windows yet)

  https://github.com/ppisa/nuttx-devel

The complete build including NuttX build and export
for imxRT Teensy based project is there

  https://gitlab.com/pikron/projects/imxrt-devel

To proceed

  git clone https://gitlab.com/pikron/projects/imxrt-devel.git
  cd imxrt-devel/
  git submodule update --init
  cd nuttx
  make

the final executable is

  imxrt-devel/nuttx/apps-omk/_compiled/bin/start.hex

The loading is target specific, example for teensy in
with teensy_loader_cli is in load-wrapup

But the template should work for broad range of NuttX
supported boards and configurations when the conbination
is specified during the first invocation NUTTX_CONFIG
parameter.

The default configuration is equivalent
    
  make NUTTX_CONFIG=teensy-4.x:pikron-bb

When NuttX is already configured then new invocation even with
defined config does not change it. The configuration change
requires do full distclean
    
  make distclean
  make NUTTX_CONFIG=xxx  

If you try, please report success or failure. I do not promise
to have time to correct it now, but I would consider what can
be done in future. It is known and unfortunate that RISC-V
targets are broken. Reason is broken export from NuttX
for these targets, even including LD scripts which are
not ready for the direct use

  https://github.com/apache/nuttx/issues/6082

I have achieved successful ESP32C3 build after ldscripts
manual preprocessing and missing Make.defs corrections.

The example requires ROMFS enabled in config and
set CONFIG_NSH_ROMFSMOUNTPT and CONFIG_NSH_ROMFSDEVNO.
This allows to setup directly content of the /etc
in the project and select which registered applications
should be run after boot

  imxrt-devel/nuttx/apps-omk/wrapup/romfs/init.d/rcS

More documentation for OMK workflow there

  https://gitlab.com/pikron/projects/imxrt-devel/-/wikis/omk-manual

The full description and background

We develop broad range of projects for GNU/Linux, embedded
devices without OS (ARM, but in the past H8S, m68k, 8051 etc..),
RTEMS and NuttX at company from 1990 and I have transferred
lot to the CTU university as well. Around 2003 year, we have
worked on OCERA project (CAN drivers, CANopen and NDDS/DDS)
and we need to build it for Linux, RT-Linux and sysless
and I have come with Ocrea Make System based on my
company experience. It has been maintained for some time
together with former CTU FEE group but only I take care
about it last 8 years. Yet it is used by my colleagues
in more companies. There is my local copy of the manual

 https://gitlab.com/pikron/projects/imxrt-devel/-/wikis/omk-manual

I have made it to compile our uLAN project for NuttX
including compiled-in or alternatively runtime loadable
kernel driver (same core source for Linux, Windows,
systemless and NuttX now) in 2019 year. The uLAN
RS-485 protocol site there

  https://ulan.sourceforge.net/

NuttX build specific part there

  https://sourceforge.net/p/ulan/ulan-top/ci/master/tree/nuttx/

The NuttX driver variant is specific for LPC17xx_40xx targets
only. I plan to add SAMv7 support. This is probably of interrest
only for niche group there.

But there are prepared these generic templates as described
before

  https://github.com/ppisa/nuttx-devel

  https://gitlab.com/pikron/projects/imxrt-devel

The main goal is to allow write portable applications
and complete solution which can be build for different
systems only by Makefile.rules replacement.

For example, our original CAN and CANopen solution
can be build for GNU/Linux and has been already
successfully tested on NuttX from unmodified
source trees only linked into build top level
with NuttX version of Makefile.rules

  https://ortcan.sourceforge.net/

The OMK allowed us to build complete infusion system firmware
from same sources for RTEMS and do test builds including GUI
and business logic on GNU/Linux.

We have used this system to build our motion control
systems for broad architectures range of systemless, GNU/Linux,
RTEMS systems and I hope to have functional NuttX solution
with PXMC too

  http://pxmc.org/

So I would be happy if some of these project will be usesfull
or could serve as inspiration to somebody else.

Best wishes,
                Pavel Pisa

==================================================
 PiKRON s.r.o.       Phone/Fax: +420 284684676
 Kankovskeho 1235    Phone:     +420 234697622
 182 00 Praha 8      WWW:   http://www.pikron.com/
 Czech Republic      e-mail:  pik...@pikron.com
==================================================

Reply via email to