Hi all,

I have opened pull request PR-12742 [1] to improve the "---help---"
text of this Kconfig and hopefully help others avoid this same issue:

[1] https://github.com/apache/nuttx/pull/12742

Cheers,
Nathan

On Sat, Jul 20, 2024 at 8:40 AM Linotte Justin ...
<lutinjisno...@gmail.com> wrote:
>
> hello, i'm happy you resolved the issue and that you also helped me
> progress in my projects !
> have a nice day.
>
> Justin Linotte
>
> Le 19-07-24 à 23:48, Alan C. Assis a écrit :
> > PR submitted: https://github.com/apache/nuttx/pull/12736
> >
> > Thank you Justin for finding this issue!!!
> >
> > You helped to improve our system!
> >
> > BR,
> >
> > Alan
> >
> > On Fri, Jul 19, 2024 at 6:21 PM Alan C. Assis <acas...@gmail.com> wrote:
> >
> >> Hi Justin,
> >>
> >> I was assuming you were planning to run it from "nsh>" that is working
> >> fine:
> >>
> >> nsh> ?
> >> help usage:  help [-v] [<cmd>]
> >>
> >>      .           cp          exec        ls          reboot      truncate
> >>
> >>      [           cmp         exit        mkdir       rm          uname
> >>
> >>      ?           dirname     expr        mkrd        rmdir       umount
> >>
> >>      alias       date        false       mount       set         unset
> >>
> >>      unalias     dd          fdinfo      mv          sleep       uptime
> >>
> >>      basename    df          free        pidof       source      usleep
> >>
> >>      break       dmesg       help        printf      test        xd
> >>
> >>      cat         echo        hexdump     ps          time
> >>      cd          env         kill        pwd         true
> >>
> >> Builtin Apps:
> >>
> >>      custom_hello    hello           ostest
> >>
> >>      getprime        nsh             sh
> >>
> >> nsh> custom_hello
> >>
> >> Custom Hello
> >>
> >> nsh>
> >>
> >> So, probably you forgot to go: make menuconfig => Applications
> >> Configuration -> Custom Apps -> [*] Custom Hello.
> >>
> >> However I found an intriguing fact, when I use
> >> CONFIG_INIT_ENTRYPOINT="hello_main" I get it working fine and I see in the
> >> minicom:
> >>
> >> Hello, World!!
> >>
> >> But, when I changed to CONFIG_INIT_ENTRYPOINT="custom_hello_main" I get
> >> this compilation error:
> >>
> >> $ make
> >> CC:  CustomHello.c <command-line>: error: conflicting types for
> >> 'custom_hello_main'
> >> CustomHello.c:3:5: note: in expansion of macro 'main'
> >>      3 | int main(void)
> >>        |     ^~~~
> >> In file included from /home/alan/nuttxspace/nuttx/include/stdio.h:28,
> >>                   from CustomHello.c:1:
> >> /home/alan/nuttxspace/nuttx/include/sys/types.h:337:5: note: previous
> >> declaration of 'custom_hello_main' was here
> >>    337 | int CONFIG_INIT_ENTRYPOINT(int argc, FAR char *argv[]);
> >>        |     ^~~~~~~~~~~~~~~~~~~~~~
> >> make[2]: *** [/home/alan/nuttxspace/apps/Application.mk:289:
> >> CustomHello.c.home.alan.nuttxspace.apps.CustomApps.CustomHello.o] Error 1
> >> make[1]: *** [Makefile:51:
> >> /home/alan/nuttxspace/apps/CustomApps/CustomHello_all] Error 2
> >> make: *** [tools/LibTargets.mk:232: /home/alan/nuttxspace/apps/libapps.a]
> >> Error 2
> >>
> >>
> >>
> >> After some investigation I found the root cause, the main was defined this
> >> way:
> >>
> >> int main(void)
> >> {
> >>    printf("Custom Hello\n");
> >>    return 0;
> >> }
> >>
> >> So, it was generation conflict, then after changing to:
> >>
> >> int main(int argc, FAR char *argv[])
> >> {
> >>    printf("Custom Hello\n");
> >>    return 0;
> >> }
> >>
> >> Everything worked as expected and I got it on minicom:
> >>
> >> Custom Hello
> >>
> >> I will submit a patch to fix this example, thank you very much!
> >>
> >> BR,
> >>
> >> Alan
> >>
> >> On Fri, Jul 19, 2024 at 4:37 PM Linotte Justin ... <
> >> lutinjisno...@gmail.com> wrote:
> >>
> >>> thanks you for helping me find the solution, i replaced my custom apps
> >>> dir with your to try, but the same problem happen, i think there may be
> >>> a problem with my configuration.
> >>> How do i know what name should i type in "*Application entry point"* so
> >>> that it point to the custom hello main (from CustomHello.c) and that
> >>> nuttx start with my "custom hello" program where i can do what i want
> >>> into ?
> >>> The menuconfig window where i find *"Application entry point"* :
> >>> -------------------
> >>> (Top) → RTOS Features → Tasks and Scheduling
> >>> ↑↑↑↑↑↑↑↑↑↑↑↑↑↑ NuttX/$ARCH Configuration
> >>> [ ] Enable multi handler sharing a IRQ
> >>>       Initialization Task (Via application entry)  --->
> >>> ()  Application argument list
> >>> (2048) Main thread stack size
> >>> (100) init thread priority
> >>> *(CustomHello) Application entry point*
> >>> (CustomHello) Application entry name
> >>> (200) Round robin timeslice (MSEC)
> >>> [ ] Support sporadic scheduling
> >>> (31) Maximum task name size
> >>> [ ] Support parent/child task relationships
> >>> [*] Enable waitpid() API
> >>>       ↓↓↓↓↓↓↓↓↓↓↓↓↓↓
> >>> [Space/Enter] Toggle/enter  [ESC] Leave menu           [S] Save
> >>> [O] Load                    [?] Symbol info            [/] Jump to symbol
> >>> [F] Toggle show-help mode   [C] Toggle show-name mode  [A] Toggle
> >>> show-all mode
> >>> [Q] Quit (prompts for save) [D] Save minimal config (advanced)
> >>>
> >>> Thanks you in advance,
> >>> Justin Linotte
> >>>
> >>> Le 18-07-24 à 20:52, Alan C. Assis a écrit :
> >>>> Hi Linotte,
> >>>>
> >>>> Thanks for testing our tutorials, it is important to validate and find
> >>>> issues.
> >>>>
> >>>> I followed the tutorial here (this is the first time I do it) and it
> >>> worked
> >>>> fine (although copying the text from page removes the comments #)
> >>>>
> >>>> I compressed by CustomApps and shared it:
> >>>>
> >>>>
> >>> https://u.pcloud.link/publink/show?code=XZPzJP0Zh3fACWyHaOHTdsEA8Glg5VmGFwy7
> >>>> Extract it and use some diff tool like meld to compare files and to
> >>>> discover what you did wrong.
> >>>>
> >>>> BR,
> >>>>
> >>>> Alan
> >>>>
> >>>> On Thu, Jul 18, 2024 at 3:01 PM Linotte Justin ...<
> >>> lutinjisno...@gmail.com>
> >>>> wrote:
> >>>>
> >>>>> hello, i hope my question doesn't bother you, i'm an amateur, not a pro
> >>>>> with 40y of experience so it may be dumb for you. i'm also an amateur
> >>> in
> >>>>> english btw
> >>>>>
> >>>>> when i do make like advised here :
> >>>>>
> >>>>>
> >>> https://nuttx.apache.org/docs/latest/quickstart/compiling_make.html#build-nuttx
> >>>>> i get this :
> >>>>>
> >>>>> :~/pico/nuttx/nuttx$ make
> >>>>> Create version.h
> >>>>> LN: platform/board to /home/default/pico/nuttx/apps/platform/dummy
> >>>>> Register: custom_hello
> >>>>> Register: hello
> >>>>> Register: nsh
> >>>>> Register: sh
> >>>>> Register: getprime
> >>>>> Register: ostest
> >>>>> CPP:
> >>>>>
> >>> /home/default/pico/nuttx/nuttx/boards/arm/rp2040/raspberrypi-pico/scripts/raspberrypi-pico-flash.ld->
> >>>>>
> >>> /home/default/pico/nuttx/nuttx/boards/arm/rp2040/raspberrypi-pico/scrLD:
> >>>>> nuttx
> >>>>> arm-none-eabi-ld:
> >>>>>
> >>> /home/default/pico/nuttx/nuttx/staging/libapps.a(builtin_list.c.home.default.pico.nuttx.apps.builtin_1.o):(.rodata.g_builtins+0xc):
> >>>>> undefined reference to `custom_hello_main'
> >>>>> make[1]: *** [Makefile:197: nuttx] Error 1
> >>>>> make: *** [tools/Unix.mk:546: nuttx] Error 2
> >>>>>
> >>>>> i try to "Extend the apps/ directory to include a new custom directory"
> >>>>> to use my own code into nuttx :
> >>>>>
> >>>>>
> >>> https://nuttx.apache.org/docs/latest/guides/customapps.html#extend-the-apps-directory-to-include-a-new-custom-directory
> >>>>> i've configured with menuconfig
> >>>>> rtos features>tasks and scheduling>application entry point to
> >>>>> custom_hello (not custom_hello_main)
> >>>>> application configuration>Custom Apps>[*]Custom Hello App
> >>>>>          >program Name is set to custom_hello
> >>>>>
> >>>>> I don't know how i can know the real name of the entrypoint and also
> >>> how
> >>>>> i can resolve the error when building withmake. i also followed that :
> >>>>>
> >>>>>
> >>> https://nuttx.apache.org/docs/latest/faq/index.html#how-to-start-directly-my-application-instead-starting-nsh
> >>>>> this doesn't explain how you know the ENTRYPOINT name
> >>>>> i'm a bit confused on what to do (maybe you are too because of how i
> >>> write)
> >>>>> thank you if you can help !
> >>>>>
> >>>>>
> >>

Reply via email to