On Mon, May 18, 2020 at 9:07 PM Gregory Nutt <spudan...@gmail.com> wrote:
>
>
> > OK, by now I'll keep using the alternative to use another name for the
> > elf app/FILE_APPS, as seemingly intended by
> > chao.an in his commit.
> No, that was an error.  The requirements have always supported
> replacement of built-in applications with ELF applications.  That is a
> recommended way for updating an embedded system.  The original PR broke
> that logic.
> > I don't really understand Chaos solution because if the ELF app needs a
> > bigger stack, which is quite probable because it is a
> > derivation/evolution of the built-in command with the same name, you'll
> > have to increase the spawn stack size anyway !?!?
>
> That is true.  The assumption is that the stack size of the built-in
> application will be big enough for the replacement ELF application.
> That might not be true.  But in the case of replacing a built-in
> application with an ELF application, the rule is that we cannot modify
> the base ROM logic.  Imagine that I have 100,000 products in the field
> and I want to replace a built-in. That is pretty easy to do by just
> writing the ELF file to the some local file system.  You would like to
> avoid replacing the entire FLASH image.
>
> And if it is not replacing an existing built-in application. Then there
> is no information on stack size.  The ELF format does have logic to
> support a stack section, but that is not used by the loader.  Other
> formats do include the stack size as part of the header (NXFLAT, for
> example).  But otherwise, you have no option but to make the global
> stack size larger for all applications.
>
> We could potentially come up with an extended ELF head that includes
> stack and priority information.  I think it could be done because the
> offsets in the ELF header permit the header to be extended.  That would
> be a good project.
>

Yes, the best solution is to extend ELF with stack and priority info.
But before that happen, gathering this info from the built-in app
table is workable alternative:
1.Keep the trying order(file system, built-in and nsh command)
2.And get the stack/priority from built-in app table for file system applicaiton
How about we open a new issue track ELF extension for stack/priority?

> > But that's for you pros to decide.
> I merged Xiang's change.  Please try the changes in the repository now
> if you can make the time (without changing the name of hello).
> > At least seems you got a communication problem here, because nobody had
> > a notion about the impact of Chaos commit.
>
> Yes, a communication problem, a testing problem, a requirements problem,
> many problems.  You can help by contributing some time and effort to
> make things better 8)
>
> Greg
>
>
>

Reply via email to