You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@nuttx.apache.org by Peter Kalbus <pt...@mailbox.org.INVALID> on 2022/02/02 07:57:02 UTC
Re: Build Nuttx on MAC / ARM64 Ubuntu
Hi Flavio,
let me share my latest findings.
I’m down to setjmp/longjmp, which needs to be adapted to AARCH64. A preliminary version is available, but not fully working, yet.
I can share my code, if you want to dig into that, too.
/Piet
> Am 31.01.2022 um 11:10 schrieb Flavio Castro Alves Filho <fl...@gmail.com>:
>
> Hi Peter,
>
> Yes, I intend to use it for simulation only.
>
> It is for a personal project. I already have a Ubuntu based desktop
> machine, which works fine. But for mobility, if I could work on my MAC, it
> would be better.
>
> I will try to figure out what is going on.
>
> Thank you for all your help.
>
> Best regards,
>
> Flavio
>
>
> Em dom., 30 de jan. de 2022 10:28, Kalbus, Peter <pt...@mailbox.org.invalid>
> escreveu:
>
>> Hi,
>>
>> are you only interested in the simulation or also have a real target in
>> mind?
>>
>> Maybe you can try to get it working for your real target instead of the
>> simulation. The simulation is definitely not working overall on M1 based
>> host systems yet.
>>
>> I‘m using RP2040 based targets and they are working using my M1 based host
>> system.
>>
>> /Piet
>>
>>
>>> Am 30.01.2022 um 13:22 schrieb Flavio de Castro Alves Filho <
>> flavio.alves@gmail.com>:
>>>
>>> That’s what I did.
>>>
>>> So it is not the problem.
>>>
>>>> On 29 Jan 2022, at 19:43, Peter Kalbus <pt...@mailbox.org.INVALID>
>> wrote:
>>>>
>>>> Hi Flavio,
>>>>
>>>> there’s an explanation in NuttX documentation:
>> https://nuttx.apache.org/docs/latest/quickstart/install.html#kconfig-frontend
>> <
>> https://nuttx.apache.org/docs/latest/quickstart/install.html#kconfig-frontend
>>>
>>>> Check for the „MacOS, Ubuntu 18.04 LTS and earlier“ tab.
>>>>
>>>> It’s a couple of months back, as I did this … but I’m quite sure, that
>> I followed that explanation.
>>>>
>>>> /Piet
>>>>
>>>>
>>>>>> Am 29.01.2022 um 23:17 schrieb Flavio de Castro Alves Filho <
>> flavio.alves@gmail.com>:
>>>>>
>>>>> Hi Peter,
>>>>>
>>>>> How did you install kconfig-frontends on your machine?
>>>>>
>>>>> Best regards,
>>>>>
>>>>> Flavio
>>>>>
>>>>>> On 29 Jan 2022, at 18:13, Kalbus, Peter <pt...@mailbox.org.INVALID>
>> wrote:
>>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> I know, it‘s not complete. But you should get a different error … I
>> see, ARM based CPU is now detected … next step will take longer.
>>>>>>
>>>>>> /Piet
>>>>>>
>>>>>>> Am 29.01.2022 um 22:03 schrieb Flavio de Castro Alves Filho <
>> flavio.alves@gmail.com>:
>>>>>>>
>>>>>>> Hello Guys. Thank you for your fast response.
>>>>>>>
>>>>>>> @Alan, indeed it is an ARM-based Mac.
>>>>>>>
>>>>>>> @Peter, I added your patch in my NuttX project and ran again the
>> configuration, but without success yet :-(
>>>>>>>
>>>>>>> Here is the output
>>>>>>>
>>>>>>> flavio@Flavios-MacBook-Pro nuttx % tools/configure.sh -m sim:nsh
>>>>>>> Copy files
>>>>>>> Select CONFIG_HOST_MACOS=y
>>>>>>> Select CONFIG_HOST_ARM=y
>>>>>>> Refreshing...
>>>>>>> make[2]: Nothing to be done for `clean_context'.
>>>>>>> CP: arch/dummy/Kconfig to
>> /Users/flavio/mestrado/nuttx/nuttx/arch/dummy/dummy_kconfig
>>>>>>> CP: boards/dummy/Kconfig to
>> /Users/flavio/mestrado/nuttx/nuttx/boards/dummy/dummy_kconfig
>>>>>>> LN: platform/board to
>> /Users/flavio/mestrado/nuttx/apps/platform/dummy
>>>>>>> LN: include/arch to arch/sim/include
>>>>>>> LN: include/arch/board to
>> /Users/flavio/mestrado/nuttx/nuttx/boards/sim/sim/sim/include
>>>>>>> LN: drivers/platform to
>> /Users/flavio/mestrado/nuttx/nuttx/drivers/dummy
>>>>>>> LN: include/arch/chip to
>> /Users/flavio/mestrado/nuttx/nuttx/arch/sim/include/sim
>>>>>>> /Users/flavio/mestrado/nuttx/nuttx/tools/link.sh
>> /Users/flavio/mestrado/nuttx/nuttx/arch/sim/include/sim include/arch/chip
>>>>>>> LN: arch/sim/src/chip to
>> /Users/flavio/mestrado/nuttx/nuttx/arch/sim/src/sim
>>>>>>> LN: arch/sim/src/board to
>> /Users/flavio/mestrado/nuttx/nuttx/boards/sim/sim/sim/src
>>>>>>> touch .dirlinks
>>>>>>> mkkconfig in /Users/flavio/mestrado/nuttx/apps/boot
>>>>>>> mkkconfig in /Users/flavio/mestrado/nuttx/apps/canutils
>>>>>>> mkkconfig in /Users/flavio/mestrado/nuttx/apps/crypto
>>>>>>> mkkconfig in /Users/flavio/mestrado/nuttx/apps/examples
>>>>>>> mkkconfig in /Users/flavio/mestrado/nuttx/apps/fsutils
>>>>>>> mkkconfig in /Users/flavio/mestrado/nuttx/apps/gpsutils
>>>>>>> mkkconfig in /Users/flavio/mestrado/nuttx/apps/graphics
>>>>>>> mkkconfig in /Users/flavio/mestrado/nuttx/apps/industry
>>>>>>> mkkconfig in /Users/flavio/mestrado/nuttx/apps/interpreters
>>>>>>> mkkconfig in /Users/flavio/mestrado/nuttx/apps/math
>>>>>>> mkkconfig in /Users/flavio/mestrado/nuttx/apps/mlearning
>>>>>>> mkkconfig in /Users/flavio/mestrado/nuttx/apps/netutils
>>>>>>> mkkconfig in /Users/flavio/mestrado/nuttx/apps/system/libuv
>>>>>>> mkkconfig in /Users/flavio/mestrado/nuttx/apps/system
>>>>>>> mkkconfig in /Users/flavio/mestrado/nuttx/apps/testing
>>>>>>> mkkconfig in /Users/flavio/mestrado/nuttx/apps/wireless/bluetooth
>>>>>>> mkkconfig in /Users/flavio/mestrado/nuttx/apps/wireless/ieee802154
>>>>>>> mkkconfig in /Users/flavio/mestrado/nuttx/apps/wireless
>>>>>>> mkkconfig in /Users/flavio/mestrado/nuttx/apps
>>>>>>> arch/arm/src/imxrt/Kconfig:1504: syntax error
>>>>>>> arch/arm/src/imxrt/Kconfig:1503: invalid option
>>>>>>> arch/arm/src/stm32l4/Kconfig:5347: syntax error
>>>>>>> arch/arm/src/stm32l4/Kconfig:5296: missing end statement for this
>> entry
>>>>>>> arch/arm/src/stm32l4/Kconfig:5164: missing end statement for this
>> entry
>>>>>>> arch/arm/src/stm32l4/Kconfig:8: missing end statement for this entry
>>>>>>> arch/arm/Kconfig:1178: missing end statement for this entry
>>>>>>> arch/arm/Kconfig:7: missing end statement for this entry
>>>>>>> Kconfig:1957: missing end statement for this entry
>>>>>>> arch/arm/src/stm32l4/Kconfig:5346: invalid statement
>>>>>>> arch/arm/src/stm32l4/Kconfig:5356: unexpected end statement
>>>>>>> arch/arm/src/stm32l4/Kconfig:5359: syntax error
>>>>>>> arch/arm/src/stm32l4/Kconfig:5358: invalid statement
>>>>>>> arch/arm/src/stm32l4/Kconfig:5368: unexpected end statement
>>>>>>> arch/arm/src/stm32l4/Kconfig:5371: syntax error
>>>>>>> arch/arm/src/stm32l4/Kconfig:5370: invalid statement
>>>>>>> arch/arm/src/stm32l4/Kconfig:5380: unexpected end statement
>>>>>>> arch/arm/src/stm32l4/Kconfig:5382: unexpected end statement
>>>>>>> arch/arm/src/stm32l4/Kconfig:5384: unexpected end statement
>>>>>>> arch/arm/src/stm32l4/Kconfig:6253: unexpected end statement
>>>>>>> arch/arm/Kconfig:1179: unexpected end statement
>>>>>>> arch/arm/Kconfig:1199: unexpected end statement
>>>>>>> Kconfig:1959: unexpected end statement
>>>>>>> boards/sim/sim/sim/Kconfig:58: syntax error
>>>>>>> boards/sim/sim/sim/Kconfig:57: invalid option
>>>>>>> drivers/note/Kconfig:80: syntax error
>>>>>>> drivers/note/Kconfig:79: invalid option
>>>>>>> drivers/sensors/Kconfig:308: syntax error
>>>>>>> drivers/sensors/Kconfig:307: invalid option
>>>>>>> drivers/syslog/Kconfig:317: syntax error
>>>>>>> drivers/syslog/Kconfig:316: invalid option
>>>>>>> make: *** [olddefconfig] Error 1
>>>>>>> ERROR: failed to refresh
>>>>>>> flavio@Flavios-MacBook-Pro nuttx %
>>>>>>>
>>>>>>>
>>>>>>> Is there any missing requirement from my environment?
>>>>>>>
>>>>>>> How do I implement the manual architecture setup? I’m afraid that it
>> won’t work either …
>>>>>>>
>>>>>>> Best regards,
>>>>>>>
>>>>>>> Flavio
>>>>>>>
>>>>>>>
>>>>>>>> On 29 Jan 2022, at 17:53, Peter Kalbus <pt...@mailbox.org.INVALID>
>> wrote:
>>>>>>>>
>>>>>>>> Created PR to detect host CPU type:
>> https://github.com/apache/incubator-nuttx/pull/5374 <
>> https://github.com/apache/incubator-nuttx/pull/5374> <
>> https://github.com/apache/incubator-nuttx/pull/5374 <
>> https://github.com/apache/incubator-nuttx/pull/5374>>
>>>>>>>>
>>>>>>>> /Piet
>>>>>>>>
>>>>>>>>
>>>>>>>>>> Am 29.01.2022 um 19:12 schrieb Peter Kalbus <ptka@mailbox.org
>> <ma...@mailbox.org>>:
>>>>>>>>>
>>>>>>>>> Hi again,
>>>>>>>>>
>>>>>>>>> just as an extension. On the same M1, I’ve Ubuntu ARM64 running
>> using Parallels VM.
>>>>>>>>>
>>>>>>>>> Same issue: Host CPU Type detected as „x86_64“ and compilation
>> stops at same file —> see below.
>>>>>>>>>
>>>>>>>>> Issue seems to be not specific to MacOS M1, but rather generic to
>> ARM64 host systems.
>>>>>>>>>
>>>>>>>>> /Piet
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> —————
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> AR (create): libdrivers.a bchlib_setup.o bchlib_teardown.o
>> bchlib_read.o bchlib_write.o bchlib_cache.o bchlib_sem.o bchdev_register.o
>> bchdev_unregister.o bchdev_driver.o ioe_dummy.o gpio.o gpio_lower_half.o
>> loop.o losetup.o pipe.o fifo.o pipe_common.o serial.o serial_io.o vsyslog.o
>> syslog_stream.o syslog_channel.o syslog_putc.o syslog_write.o
>> syslog_force.o syslog_flush.o syslog_initialize.o syslog_device.o oneshot.o
>> arch_alarm.o hid_parser.o dev_null.o dev_zero.o ramdisk.o mkrd.o
>>>>>>>>> make[1]: Leaving directory
>> '/home/piet/Projects/NuttX/ptka/nuttx/drivers'
>>>>>>>>> IN: drivers/libdrivers.a -> staging/libdrivers.a
>>>>>>>>> make[1]: Entering directory
>> '/home/piet/Projects/NuttX/ptka/nuttx/boards'
>>>>>>>>> CC: boardctl.c
>>>>>>>>> AR (create): libboards.a dummy.o boardctl.o
>>>>>>>>> make[1]: Leaving directory
>> '/home/piet/Projects/NuttX/ptka/nuttx/boards'
>>>>>>>>> IN: boards/libboards.a -> staging/libboards.a
>>>>>>>>> make[1]: Entering directory
>> '/home/piet/Projects/NuttX/ptka/nuttx/libs/libc'
>>>>>>>>> AS: machine/sim/arch_setjmp_arm.S
>>>>>>>>> machine/sim/arch_setjmp_arm.S: Assembler messages:
>>>>>>>>> machine/sim/arch_setjmp_arm.S:39: Error: unknown pseudo-op:
>> `.syntax'
>>>>>>>>> machine/sim/arch_setjmp_arm.S:43: Error: operand 1 must be an
>> integer register -- `mov ip,r0'
>>>>>>>>> machine/sim/arch_setjmp_arm.S:44: Error: unknown mnemonic `stmia'
>> -- `stmia ip!,{v1,v2,v3,v4,v5,v6,sl,fp}'
>>>>>>>>> machine/sim/arch_setjmp_arm.S:45: Error: operand 1 must be an
>> integer register -- `mov r2,sp'
>>>>>>>>> machine/sim/arch_setjmp_arm.S:46: Error: unknown mnemonic `stmia'
>> -- `stmia ip!,{r2,lr}'
>>>>>>>>> machine/sim/arch_setjmp_arm.S:47: Error: operand 1 must be an
>> integer register -- `mov r0,#0'
>>>>>>>>> machine/sim/arch_setjmp_arm.S:75: Error: unknown mnemonic `bx' --
>> `bx lr'
>>>>>>>>> machine/sim/arch_setjmp_arm.S:77: Error: unknown pseudo-op:
>> `.syntax'
>>>>>>>>> machine/sim/arch_setjmp_arm.S:81: Error: operand 1 must be an
>> integer register -- `mov ip,r0'
>>>>>>>>> machine/sim/arch_setjmp_arm.S:82: Error: operand 1 must be an SVE
>> predicate register -- `movs r0,r1'
>>>>>>>>> machine/sim/arch_setjmp_arm.S:83: Error: unknown mnemonic `moveq'
>> -- `moveq r0,#1'
>>>>>>>>> machine/sim/arch_setjmp_arm.S:84: Error: unknown mnemonic `ldmia'
>> -- `ldmia ip!,{v1,v2,v3,v4,v5,v6,sl,fp}'
>>>>>>>>> machine/sim/arch_setjmp_arm.S:85: Error: unknown mnemonic `ldmia'
>> -- `ldmia ip!,{r2,lr}'
>>>>>>>>> machine/sim/arch_setjmp_arm.S:103: Error: unknown mnemonic `bx' --
>> `bx lr'
>>>>>>>>> machine/sim/arch_setjmp_arm.S:86: Error: undefined symbol r2 used
>> as an immediate value
>>>>>>>>> make[1]: *** [Makefile:130: bin/arch_setjmp_arm.o] Error 1
>>>>>>>>> make[1]: Leaving directory
>> '/home/piet/Projects/NuttX/ptka/nuttx/libs/libc'
>>>>>>>>> make: *** [tools/LibTargets.mk:168: libs/libc/libc.a] Error 2
>>>>>>>>>
>>>>>>>>> ————
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>> Am 29.01.2022 um 19:00 schrieb Peter Kalbus
>> <ptka@mailbox.org.INVALID <ma...@mailbox.org.INVALID> <mailto:
>> ptka@mailbox.org.INVALID <ma...@mailbox.org.INVALID>>>:
>>>>>>>>>>
>>>>>>>>>> Config and log from my M1:
>>>>>>>>>>
>>>>>>>>>> ——————————————
>>>>>>>>>>
>>>>>>>>>> #
>>>>>>>>>> # This file is autogenerated: PLEASE DO NOT EDIT IT.
>>>>>>>>>> #
>>>>>>>>>> # You can use "make menuconfig" to make any modifications to the
>> installed .config file.
>>>>>>>>>> # You can then do "make savedefconfig" to generate a new
>> defconfig file that includes your
>>>>>>>>>> # modifications.
>>>>>>>>>> #
>>>>>>>>>> # CONFIG_NSH_CMDOPT_HEXDUMP is not set
>>>>>>>>>> CONFIG_ARCH="sim"
>>>>>>>>>> CONFIG_ARCH_BOARD="sim"
>>>>>>>>>> CONFIG_ARCH_BOARD_SIM=y
>>>>>>>>>> CONFIG_ARCH_CHIP="sim"
>>>>>>>>>> CONFIG_ARCH_SIM=y
>>>>>>>>>> CONFIG_BOARDCTL_APP_SYMTAB=y
>>>>>>>>>> CONFIG_BOARDCTL_POWEROFF=y
>>>>>>>>>> CONFIG_BOARD_LOOPSPERMSEC=0
>>>>>>>>>> CONFIG_BOOT_RUNFROMEXTSRAM=y
>>>>>>>>>> CONFIG_BUILTIN=y
>>>>>>>>>> CONFIG_DEBUG_SYMBOLS=y
>>>>>>>>>> CONFIG_DEV_GPIO=y
>>>>>>>>>> CONFIG_DEV_LOOP=y
>>>>>>>>>> CONFIG_DEV_ZERO=y
>>>>>>>>>> CONFIG_EXAMPLES_GPIO=y
>>>>>>>>>> CONFIG_EXAMPLES_HELLO=y
>>>>>>>>>> CONFIG_FAT_LCNAMES=y
>>>>>>>>>> CONFIG_FAT_LFN=y
>>>>>>>>>> CONFIG_FSUTILS_PASSWD=y
>>>>>>>>>> CONFIG_FSUTILS_PASSWD_READONLY=y
>>>>>>>>>> CONFIG_FS_BINFS=y
>>>>>>>>>> CONFIG_FS_FAT=y
>>>>>>>>>> CONFIG_FS_PROCFS=y
>>>>>>>>>> CONFIG_FS_RAMMAP=y
>>>>>>>>>> CONFIG_FS_ROMFS=y
>>>>>>>>>> CONFIG_GPIO_LOWER_HALF=y
>>>>>>>>>> CONFIG_HOST_ARM=y
>>>>>>>>>> CONFIG_HOST_MACOS=y
>>>>>>>>>> CONFIG_IDLETHREAD_STACKSIZE=4096
>>>>>>>>>> CONFIG_INIT_ENTRYPOINT="nsh_main"
>>>>>>>>>> CONFIG_IOEXPANDER=y
>>>>>>>>>> CONFIG_IOEXPANDER_DUMMY=y
>>>>>>>>>> CONFIG_LIBC_ENVPATH=y
>>>>>>>>>> CONFIG_LIBC_EXECFUNCS=y
>>>>>>>>>> CONFIG_LIBC_LOCALE=y
>>>>>>>>>> CONFIG_LIBC_LOCALE_CATALOG=y
>>>>>>>>>> CONFIG_LIBC_LOCALE_GETTEXT=y
>>>>>>>>>> CONFIG_NSH_ARCHINIT=y
>>>>>>>>>> CONFIG_NSH_ARCHROMFS=y
>>>>>>>>>> CONFIG_NSH_BUILTIN_APPS=y
>>>>>>>>>> CONFIG_NSH_CONSOLE_LOGIN=y
>>>>>>>>>> CONFIG_NSH_FATDEVNO=2
>>>>>>>>>> CONFIG_NSH_FILE_APPS=y
>>>>>>>>>> CONFIG_NSH_MOTD=y
>>>>>>>>>> CONFIG_NSH_MOTD_STRING="MOTD: username=admin
>> password=Administrator"
>>>>>>>>>> CONFIG_NSH_READLINE=y
>>>>>>>>>> CONFIG_NSH_ROMFSDEVNO=1
>>>>>>>>>> CONFIG_NSH_ROMFSETC=y
>>>>>>>>>> CONFIG_PATH_INITIAL="/bin"
>>>>>>>>>> CONFIG_POSIX_SPAWN_PROXY_STACKSIZE=2048
>>>>>>>>>> CONFIG_PSEUDOFS_ATTRIBUTES=y
>>>>>>>>>> CONFIG_PSEUDOFS_SOFTLINKS=y
>>>>>>>>>> CONFIG_READLINE_TABCOMPLETION=y
>>>>>>>>>> CONFIG_SCHED_HAVE_PARENT=y
>>>>>>>>>> CONFIG_SCHED_HPWORK=y
>>>>>>>>>> CONFIG_SCHED_ONEXIT=y
>>>>>>>>>> CONFIG_SCHED_WAITPID=y
>>>>>>>>>> CONFIG_SDCLONE_DISABLE=y
>>>>>>>>>> CONFIG_START_MONTH=6
>>>>>>>>>> CONFIG_START_YEAR=2008
>>>>>>>>>> CONFIG_SYSTEM_NSH=y
>>>>>>>>>>
>>>>>>>>>> ——————————————
>>>>>>>>>>
>>>>>>>>>> for dir in
>> /Users/piet/Projects/NuttX/feature-sim-macos-m1-support/apps sched drivers
>> boards arch/sim/src fs binfmt libs/libc mm ; do \
>>>>>>>>>> /Applications/Xcode.app/Contents/Developer/usr/bin/make -C
>> $dir EXTRAFLAGS="-D__KERNEL__ " depend || exit; \
>>>>>>>>>> done
>>>>>>>>>> /Applications/Xcode.app/Contents/Developer/usr/bin/make -C
>> /Users/piet/Projects/NuttX/feature-sim-macos-m1-support/apps/builtin depend
>> APPDIR="/Users/piet/Projects/NuttX/feature-sim-macos-m1-support/apps"
>>>>>>>>>> make[2]: Nothing to be done for `depend'.
>>>>>>>>>> /Applications/Xcode.app/Contents/Developer/usr/bin/make -C
>> /Users/piet/Projects/NuttX/feature-sim-macos-m1-support/apps/examples/gpio
>> depend APPDIR="/Users/piet/Projects/NuttX/feature-sim-macos-m1-support/apps"
>>>>>>>>>> make[2]: Nothing to be done for `depend'.
>>>>>>>>>> /Applications/Xcode.app/Contents/Developer/usr/bin/make -C
>> /Users/piet/Projects/NuttX/feature-sim-macos-m1-support/apps/examples/hello
>> depend APPDIR="/Users/piet/Projects/NuttX/feature-sim-macos-m1-support/apps"
>>>>>>>>>> make[2]: Nothing to be done for `depend'.
>>>>>>>>>> /Applications/Xcode.app/Contents/Developer/usr/bin/make -C
>> /Users/piet/Projects/NuttX/feature-sim-macos-m1-support/apps/fsutils/mkfatfs
>> depend APPDIR="/Users/piet/Projects/NuttX/feature-sim-macos-m1-support/apps"
>>>>>>>>>> make[2]: Nothing to be done for `depend'.
>>>>>>>>>> /Applications/Xcode.app/Contents/Developer/usr/bin/make -C
>> /Users/piet/Projects/NuttX/feature-sim-macos-m1-support/apps/fsutils/passwd
>> depend APPDIR="/Users/piet/Projects/NuttX/feature-sim-macos-m1-support/apps"
>>>>>>>>>> make[2]: Nothing to be done for `depend'.
>>>>>>>>>> /Applications/Xcode.app/Contents/Developer/usr/bin/make -C
>> /Users/piet/Projects/NuttX/feature-sim-macos-m1-support/apps/nshlib depend
>> APPDIR="/Users/piet/Projects/NuttX/feature-sim-macos-m1-support/apps"
>>>>>>>>>> make[2]: Nothing to be done for `depend'.
>>>>>>>>>> /Applications/Xcode.app/Contents/Developer/usr/bin/make -C
>> /Users/piet/Projects/NuttX/feature-sim-macos-m1-support/apps/platform
>> depend APPDIR="/Users/piet/Projects/NuttX/feature-sim-macos-m1-support/apps"
>>>>>>>>>> make[2]: Nothing to be done for `depend'.
>>>>>>>>>> /Applications/Xcode.app/Contents/Developer/usr/bin/make -C
>> /Users/piet/Projects/NuttX/feature-sim-macos-m1-support/apps/system/nsh
>> depend APPDIR="/Users/piet/Projects/NuttX/feature-sim-macos-m1-support/apps"
>>>>>>>>>> make[2]: Nothing to be done for `depend'.
>>>>>>>>>> /Applications/Xcode.app/Contents/Developer/usr/bin/make -C
>> /Users/piet/Projects/NuttX/feature-sim-macos-m1-support/apps/system/readline
>> depend APPDIR="/Users/piet/Projects/NuttX/feature-sim-macos-m1-support/apps"
>>>>>>>>>> make[2]: Nothing to be done for `depend'.
>>>>>>>>>> touch .depend
>>>>>>>>>> make[1]: Nothing to be done for `depend'.
>>>>>>>>>> make[1]: Nothing to be done for `depend'.
>>>>>>>>>> make[1]: Nothing to be done for `depend'.
>>>>>>>>>> make[1]: Nothing to be done for `depend'.
>>>>>>>>>> make[1]: Nothing to be done for `depend'.
>>>>>>>>>> make[1]: Nothing to be done for `depend'.
>>>>>>>>>> make[1]: Nothing to be done for `depend'.
>>>>>>>>>> make[1]: Nothing to be done for `depend'.
>>>>>>>>>> /Applications/Xcode.app/Contents/Developer/usr/bin/make -C sched
>> libsched.a EXTRAFLAGS="-D__KERNEL__ "
>>>>>>>>>> make[1]: `libsched.a' is up to date.
>>>>>>>>>> /Applications/Xcode.app/Contents/Developer/usr/bin/make -C
>> drivers libdrivers.a EXTRAFLAGS="-D__KERNEL__ "
>>>>>>>>>> make[1]: `libdrivers.a' is up to date.
>>>>>>>>>> /Applications/Xcode.app/Contents/Developer/usr/bin/make -C boards
>> libboards.a EXTRAFLAGS="-D__KERNEL__ "
>>>>>>>>>> make[1]: `libboards.a' is up to date.
>>>>>>>>>> /Applications/Xcode.app/Contents/Developer/usr/bin/make -C
>> libs/libc libc.a EXTRAFLAGS=""
>>>>>>>>>> AS: machine/sim/arch_setjmp_arm.S
>>>>>>>>>> cc -c -Wall -Wstrict-prototypes -Wshadow -Wundef -g -fno-builtin
>> -fvisibility=hidden -fno-common -isystem
>> "/Users/piet/Projects/NuttX/feature-sim-macos-m1-support/nuttx/include"
>> -D__NuttX__ -U_AIX -U_WIN32 -U__APPLE__ -U__FreeBSD__ -U__NetBSD__
>> -U__linux__ -U__sun__ -U__unix__
>> -U__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ -pipe -D__ASSEMBLY__
>> machine/sim/arch_setjmp_arm.S -o bin/arch_setjmp_arm.o
>>>>>>>>>> machine/sim/arch_setjmp_arm.S:38:1: error: unknown directive
>>>>>>>>>> .syntax unified
>>>>>>>>>> ^
>>>>>>>>>> machine/sim/arch_setjmp_arm.S:40:1: error: unknown directive
>>>>>>>>>> .type setjmp,%function
>>>>>>>>>> ^
>>>>>>>>>> machine/sim/arch_setjmp_arm.S:42:6: error: invalid operand for
>> instruction
>>>>>>>>>> mov ip,r0
>>>>>>>>>> ^
>>>>>>>>>> machine/sim/arch_setjmp_arm.S:43:31: error: vector register
>> expected
>>>>>>>>>> stmia ip!,{v1,v2,v3,v4,v5,v6,sl,fp}
>>>>>>>>>> ^
>>>>>>>>>> machine/sim/arch_setjmp_arm.S:44:6: error: invalid operand for
>> instruction
>>>>>>>>>> mov r2,sp
>>>>>>>>>> ^
>>>>>>>>>> machine/sim/arch_setjmp_arm.S:45:13: error: vector register
>> expected
>>>>>>>>>> stmia ip!,{r2,lr}
>>>>>>>>>> ^
>>>>>>>>>> machine/sim/arch_setjmp_arm.S:46:6: error: invalid operand for
>> instruction
>>>>>>>>>> mov r0,#0
>>>>>>>>>> ^
>>>>>>>>>> machine/sim/arch_setjmp_arm.S:48:4: error: unrecognized
>> instruction mnemonic, did you mean: b, bcax, bl, br, sb, tbx?
>>>>>>>>>> 3: bx lr
>>>>>>>>>> ^
>>>>>>>>>> machine/sim/arch_setjmp_arm.S:50:1: error: unknown directive
>>>>>>>>>> .syntax unified
>>>>>>>>>> ^
>>>>>>>>>> machine/sim/arch_setjmp_arm.S:52:1: error: unknown directive
>>>>>>>>>> .type longjmp,%function
>>>>>>>>>> ^
>>>>>>>>>> machine/sim/arch_setjmp_arm.S:54:6: error: invalid operand for
>> instruction
>>>>>>>>>> mov ip,r0
>>>>>>>>>> ^
>>>>>>>>>> machine/sim/arch_setjmp_arm.S:55:7: error: invalid operand for
>> instruction
>>>>>>>>>> movs r0,r1
>>>>>>>>>> ^
>>>>>>>>>> machine/sim/arch_setjmp_arm.S:56:2: error: unrecognized
>> instruction mnemonic, did you mean: mov?
>>>>>>>>>> moveq r0,#1
>>>>>>>>>> ^
>>>>>>>>>> machine/sim/arch_setjmp_arm.S:57:32: error: vector register
>> expected
>>>>>>>>>> ldmia ip!, {v1,v2,v3,v4,v5,v6,sl,fp}
>>>>>>>>>> ^
>>>>>>>>>> machine/sim/arch_setjmp_arm.S:58:14: error: vector register
>> expected
>>>>>>>>>> ldmia ip!, {r2,lr}
>>>>>>>>>> ^
>>>>>>>>>> machine/sim/arch_setjmp_arm.S:59:9: error: expected compatible
>> register or logical immediate
>>>>>>>>>> mov sp,r2
>>>>>>>>>> ^
>>>>>>>>>> machine/sim/arch_setjmp_arm.S:61:4: error: unrecognized
>> instruction mnemonic, did you mean: b, bcax, bl, br, sb, tbx?
>>>>>>>>>> 3: bx lr
>>>>>>>>>> ^
>>>>>>>>>> make[1]: *** [bin/arch_setjmp_arm.o] Error 1
>>>>>>>>>> make: *** [libs/libc/libc.a] Error 2
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>> Am 29.01.2022 um 18:40 schrieb Peter Kalbus
>> <ptka@mailbox.org.INVALID <ma...@mailbox.org.INVALID> <mailto:
>> ptka@mailbox.org.INVALID <ma...@mailbox.org.INVALID>>>:
>>>>>>>>>>>
>>>>>>>>>>> Hi,
>>>>>>>>>>>
>>>>>>>>>>> I’m using NuttX on a M1 MacBook Air since a couple of months.
>>>>>>>>>>> I’ve no issues to get NuttX compiled for my RP2040 based targets.
>>>>>>>>>>>
>>>>>>>>>>> But I can confirm, that the Sim configuration sim:nsh not
>> working.
>>>>>>>>>>>
>>>>>>>>>>> Currently, I see there are two issues:
>>>>>>>>>>>
>>>>>>>>>>> /1/ M1 „Host CPU Type“ is detected as x86_64, but not as „arm“
>>>>>>>>>>> Workarround for this is, to set it manually in the
>> configuration
>>>>>>>>>>>
>>>>>>>>>>> /2/ At least the following files are not compilable
>>>>>>>>>>> arch/sim/src/sim/up_vfork_arm.S <
>> https://github.com/ptka/incubator-nuttx#diff-fd079323b0636ac4012f50afe8c5555656d7a760b0429f46188919fe7807f8a5
>> <
>> https://github.com/ptka/incubator-nuttx#diff-fd079323b0636ac4012f50afe8c5555656d7a760b0429f46188919fe7807f8a5>
>> <
>> https://github.com/ptka/incubator-nuttx#diff-fd079323b0636ac4012f50afe8c5555656d7a760b0429f46188919fe7807f8a5
>> <
>> https://github.com/ptka/incubator-nuttx#diff-fd079323b0636ac4012f50afe8c5555656d7a760b0429f46188919fe7807f8a5
>>>>>
>>>>>>>>>>> libs/libc/machine/sim/arch_setjmp_arm.S <
>> https://github.com/ptka/incubator-nuttx#diff-cffded10274b4845aae8c75bd91550d140214585ea17d47f2cf01dd021a16abe
>> <
>> https://github.com/ptka/incubator-nuttx#diff-cffded10274b4845aae8c75bd91550d140214585ea17d47f2cf01dd021a16abe>
>> <
>> https://github.com/ptka/incubator-nuttx#diff-cffded10274b4845aae8c75bd91550d140214585ea17d47f2cf01dd021a16abe
>> <
>> https://github.com/ptka/incubator-nuttx#diff-cffded10274b4845aae8c75bd91550d140214585ea17d47f2cf01dd021a16abe
>>>>>
>>>>>>>>>>> libs/libc/stdio/lib_libvsprintf.c <
>> https://github.com/ptka/incubator-nuttx#diff-befc8e04ddb3722f024f65ffd7648aac1cb24846d2b80fff6328e3cb5862220f
>> <
>> https://github.com/ptka/incubator-nuttx#diff-befc8e04ddb3722f024f65ffd7648aac1cb24846d2b80fff6328e3cb5862220f>
>> <
>> https://github.com/ptka/incubator-nuttx#diff-befc8e04ddb3722f024f65ffd7648aac1cb24846d2b80fff6328e3cb5862220f
>> <
>> https://github.com/ptka/incubator-nuttx#diff-befc8e04ddb3722f024f65ffd7648aac1cb24846d2b80fff6328e3cb5862220f
>>>>>
>>>>>>>>>>>
>>>>>>>>>>> The 2nd point could be related to a wrong compiler/assembler
>> selected
>>>>>>>>>>> or the way, the compiler is invoked. In worst case, it’s there
>> code itself.
>>>>>>>>>>>
>>>>>>>>>>> I would be very interested helping to find a solution on this
>> topic.
>>>>>>>>>>>
>>>>>>>>>>> /Piet
>>>>>>>>>>>
>>>>>>>>>>>> Am 29.01.2022 um 17:33 schrieb Tomasz CEDRO <tomek@cedro.info
>> <ma...@cedro.info> <mailto:tomek@cedro.info <mailto:
>> tomek@cedro.info>>>:
>>>>>>>>>>>>
>>>>>>>>>>>> macOS is a BSD.. very close to FreeBSD:
>>>>>>>>>>>> 1. Use gmake.
>>>>>>>>>>>> 2. Make sure you have the right version of kconfig-frontends
>> package
>>>>>>>>>>>> installed. If you installed it locally make sure path to your
>> local
>>>>>>>>>>>> binary is in the first place.
>>>>>>>>>>>>
>>>>>>>>>>>> --
>>>>>>>>>>>> CeDeROM, SQ7MHZ, http://www.tomek.cedro.info <
>> http://www.tomek.cedro.info/> <http://www.tomek.cedro.info/ <
>> http://www.tomek.cedro.info/>>
>>>>>>>
>>>>>
>>>>
>>>
>>
Re: Build Nuttx on MAC / ARM64 Ubuntu
Posted by Peter Kalbus <pt...@mailbox.org.INVALID>.
Hi,
please check https://github.com/apache/incubator-nuttx/pull/5401 <https://github.com/apache/incubator-nuttx/pull/5401> with initial support.
Feedback is highly appreciated.
/Piet
> Am 02.02.2022 um 08:57 schrieb Peter Kalbus <pt...@mailbox.org.INVALID>:
>
> Hi Flavio,
>
> let me share my latest findings.
>
> I’m down to setjmp/longjmp, which needs to be adapted to AARCH64. A preliminary version is available, but not fully working, yet.
>
> I can share my code, if you want to dig into that, too.
>
> /Piet
>
>
>
>> Am 31.01.2022 um 11:10 schrieb Flavio Castro Alves Filho <fl...@gmail.com>:
>>
>> Hi Peter,
>>
>> Yes, I intend to use it for simulation only.
>>
>> It is for a personal project. I already have a Ubuntu based desktop
>> machine, which works fine. But for mobility, if I could work on my MAC, it
>> would be better.
>>
>> I will try to figure out what is going on.
>>
>> Thank you for all your help.
>>
>> Best regards,
>>
>> Flavio
>>
>>
>> Em dom., 30 de jan. de 2022 10:28, Kalbus, Peter <pt...@mailbox.org.invalid>
>> escreveu:
>>
>>> Hi,
>>>
>>> are you only interested in the simulation or also have a real target in
>>> mind?
>>>
>>> Maybe you can try to get it working for your real target instead of the
>>> simulation. The simulation is definitely not working overall on M1 based
>>> host systems yet.
>>>
>>> I‘m using RP2040 based targets and they are working using my M1 based host
>>> system.
>>>
>>> /Piet
>>>
>>>
>>>> Am 30.01.2022 um 13:22 schrieb Flavio de Castro Alves Filho <
>>> flavio.alves@gmail.com>:
>>>>
>>>> That’s what I did.
>>>>
>>>> So it is not the problem.
>>>>
>>>>> On 29 Jan 2022, at 19:43, Peter Kalbus <pt...@mailbox.org.INVALID>
>>> wrote:
>>>>>
>>>>> Hi Flavio,
>>>>>
>>>>> there’s an explanation in NuttX documentation:
>>> https://nuttx.apache.org/docs/latest/quickstart/install.html#kconfig-frontend
>>> <
>>> https://nuttx.apache.org/docs/latest/quickstart/install.html#kconfig-frontend
>>>>
>>>>> Check for the „MacOS, Ubuntu 18.04 LTS and earlier“ tab.
>>>>>
>>>>> It’s a couple of months back, as I did this … but I’m quite sure, that
>>> I followed that explanation.
>>>>>
>>>>> /Piet
>>>>>
>>>>>
>>>>>>> Am 29.01.2022 um 23:17 schrieb Flavio de Castro Alves Filho <
>>> flavio.alves@gmail.com>:
>>>>>>
>>>>>> Hi Peter,
>>>>>>
>>>>>> How did you install kconfig-frontends on your machine?
>>>>>>
>>>>>> Best regards,
>>>>>>
>>>>>> Flavio
>>>>>>
>>>>>>> On 29 Jan 2022, at 18:13, Kalbus, Peter <pt...@mailbox.org.INVALID>
>>> wrote:
>>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> I know, it‘s not complete. But you should get a different error … I
>>> see, ARM based CPU is now detected … next step will take longer.
>>>>>>>
>>>>>>> /Piet
>>>>>>>
>>>>>>>> Am 29.01.2022 um 22:03 schrieb Flavio de Castro Alves Filho <
>>> flavio.alves@gmail.com>:
>>>>>>>>
>>>>>>>> Hello Guys. Thank you for your fast response.
>>>>>>>>
>>>>>>>> @Alan, indeed it is an ARM-based Mac.
>>>>>>>>
>>>>>>>> @Peter, I added your patch in my NuttX project and ran again the
>>> configuration, but without success yet :-(
>>>>>>>>
>>>>>>>> Here is the output
>>>>>>>>
>>>>>>>> flavio@Flavios-MacBook-Pro nuttx % tools/configure.sh -m sim:nsh
>>>>>>>> Copy files
>>>>>>>> Select CONFIG_HOST_MACOS=y
>>>>>>>> Select CONFIG_HOST_ARM=y
>>>>>>>> Refreshing...
>>>>>>>> make[2]: Nothing to be done for `clean_context'.
>>>>>>>> CP: arch/dummy/Kconfig to
>>> /Users/flavio/mestrado/nuttx/nuttx/arch/dummy/dummy_kconfig
>>>>>>>> CP: boards/dummy/Kconfig to
>>> /Users/flavio/mestrado/nuttx/nuttx/boards/dummy/dummy_kconfig
>>>>>>>> LN: platform/board to
>>> /Users/flavio/mestrado/nuttx/apps/platform/dummy
>>>>>>>> LN: include/arch to arch/sim/include
>>>>>>>> LN: include/arch/board to
>>> /Users/flavio/mestrado/nuttx/nuttx/boards/sim/sim/sim/include
>>>>>>>> LN: drivers/platform to
>>> /Users/flavio/mestrado/nuttx/nuttx/drivers/dummy
>>>>>>>> LN: include/arch/chip to
>>> /Users/flavio/mestrado/nuttx/nuttx/arch/sim/include/sim
>>>>>>>> /Users/flavio/mestrado/nuttx/nuttx/tools/link.sh
>>> /Users/flavio/mestrado/nuttx/nuttx/arch/sim/include/sim include/arch/chip
>>>>>>>> LN: arch/sim/src/chip to
>>> /Users/flavio/mestrado/nuttx/nuttx/arch/sim/src/sim
>>>>>>>> LN: arch/sim/src/board to
>>> /Users/flavio/mestrado/nuttx/nuttx/boards/sim/sim/sim/src
>>>>>>>> touch .dirlinks
>>>>>>>> mkkconfig in /Users/flavio/mestrado/nuttx/apps/boot
>>>>>>>> mkkconfig in /Users/flavio/mestrado/nuttx/apps/canutils
>>>>>>>> mkkconfig in /Users/flavio/mestrado/nuttx/apps/crypto
>>>>>>>> mkkconfig in /Users/flavio/mestrado/nuttx/apps/examples
>>>>>>>> mkkconfig in /Users/flavio/mestrado/nuttx/apps/fsutils
>>>>>>>> mkkconfig in /Users/flavio/mestrado/nuttx/apps/gpsutils
>>>>>>>> mkkconfig in /Users/flavio/mestrado/nuttx/apps/graphics
>>>>>>>> mkkconfig in /Users/flavio/mestrado/nuttx/apps/industry
>>>>>>>> mkkconfig in /Users/flavio/mestrado/nuttx/apps/interpreters
>>>>>>>> mkkconfig in /Users/flavio/mestrado/nuttx/apps/math
>>>>>>>> mkkconfig in /Users/flavio/mestrado/nuttx/apps/mlearning
>>>>>>>> mkkconfig in /Users/flavio/mestrado/nuttx/apps/netutils
>>>>>>>> mkkconfig in /Users/flavio/mestrado/nuttx/apps/system/libuv
>>>>>>>> mkkconfig in /Users/flavio/mestrado/nuttx/apps/system
>>>>>>>> mkkconfig in /Users/flavio/mestrado/nuttx/apps/testing
>>>>>>>> mkkconfig in /Users/flavio/mestrado/nuttx/apps/wireless/bluetooth
>>>>>>>> mkkconfig in /Users/flavio/mestrado/nuttx/apps/wireless/ieee802154
>>>>>>>> mkkconfig in /Users/flavio/mestrado/nuttx/apps/wireless
>>>>>>>> mkkconfig in /Users/flavio/mestrado/nuttx/apps
>>>>>>>> arch/arm/src/imxrt/Kconfig:1504: syntax error
>>>>>>>> arch/arm/src/imxrt/Kconfig:1503: invalid option
>>>>>>>> arch/arm/src/stm32l4/Kconfig:5347: syntax error
>>>>>>>> arch/arm/src/stm32l4/Kconfig:5296: missing end statement for this
>>> entry
>>>>>>>> arch/arm/src/stm32l4/Kconfig:5164: missing end statement for this
>>> entry
>>>>>>>> arch/arm/src/stm32l4/Kconfig:8: missing end statement for this entry
>>>>>>>> arch/arm/Kconfig:1178: missing end statement for this entry
>>>>>>>> arch/arm/Kconfig:7: missing end statement for this entry
>>>>>>>> Kconfig:1957: missing end statement for this entry
>>>>>>>> arch/arm/src/stm32l4/Kconfig:5346: invalid statement
>>>>>>>> arch/arm/src/stm32l4/Kconfig:5356: unexpected end statement
>>>>>>>> arch/arm/src/stm32l4/Kconfig:5359: syntax error
>>>>>>>> arch/arm/src/stm32l4/Kconfig:5358: invalid statement
>>>>>>>> arch/arm/src/stm32l4/Kconfig:5368: unexpected end statement
>>>>>>>> arch/arm/src/stm32l4/Kconfig:5371: syntax error
>>>>>>>> arch/arm/src/stm32l4/Kconfig:5370: invalid statement
>>>>>>>> arch/arm/src/stm32l4/Kconfig:5380: unexpected end statement
>>>>>>>> arch/arm/src/stm32l4/Kconfig:5382: unexpected end statement
>>>>>>>> arch/arm/src/stm32l4/Kconfig:5384: unexpected end statement
>>>>>>>> arch/arm/src/stm32l4/Kconfig:6253: unexpected end statement
>>>>>>>> arch/arm/Kconfig:1179: unexpected end statement
>>>>>>>> arch/arm/Kconfig:1199: unexpected end statement
>>>>>>>> Kconfig:1959: unexpected end statement
>>>>>>>> boards/sim/sim/sim/Kconfig:58: syntax error
>>>>>>>> boards/sim/sim/sim/Kconfig:57: invalid option
>>>>>>>> drivers/note/Kconfig:80: syntax error
>>>>>>>> drivers/note/Kconfig:79: invalid option
>>>>>>>> drivers/sensors/Kconfig:308: syntax error
>>>>>>>> drivers/sensors/Kconfig:307: invalid option
>>>>>>>> drivers/syslog/Kconfig:317: syntax error
>>>>>>>> drivers/syslog/Kconfig:316: invalid option
>>>>>>>> make: *** [olddefconfig] Error 1
>>>>>>>> ERROR: failed to refresh
>>>>>>>> flavio@Flavios-MacBook-Pro nuttx %
>>>>>>>>
>>>>>>>>
>>>>>>>> Is there any missing requirement from my environment?
>>>>>>>>
>>>>>>>> How do I implement the manual architecture setup? I’m afraid that it
>>> won’t work either …
>>>>>>>>
>>>>>>>> Best regards,
>>>>>>>>
>>>>>>>> Flavio
>>>>>>>>
>>>>>>>>
>>>>>>>>> On 29 Jan 2022, at 17:53, Peter Kalbus <pt...@mailbox.org.INVALID>
>>> wrote:
>>>>>>>>>
>>>>>>>>> Created PR to detect host CPU type:
>>> https://github.com/apache/incubator-nuttx/pull/5374 <
>>> https://github.com/apache/incubator-nuttx/pull/5374> <
>>> https://github.com/apache/incubator-nuttx/pull/5374 <
>>> https://github.com/apache/incubator-nuttx/pull/5374>>
>>>>>>>>>
>>>>>>>>> /Piet
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>>> Am 29.01.2022 um 19:12 schrieb Peter Kalbus <ptka@mailbox.org
>>> <ma...@mailbox.org>>:
>>>>>>>>>>
>>>>>>>>>> Hi again,
>>>>>>>>>>
>>>>>>>>>> just as an extension. On the same M1, I’ve Ubuntu ARM64 running
>>> using Parallels VM.
>>>>>>>>>>
>>>>>>>>>> Same issue: Host CPU Type detected as „x86_64“ and compilation
>>> stops at same file —> see below.
>>>>>>>>>>
>>>>>>>>>> Issue seems to be not specific to MacOS M1, but rather generic to
>>> ARM64 host systems.
>>>>>>>>>>
>>>>>>>>>> /Piet
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> —————
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> AR (create): libdrivers.a bchlib_setup.o bchlib_teardown.o
>>> bchlib_read.o bchlib_write.o bchlib_cache.o bchlib_sem.o bchdev_register.o
>>> bchdev_unregister.o bchdev_driver.o ioe_dummy.o gpio.o gpio_lower_half.o
>>> loop.o losetup.o pipe.o fifo.o pipe_common.o serial.o serial_io.o vsyslog.o
>>> syslog_stream.o syslog_channel.o syslog_putc.o syslog_write.o
>>> syslog_force.o syslog_flush.o syslog_initialize.o syslog_device.o oneshot.o
>>> arch_alarm.o hid_parser.o dev_null.o dev_zero.o ramdisk.o mkrd.o
>>>>>>>>>> make[1]: Leaving directory
>>> '/home/piet/Projects/NuttX/ptka/nuttx/drivers'
>>>>>>>>>> IN: drivers/libdrivers.a -> staging/libdrivers.a
>>>>>>>>>> make[1]: Entering directory
>>> '/home/piet/Projects/NuttX/ptka/nuttx/boards'
>>>>>>>>>> CC: boardctl.c
>>>>>>>>>> AR (create): libboards.a dummy.o boardctl.o
>>>>>>>>>> make[1]: Leaving directory
>>> '/home/piet/Projects/NuttX/ptka/nuttx/boards'
>>>>>>>>>> IN: boards/libboards.a -> staging/libboards.a
>>>>>>>>>> make[1]: Entering directory
>>> '/home/piet/Projects/NuttX/ptka/nuttx/libs/libc'
>>>>>>>>>> AS: machine/sim/arch_setjmp_arm.S
>>>>>>>>>> machine/sim/arch_setjmp_arm.S: Assembler messages:
>>>>>>>>>> machine/sim/arch_setjmp_arm.S:39: Error: unknown pseudo-op:
>>> `.syntax'
>>>>>>>>>> machine/sim/arch_setjmp_arm.S:43: Error: operand 1 must be an
>>> integer register -- `mov ip,r0'
>>>>>>>>>> machine/sim/arch_setjmp_arm.S:44: Error: unknown mnemonic `stmia'
>>> -- `stmia ip!,{v1,v2,v3,v4,v5,v6,sl,fp}'
>>>>>>>>>> machine/sim/arch_setjmp_arm.S:45: Error: operand 1 must be an
>>> integer register -- `mov r2,sp'
>>>>>>>>>> machine/sim/arch_setjmp_arm.S:46: Error: unknown mnemonic `stmia'
>>> -- `stmia ip!,{r2,lr}'
>>>>>>>>>> machine/sim/arch_setjmp_arm.S:47: Error: operand 1 must be an
>>> integer register -- `mov r0,#0'
>>>>>>>>>> machine/sim/arch_setjmp_arm.S:75: Error: unknown mnemonic `bx' --
>>> `bx lr'
>>>>>>>>>> machine/sim/arch_setjmp_arm.S:77: Error: unknown pseudo-op:
>>> `.syntax'
>>>>>>>>>> machine/sim/arch_setjmp_arm.S:81: Error: operand 1 must be an
>>> integer register -- `mov ip,r0'
>>>>>>>>>> machine/sim/arch_setjmp_arm.S:82: Error: operand 1 must be an SVE
>>> predicate register -- `movs r0,r1'
>>>>>>>>>> machine/sim/arch_setjmp_arm.S:83: Error: unknown mnemonic `moveq'
>>> -- `moveq r0,#1'
>>>>>>>>>> machine/sim/arch_setjmp_arm.S:84: Error: unknown mnemonic `ldmia'
>>> -- `ldmia ip!,{v1,v2,v3,v4,v5,v6,sl,fp}'
>>>>>>>>>> machine/sim/arch_setjmp_arm.S:85: Error: unknown mnemonic `ldmia'
>>> -- `ldmia ip!,{r2,lr}'
>>>>>>>>>> machine/sim/arch_setjmp_arm.S:103: Error: unknown mnemonic `bx' --
>>> `bx lr'
>>>>>>>>>> machine/sim/arch_setjmp_arm.S:86: Error: undefined symbol r2 used
>>> as an immediate value
>>>>>>>>>> make[1]: *** [Makefile:130: bin/arch_setjmp_arm.o] Error 1
>>>>>>>>>> make[1]: Leaving directory
>>> '/home/piet/Projects/NuttX/ptka/nuttx/libs/libc'
>>>>>>>>>> make: *** [tools/LibTargets.mk:168: libs/libc/libc.a] Error 2
>>>>>>>>>>
>>>>>>>>>> ————
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>> Am 29.01.2022 um 19:00 schrieb Peter Kalbus
>>> <ptka@mailbox.org.INVALID <ma...@mailbox.org.INVALID> <mailto:
>>> ptka@mailbox.org.INVALID <ma...@mailbox.org.INVALID>>>:
>>>>>>>>>>>
>>>>>>>>>>> Config and log from my M1:
>>>>>>>>>>>
>>>>>>>>>>> ——————————————
>>>>>>>>>>>
>>>>>>>>>>> #
>>>>>>>>>>> # This file is autogenerated: PLEASE DO NOT EDIT IT.
>>>>>>>>>>> #
>>>>>>>>>>> # You can use "make menuconfig" to make any modifications to the
>>> installed .config file.
>>>>>>>>>>> # You can then do "make savedefconfig" to generate a new
>>> defconfig file that includes your
>>>>>>>>>>> # modifications.
>>>>>>>>>>> #
>>>>>>>>>>> # CONFIG_NSH_CMDOPT_HEXDUMP is not set
>>>>>>>>>>> CONFIG_ARCH="sim"
>>>>>>>>>>> CONFIG_ARCH_BOARD="sim"
>>>>>>>>>>> CONFIG_ARCH_BOARD_SIM=y
>>>>>>>>>>> CONFIG_ARCH_CHIP="sim"
>>>>>>>>>>> CONFIG_ARCH_SIM=y
>>>>>>>>>>> CONFIG_BOARDCTL_APP_SYMTAB=y
>>>>>>>>>>> CONFIG_BOARDCTL_POWEROFF=y
>>>>>>>>>>> CONFIG_BOARD_LOOPSPERMSEC=0
>>>>>>>>>>> CONFIG_BOOT_RUNFROMEXTSRAM=y
>>>>>>>>>>> CONFIG_BUILTIN=y
>>>>>>>>>>> CONFIG_DEBUG_SYMBOLS=y
>>>>>>>>>>> CONFIG_DEV_GPIO=y
>>>>>>>>>>> CONFIG_DEV_LOOP=y
>>>>>>>>>>> CONFIG_DEV_ZERO=y
>>>>>>>>>>> CONFIG_EXAMPLES_GPIO=y
>>>>>>>>>>> CONFIG_EXAMPLES_HELLO=y
>>>>>>>>>>> CONFIG_FAT_LCNAMES=y
>>>>>>>>>>> CONFIG_FAT_LFN=y
>>>>>>>>>>> CONFIG_FSUTILS_PASSWD=y
>>>>>>>>>>> CONFIG_FSUTILS_PASSWD_READONLY=y
>>>>>>>>>>> CONFIG_FS_BINFS=y
>>>>>>>>>>> CONFIG_FS_FAT=y
>>>>>>>>>>> CONFIG_FS_PROCFS=y
>>>>>>>>>>> CONFIG_FS_RAMMAP=y
>>>>>>>>>>> CONFIG_FS_ROMFS=y
>>>>>>>>>>> CONFIG_GPIO_LOWER_HALF=y
>>>>>>>>>>> CONFIG_HOST_ARM=y
>>>>>>>>>>> CONFIG_HOST_MACOS=y
>>>>>>>>>>> CONFIG_IDLETHREAD_STACKSIZE=4096
>>>>>>>>>>> CONFIG_INIT_ENTRYPOINT="nsh_main"
>>>>>>>>>>> CONFIG_IOEXPANDER=y
>>>>>>>>>>> CONFIG_IOEXPANDER_DUMMY=y
>>>>>>>>>>> CONFIG_LIBC_ENVPATH=y
>>>>>>>>>>> CONFIG_LIBC_EXECFUNCS=y
>>>>>>>>>>> CONFIG_LIBC_LOCALE=y
>>>>>>>>>>> CONFIG_LIBC_LOCALE_CATALOG=y
>>>>>>>>>>> CONFIG_LIBC_LOCALE_GETTEXT=y
>>>>>>>>>>> CONFIG_NSH_ARCHINIT=y
>>>>>>>>>>> CONFIG_NSH_ARCHROMFS=y
>>>>>>>>>>> CONFIG_NSH_BUILTIN_APPS=y
>>>>>>>>>>> CONFIG_NSH_CONSOLE_LOGIN=y
>>>>>>>>>>> CONFIG_NSH_FATDEVNO=2
>>>>>>>>>>> CONFIG_NSH_FILE_APPS=y
>>>>>>>>>>> CONFIG_NSH_MOTD=y
>>>>>>>>>>> CONFIG_NSH_MOTD_STRING="MOTD: username=admin
>>> password=Administrator"
>>>>>>>>>>> CONFIG_NSH_READLINE=y
>>>>>>>>>>> CONFIG_NSH_ROMFSDEVNO=1
>>>>>>>>>>> CONFIG_NSH_ROMFSETC=y
>>>>>>>>>>> CONFIG_PATH_INITIAL="/bin"
>>>>>>>>>>> CONFIG_POSIX_SPAWN_PROXY_STACKSIZE=2048
>>>>>>>>>>> CONFIG_PSEUDOFS_ATTRIBUTES=y
>>>>>>>>>>> CONFIG_PSEUDOFS_SOFTLINKS=y
>>>>>>>>>>> CONFIG_READLINE_TABCOMPLETION=y
>>>>>>>>>>> CONFIG_SCHED_HAVE_PARENT=y
>>>>>>>>>>> CONFIG_SCHED_HPWORK=y
>>>>>>>>>>> CONFIG_SCHED_ONEXIT=y
>>>>>>>>>>> CONFIG_SCHED_WAITPID=y
>>>>>>>>>>> CONFIG_SDCLONE_DISABLE=y
>>>>>>>>>>> CONFIG_START_MONTH=6
>>>>>>>>>>> CONFIG_START_YEAR=2008
>>>>>>>>>>> CONFIG_SYSTEM_NSH=y
>>>>>>>>>>>
>>>>>>>>>>> ——————————————
>>>>>>>>>>>
>>>>>>>>>>> for dir in
>>> /Users/piet/Projects/NuttX/feature-sim-macos-m1-support/apps sched drivers
>>> boards arch/sim/src fs binfmt libs/libc mm ; do \
>>>>>>>>>>> /Applications/Xcode.app/Contents/Developer/usr/bin/make -C
>>> $dir EXTRAFLAGS="-D__KERNEL__ " depend || exit; \
>>>>>>>>>>> done
>>>>>>>>>>> /Applications/Xcode.app/Contents/Developer/usr/bin/make -C
>>> /Users/piet/Projects/NuttX/feature-sim-macos-m1-support/apps/builtin depend
>>> APPDIR="/Users/piet/Projects/NuttX/feature-sim-macos-m1-support/apps"
>>>>>>>>>>> make[2]: Nothing to be done for `depend'.
>>>>>>>>>>> /Applications/Xcode.app/Contents/Developer/usr/bin/make -C
>>> /Users/piet/Projects/NuttX/feature-sim-macos-m1-support/apps/examples/gpio
>>> depend APPDIR="/Users/piet/Projects/NuttX/feature-sim-macos-m1-support/apps"
>>>>>>>>>>> make[2]: Nothing to be done for `depend'.
>>>>>>>>>>> /Applications/Xcode.app/Contents/Developer/usr/bin/make -C
>>> /Users/piet/Projects/NuttX/feature-sim-macos-m1-support/apps/examples/hello
>>> depend APPDIR="/Users/piet/Projects/NuttX/feature-sim-macos-m1-support/apps"
>>>>>>>>>>> make[2]: Nothing to be done for `depend'.
>>>>>>>>>>> /Applications/Xcode.app/Contents/Developer/usr/bin/make -C
>>> /Users/piet/Projects/NuttX/feature-sim-macos-m1-support/apps/fsutils/mkfatfs
>>> depend APPDIR="/Users/piet/Projects/NuttX/feature-sim-macos-m1-support/apps"
>>>>>>>>>>> make[2]: Nothing to be done for `depend'.
>>>>>>>>>>> /Applications/Xcode.app/Contents/Developer/usr/bin/make -C
>>> /Users/piet/Projects/NuttX/feature-sim-macos-m1-support/apps/fsutils/passwd
>>> depend APPDIR="/Users/piet/Projects/NuttX/feature-sim-macos-m1-support/apps"
>>>>>>>>>>> make[2]: Nothing to be done for `depend'.
>>>>>>>>>>> /Applications/Xcode.app/Contents/Developer/usr/bin/make -C
>>> /Users/piet/Projects/NuttX/feature-sim-macos-m1-support/apps/nshlib depend
>>> APPDIR="/Users/piet/Projects/NuttX/feature-sim-macos-m1-support/apps"
>>>>>>>>>>> make[2]: Nothing to be done for `depend'.
>>>>>>>>>>> /Applications/Xcode.app/Contents/Developer/usr/bin/make -C
>>> /Users/piet/Projects/NuttX/feature-sim-macos-m1-support/apps/platform
>>> depend APPDIR="/Users/piet/Projects/NuttX/feature-sim-macos-m1-support/apps"
>>>>>>>>>>> make[2]: Nothing to be done for `depend'.
>>>>>>>>>>> /Applications/Xcode.app/Contents/Developer/usr/bin/make -C
>>> /Users/piet/Projects/NuttX/feature-sim-macos-m1-support/apps/system/nsh
>>> depend APPDIR="/Users/piet/Projects/NuttX/feature-sim-macos-m1-support/apps"
>>>>>>>>>>> make[2]: Nothing to be done for `depend'.
>>>>>>>>>>> /Applications/Xcode.app/Contents/Developer/usr/bin/make -C
>>> /Users/piet/Projects/NuttX/feature-sim-macos-m1-support/apps/system/readline
>>> depend APPDIR="/Users/piet/Projects/NuttX/feature-sim-macos-m1-support/apps"
>>>>>>>>>>> make[2]: Nothing to be done for `depend'.
>>>>>>>>>>> touch .depend
>>>>>>>>>>> make[1]: Nothing to be done for `depend'.
>>>>>>>>>>> make[1]: Nothing to be done for `depend'.
>>>>>>>>>>> make[1]: Nothing to be done for `depend'.
>>>>>>>>>>> make[1]: Nothing to be done for `depend'.
>>>>>>>>>>> make[1]: Nothing to be done for `depend'.
>>>>>>>>>>> make[1]: Nothing to be done for `depend'.
>>>>>>>>>>> make[1]: Nothing to be done for `depend'.
>>>>>>>>>>> make[1]: Nothing to be done for `depend'.
>>>>>>>>>>> /Applications/Xcode.app/Contents/Developer/usr/bin/make -C sched
>>> libsched.a EXTRAFLAGS="-D__KERNEL__ "
>>>>>>>>>>> make[1]: `libsched.a' is up to date.
>>>>>>>>>>> /Applications/Xcode.app/Contents/Developer/usr/bin/make -C
>>> drivers libdrivers.a EXTRAFLAGS="-D__KERNEL__ "
>>>>>>>>>>> make[1]: `libdrivers.a' is up to date.
>>>>>>>>>>> /Applications/Xcode.app/Contents/Developer/usr/bin/make -C boards
>>> libboards.a EXTRAFLAGS="-D__KERNEL__ "
>>>>>>>>>>> make[1]: `libboards.a' is up to date.
>>>>>>>>>>> /Applications/Xcode.app/Contents/Developer/usr/bin/make -C
>>> libs/libc libc.a EXTRAFLAGS=""
>>>>>>>>>>> AS: machine/sim/arch_setjmp_arm.S
>>>>>>>>>>> cc -c -Wall -Wstrict-prototypes -Wshadow -Wundef -g -fno-builtin
>>> -fvisibility=hidden -fno-common -isystem
>>> "/Users/piet/Projects/NuttX/feature-sim-macos-m1-support/nuttx/include"
>>> -D__NuttX__ -U_AIX -U_WIN32 -U__APPLE__ -U__FreeBSD__ -U__NetBSD__
>>> -U__linux__ -U__sun__ -U__unix__
>>> -U__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ -pipe -D__ASSEMBLY__
>>> machine/sim/arch_setjmp_arm.S -o bin/arch_setjmp_arm.o
>>>>>>>>>>> machine/sim/arch_setjmp_arm.S:38:1: error: unknown directive
>>>>>>>>>>> .syntax unified
>>>>>>>>>>> ^
>>>>>>>>>>> machine/sim/arch_setjmp_arm.S:40:1: error: unknown directive
>>>>>>>>>>> .type setjmp,%function
>>>>>>>>>>> ^
>>>>>>>>>>> machine/sim/arch_setjmp_arm.S:42:6: error: invalid operand for
>>> instruction
>>>>>>>>>>> mov ip,r0
>>>>>>>>>>> ^
>>>>>>>>>>> machine/sim/arch_setjmp_arm.S:43:31: error: vector register
>>> expected
>>>>>>>>>>> stmia ip!,{v1,v2,v3,v4,v5,v6,sl,fp}
>>>>>>>>>>> ^
>>>>>>>>>>> machine/sim/arch_setjmp_arm.S:44:6: error: invalid operand for
>>> instruction
>>>>>>>>>>> mov r2,sp
>>>>>>>>>>> ^
>>>>>>>>>>> machine/sim/arch_setjmp_arm.S:45:13: error: vector register
>>> expected
>>>>>>>>>>> stmia ip!,{r2,lr}
>>>>>>>>>>> ^
>>>>>>>>>>> machine/sim/arch_setjmp_arm.S:46:6: error: invalid operand for
>>> instruction
>>>>>>>>>>> mov r0,#0
>>>>>>>>>>> ^
>>>>>>>>>>> machine/sim/arch_setjmp_arm.S:48:4: error: unrecognized
>>> instruction mnemonic, did you mean: b, bcax, bl, br, sb, tbx?
>>>>>>>>>>> 3: bx lr
>>>>>>>>>>> ^
>>>>>>>>>>> machine/sim/arch_setjmp_arm.S:50:1: error: unknown directive
>>>>>>>>>>> .syntax unified
>>>>>>>>>>> ^
>>>>>>>>>>> machine/sim/arch_setjmp_arm.S:52:1: error: unknown directive
>>>>>>>>>>> .type longjmp,%function
>>>>>>>>>>> ^
>>>>>>>>>>> machine/sim/arch_setjmp_arm.S:54:6: error: invalid operand for
>>> instruction
>>>>>>>>>>> mov ip,r0
>>>>>>>>>>> ^
>>>>>>>>>>> machine/sim/arch_setjmp_arm.S:55:7: error: invalid operand for
>>> instruction
>>>>>>>>>>> movs r0,r1
>>>>>>>>>>> ^
>>>>>>>>>>> machine/sim/arch_setjmp_arm.S:56:2: error: unrecognized
>>> instruction mnemonic, did you mean: mov?
>>>>>>>>>>> moveq r0,#1
>>>>>>>>>>> ^
>>>>>>>>>>> machine/sim/arch_setjmp_arm.S:57:32: error: vector register
>>> expected
>>>>>>>>>>> ldmia ip!, {v1,v2,v3,v4,v5,v6,sl,fp}
>>>>>>>>>>> ^
>>>>>>>>>>> machine/sim/arch_setjmp_arm.S:58:14: error: vector register
>>> expected
>>>>>>>>>>> ldmia ip!, {r2,lr}
>>>>>>>>>>> ^
>>>>>>>>>>> machine/sim/arch_setjmp_arm.S:59:9: error: expected compatible
>>> register or logical immediate
>>>>>>>>>>> mov sp,r2
>>>>>>>>>>> ^
>>>>>>>>>>> machine/sim/arch_setjmp_arm.S:61:4: error: unrecognized
>>> instruction mnemonic, did you mean: b, bcax, bl, br, sb, tbx?
>>>>>>>>>>> 3: bx lr
>>>>>>>>>>> ^
>>>>>>>>>>> make[1]: *** [bin/arch_setjmp_arm.o] Error 1
>>>>>>>>>>> make: *** [libs/libc/libc.a] Error 2
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>> Am 29.01.2022 um 18:40 schrieb Peter Kalbus
>>> <ptka@mailbox.org.INVALID <ma...@mailbox.org.INVALID> <mailto:
>>> ptka@mailbox.org.INVALID <ma...@mailbox.org.INVALID>>>:
>>>>>>>>>>>>
>>>>>>>>>>>> Hi,
>>>>>>>>>>>>
>>>>>>>>>>>> I’m using NuttX on a M1 MacBook Air since a couple of months.
>>>>>>>>>>>> I’ve no issues to get NuttX compiled for my RP2040 based targets.
>>>>>>>>>>>>
>>>>>>>>>>>> But I can confirm, that the Sim configuration sim:nsh not
>>> working.
>>>>>>>>>>>>
>>>>>>>>>>>> Currently, I see there are two issues:
>>>>>>>>>>>>
>>>>>>>>>>>> /1/ M1 „Host CPU Type“ is detected as x86_64, but not as „arm“
>>>>>>>>>>>> Workarround for this is, to set it manually in the
>>> configuration
>>>>>>>>>>>>
>>>>>>>>>>>> /2/ At least the following files are not compilable
>>>>>>>>>>>> arch/sim/src/sim/up_vfork_arm.S <
>>> https://github.com/ptka/incubator-nuttx#diff-fd079323b0636ac4012f50afe8c5555656d7a760b0429f46188919fe7807f8a5
>>> <
>>> https://github.com/ptka/incubator-nuttx#diff-fd079323b0636ac4012f50afe8c5555656d7a760b0429f46188919fe7807f8a5>
>>> <
>>> https://github.com/ptka/incubator-nuttx#diff-fd079323b0636ac4012f50afe8c5555656d7a760b0429f46188919fe7807f8a5
>>> <
>>> https://github.com/ptka/incubator-nuttx#diff-fd079323b0636ac4012f50afe8c5555656d7a760b0429f46188919fe7807f8a5
>>>>>>
>>>>>>>>>>>> libs/libc/machine/sim/arch_setjmp_arm.S <
>>> https://github.com/ptka/incubator-nuttx#diff-cffded10274b4845aae8c75bd91550d140214585ea17d47f2cf01dd021a16abe
>>> <
>>> https://github.com/ptka/incubator-nuttx#diff-cffded10274b4845aae8c75bd91550d140214585ea17d47f2cf01dd021a16abe>
>>> <
>>> https://github.com/ptka/incubator-nuttx#diff-cffded10274b4845aae8c75bd91550d140214585ea17d47f2cf01dd021a16abe
>>> <
>>> https://github.com/ptka/incubator-nuttx#diff-cffded10274b4845aae8c75bd91550d140214585ea17d47f2cf01dd021a16abe
>>>>>>
>>>>>>>>>>>> libs/libc/stdio/lib_libvsprintf.c <
>>> https://github.com/ptka/incubator-nuttx#diff-befc8e04ddb3722f024f65ffd7648aac1cb24846d2b80fff6328e3cb5862220f
>>> <
>>> https://github.com/ptka/incubator-nuttx#diff-befc8e04ddb3722f024f65ffd7648aac1cb24846d2b80fff6328e3cb5862220f>
>>> <
>>> https://github.com/ptka/incubator-nuttx#diff-befc8e04ddb3722f024f65ffd7648aac1cb24846d2b80fff6328e3cb5862220f
>>> <
>>> https://github.com/ptka/incubator-nuttx#diff-befc8e04ddb3722f024f65ffd7648aac1cb24846d2b80fff6328e3cb5862220f
>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> The 2nd point could be related to a wrong compiler/assembler
>>> selected
>>>>>>>>>>>> or the way, the compiler is invoked. In worst case, it’s there
>>> code itself.
>>>>>>>>>>>>
>>>>>>>>>>>> I would be very interested helping to find a solution on this
>>> topic.
>>>>>>>>>>>>
>>>>>>>>>>>> /Piet
>>>>>>>>>>>>
>>>>>>>>>>>>> Am 29.01.2022 um 17:33 schrieb Tomasz CEDRO <tomek@cedro.info
>>> <ma...@cedro.info> <mailto:tomek@cedro.info <mailto:
>>> tomek@cedro.info>>>:
>>>>>>>>>>>>>
>>>>>>>>>>>>> macOS is a BSD.. very close to FreeBSD:
>>>>>>>>>>>>> 1. Use gmake.
>>>>>>>>>>>>> 2. Make sure you have the right version of kconfig-frontends
>>> package
>>>>>>>>>>>>> installed. If you installed it locally make sure path to your
>>> local
>>>>>>>>>>>>> binary is in the first place.
>>>>>>>>>>>>>
>>>>>>>>>>>>> --
>>>>>>>>>>>>> CeDeROM, SQ7MHZ, http://www.tomek.cedro.info <
>>> http://www.tomek.cedro.info/> <http://www.tomek.cedro.info/ <
>>> http://www.tomek.cedro.info/>>
>>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>