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 ! >> >> >> >> > >