Jukka Laitinen
3a6ebe5fc1
NuttX Cmake changes to build combined kernel+userspace image in nuttx protected build
...
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2022-01-31 20:26:08 -05:00
Jukka Laitinen
70704ff9d6
platforms/nuttx/src/px4/common/CMakeLists.txt: Link px4_layer to nuttx_mm for gran allocators
...
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2022-01-27 12:42:40 -05:00
Jukka Laitinen
4c75f1d505
platforms/nuttx/CMakeLists.txt: fixes to accommodate other linker changes
...
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2022-01-27 12:42:40 -05:00
Jukka Laitinen
705171eb53
Fix linking for posix targets
...
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2022-01-27 12:42:40 -05:00
Jukka Laitinen
e959fcf9d1
bootloader: link stm bootloaders to nuttx_arch for flash functions
...
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2022-01-27 12:42:40 -05:00
Jukka Laitinen
fe5059b0e8
s32k1xx/led_pwm: link to arch_io_pins
...
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2022-01-27 12:42:40 -05:00
Jukka Laitinen
68729e8ec0
nuttx/rpi io_pins: link to drivers_board for timer_io_channels dependency
...
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2022-01-27 12:42:40 -05:00
Jukka Laitinen
d181fe0cee
nuttx/stm io_pins: link to drivers_board for timer_io_channels dependency
...
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2022-01-27 12:42:40 -05:00
Jukka Laitinen
76d4b6c7d0
arch_board_reset: link to nuttx_arch / nuttx_karch for up_systemreset dependency
...
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2022-01-27 12:42:40 -05:00
Jukka Laitinen
7bb33e65ae
Remove px4_work_queue linking to px4_platform
...
Remove linking to px4_plaform in here; this breaks linking for nuttx protected build
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2022-01-27 12:42:40 -05:00
Jukka Laitinen
98906c224b
Don't link px4_platform directly to uORB
...
Since uORB is split into kernel and userspace parts, it is no longer possible to just
link uORB into px4_platform, which is used in both kernel and user side.
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2022-01-27 12:42:40 -05:00
Jukka Laitinen
54f1e12684
Link arch_spi with drivers_board
...
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2022-01-27 12:42:40 -05:00
Jukka Laitinen
ff4eae2c9b
Fix px4_impl_os for protected build
...
For NuttX protected or kernel build, the prebuilds can't contain libraries which are
different for kernel and user-space in protected/kerenl builds
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2022-01-27 12:42:40 -05:00
Jukka Laitinen
d94cc1e114
Add kernel/userspace and nuttx_syscall libraries to build
...
Build NuttX proxies, stubs and separate user space and kernel space libraries
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2022-01-27 12:42:40 -05:00
Beat Küng
92769bd2b2
dshot: remove BOARD_DSHOT_MOTOR_ASSIGNMENT & handle timer channel gaps
2022-01-21 20:41:15 -05:00
David Sidrane
a11fe60135
imxrt:ADC extend timeout
2022-01-21 13:07:44 -05:00
Beat Küng
bcd057ac3e
uORB: fix copy-paste mistake in orb_print_message_internal
...
Could have led to invalid memory access.
2022-01-20 12:58:20 -05:00
Daniel Agar
446729566d
platforms/nuttx: px4io_serial always cleanup DMA before next bus exchange
...
- this really shouldn't be necessary, but worst case it's harmless and
much better than potentially falling out of the sky
2022-01-19 18:00:18 -05:00
Daniel Agar
8067207ea6
px4_work_queue: rename serial port WQs
2022-01-18 14:56:15 -05:00
Julian Oes
be9385ef06
cmake: use at least 1 core to build SITL
...
If we use -j 0, ninja fails with invalid argument.
2022-01-17 17:07:31 -05:00
Beat Küng
cd2bb14f9b
stm32h7/micro_hal.h: add RCC_APB1ENR_TIM4EN
2022-01-17 10:41:33 -05:00
Julian Oes
9eda5b373c
posix: add fuzz testing using MAVLink messages
...
This adds the env option PX4_FUZZ which runs the LLVM libFuzzer which
throws random bytes at mavlink_receiver using MAVLink messages over UDP.
The MAVLink messages that are being sent are valid, so the CRC is
calculated but the payload and msgid, etc. are generally garbage, unless
the fuzzing gets a msgid right by chance.
As I understand it, libFuzzer watches the test coverage and will try to
execute as much of the code as possible.
2022-01-07 10:17:12 -05:00
David Sidrane
eac92ec671
imxrt:ADC fix timeouts
2022-01-03 06:02:19 -08:00
Daniel Agar
f76aa0e772
cmake: NuttX ARMV7M_STACKCHECK skip ekf2
...
- px4_fmu-v5_stackcheck switch from icm20689 -> bmi055 (lower rate)
- this is to make performance tolerable
2022-01-01 18:43:27 -05:00
Daniel Agar
03371f8522
NuttX with bch flush backport
2021-12-31 10:59:56 -08:00
Daniel Agar
6d0339ba0c
I2CSPIDriverBase: sensor start failure ERROR if internal, WARN if external
2021-12-28 11:05:35 -05:00
Daniel Agar
d94767ef88
cmake: NuttX use cygwin friendly path for linker script
2021-12-27 12:19:12 -05:00
Beat Küng
fe1b726b62
ScheduledWorkItem: do not call ScheduleClear() if not init in destructor
...
This avoids that unit tests trying to access a wq hang.
It still fails with an error currently.
2021-12-24 20:06:13 -05:00
Beat Küng
590239dedb
work_queue: increase rate_ctrl stack size by 150 B
...
WARN [load_mon] wq:rate_ctrl low on stack! (172 bytes left)
2021-12-24 20:06:13 -05:00
Daniel Agar
38731662c6
parameters use bitset for mark_unsaved
2021-12-24 14:32:40 -05:00
PX4 BuildBot
a069a47d50
Update submodule nuttx to latest Thu Dec 23 18:11:37 UTC 2021
...
- nuttx in PX4/Firmware (d0ce5705359f8beeb9faf7fa0d12279e03bb7ac7): d4c06e9dfb
- nuttx current upstream: 378032a44b
- Changes: d4c06e9dfb...378032a44b
378032a44b 2021-12-15 David Sidrane - [BACKPORT] stm32f7:sdmmc invalidate before DMA to avoid eviction overwrite
2021-12-23 14:50:47 -05:00
Daniel Agar
a4040f7afd
px4io_serial: always perform full abort DMA on error
...
- enable DMA error perf count
2021-12-23 12:48:42 -05:00
Beat Küng
e29759d877
WorkQueueManager: explicitly convert PTHREAD_STACK_MIN to int
...
fixes a compiler error on GCC 11.2.1:
error: no matching function for call to ‘max(long int, int)’
2021-12-22 08:47:33 -05:00
Igor Mišić
298a8c4637
boards/fmu-v5x: allocating PPS pin
...
- start pps_capture before pwm_out
2021-12-17 07:56:08 +01:00
Igor Mišić
60a212f717
px4_arch: add PX4_MAKE_GPIO_EXTI
2021-12-17 07:56:08 +01:00
Jukka Laitinen
ce6147f570
uORB: Remove transfer of memory allocation ownership to CDev
...
- Allocate and free the node name in uORBDeviceNode.
- Add protected build support by de-allocating the name with kmm_free, when
running in kernel side. strdup allocates from the kernel heap in NuttX kernel
space.
- Remove the CDev::unregister_driver_and_memory(), it is no longer used
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-12-13 22:52:36 -05:00
Jukka Laitinen
77af102cab
px4_work_queue: Use px4_task_spawn_cmd for WorkQueueRunner in NuttX protected
...
In NuttX protected build there are separate work queues in kernel and user sides.
pthreads are only available in user side, so use tasks and kthreads for
memory protected builds.
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-12-09 20:42:28 -05:00
Jukka Laitinen
3aab4d2daf
px4_task_spawn_cmd: launch kernel thread in protected/kernel build on kernel side
...
Also task name is accessible only in kernel side for protected/kernel build
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-12-09 20:42:28 -05:00
Jukka Laitinen
d0d7f29422
platforms/common/shutdown.cpp: Enable boardctl functions for shutdown and poweroff
...
Shutdown and poweroff must go through boardctl in NuttX protected build
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-12-07 09:24:53 -05:00
Daniel Agar
9db5bc0755
px4_mtd: increase retries, wait inbetween, try decreasing frequency
2021-12-06 09:37:08 -05:00
Daniel Agar
f63a7642d6
NuttX debug helper improvements
...
- use NuttX gdb script for nxthreads and thread backtrace
- update jlink_gdb_backtrace and jlink_debug_gdb helper targets to use
NuttX gdb script
- Debug/PX4 fix "perf" divide by zero
- Debug/PX4 add "dmesg"
2021-12-05 19:18:56 -05:00
Beat Küng
cbd6e735ad
fix console_buffer: avoid potential deadlock when using dmesg over MAVLink shell
...
dmesg was locking the console buffer, then writing to stdout (a pipe in
the case of the MAVLink shell).
This might block, waiting for mavlink to read from the pipe. If however
mavlink tries to write to the console at that time, the lock is already
taken.
This patch avoids nested locking by using a separate buffer.
2021-11-30 08:49:52 -05:00
Daniel Agar
bc7001ba49
NuttX apps with [REJECTED] mkfatfs DMA memory change
2021-11-29 21:49:35 -05:00
Jukka Laitinen
929820136a
Move sw_crypto and stub_keystore under src/drivers
...
This is more logical place for the "backend" implementation than
directly under platform.
This also allows making other implementations as "real" drivers, as well as proper configuration via Kconfigs
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-11-29 11:09:51 -05:00
David Sidrane
7393a68e28
NuttX with ramtron and BCH backports
2021-11-26 19:27:29 -05:00
Daniel Agar
51da169ccb
cmake: nuttx apps build depend .c and .h files
2021-11-25 17:24:23 -05:00
Daniel Agar
7d985ec7c5
NuttX with Backports for SD fixes
2021-11-25 13:11:45 -05:00
David Sidrane
3cf901b29c
NuttX Apps with backport CONFIG_MKFATFS_BUFFER_ALIGMENT
2021-11-24 09:46:23 -05:00
Jukka Laitinen
b66270f8a8
Inline uORBDeviceNode::copy for performance improvement
...
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-11-24 09:11:45 +01:00
Jukka Laitinen
3f884c5d24
Inline deviceNodeExists and getDeviceNode in uORB DeviceMaster
...
This gives a small performance improvement
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-11-24 09:11:45 +01:00