When not yet creating a custom board, I simply copy the config file and put it 
somewhere inside the workspace. If you eventually create a custom board, you 
can then place it in the proper directory (board/configs/*/defconfig). Doing it 
this way also allows you to configure nuttx with my framework using the "make 
configure" command.

On Tue, Jul 14, 2020, at 08:48, Fotis Panagiotopoulos wrote:
> Hi,
> 
> Thanks everyone for your suggestions!
> 
> I have read the Wikis, and they are very helpful indeed.
> However as I see there is no officiaL way of having an out-of-tree boards
> directory, and this is my main problem.
> If I understand correctly, there is no "proper" way of using NuttX on
> custom hardware, without touching its source code.
> 
> Matias, nice work with that framework!
> In fact it is very close to what I was thinking of finally doing. It seems
> that a top-level Makefile is needed, that will handle everything else. It
> will have to "inject" my custom board to the build system, so as not to
> modify the sources.
> I may use your framework as an example for setting up my workflow.
> 
> Another thing that I was thinking is about NuttX configuration. The file
> .config is included in the .gitignore file. So the actual NuttX
> configuration is not tracked.
> How do you usually handle this? Maybe also symlink my actual config to
> NuttX dir? Also handled by the top-level Makefile?
> 
> Στις Τρί, 14 Ιουλ 2020 στις 12:39 π.μ., ο/η Gregory Nutt <
> spudan...@gmail.com> έγραψε:
> 
> > On 7/13/2020 3:00 PM, Fotis Panagiotopoulos wrote:
> > > Hi everyone!
> > >
> > > I am new to Nuttx but I would like to use it for my next projects.
> > > For the moment I am porting one of my big projects to Nuttx (that was
> > > previously working with another RTOS). However, I am a bit confused on
> > how
> > > I should set up our development workflow.
> > >
> > > I will have to create my own apps dir, containing the actual firmware. I
> > > will have to create a new board config for our custom hardware. Of course
> > > Nuttx shall be configured specifically for the needs of the project. Our
> > > projects use git for version control.
> > >
> > > But what is the recommended way of integrating Nuttx code to my project?
> > > I can think of the following cases:
> > >
> > > 1. Copy the whole Nuttx source code in the project.
> > > This workflow seems to be encouraged, but IMO it's not correct. This way
> > my
> > > copy of Nuttx becomes "detached" to the original repo. It would be very
> > > difficult to change versions, update the kernel, or contribute back.
> > > Everything would have to be merged manually.
> > >
> > > 2. Use the export target, and use Nuttx as a library.
> > > This seems better, but it is still problematic. Nuttx becomes a "black
> > > box". It is not easy to debug it, change configuration, or generally tell
> > > what the library contains. Knowledge on what is built and how is lost in
> > > our version control and the rest of the developers will not be able to
> > > follow any changes.
> > >
> > > 3. Add Nuttx as a submodule to our git repository.
> > > This ticks most of the boxes, but this also means that I will have to
> > also
> > > fork Nuttx to our git server. I am afraid that this will lead up to
> > having
> > > lots of forks, each for every one of our projects, and that it will
> > become
> > > very difficult to manage.
> > >
> > > So what do others do? How do you integrate Nuttx to your projects?
> > > Or is there anything that I am missing or any other solution?
> > >
> > > --
> > > Fotis Panagiotopoulos
> > >
> > Perhaps these Wiki pages would be useful to you:
> >
> >
> > https://cwiki.apache.org/confluence/display/NUTTX/Building+NuttX+with+Applications+Outside+of+the+Source+Tree
> >
> >
> > https://cwiki.apache.org/confluence/display/NUTTX/Custom+Application+Directories
> >
> >
> >
> 

Reply via email to