Hi Nathan, I think this is a nice improvement. We need to improve our Kconfig "--help--".
Actually the original documentation was using "argc" and "argv", mine was different (with "int main(void)") because I just created a simple main from scratch. The main (no pun intended) issue in the original documentation was because it wasn't creating a main function for custom hello: https://github.com/apache/nuttx/commit/a1a0315b9cb6cca373f70ae32b9b1ec3cff526d3 BR, Alan On Sun, Jul 21, 2024 at 1:00 PM Nathan Hartman <hartman.nat...@gmail.com> wrote: > 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 ! > > >>>>> > > >>>>> > > >> >