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