Commit Graph

3813 Commits

Author SHA1 Message Date
Yanfeng Liu
b516b29efc risc-v/k230: revise CanMV230 kernel build support
changes:
- under boards/risc-v/k230/canmv230/scripts/:
  - Make.defs           add POSTBUILD actions
  - ld-flat.script      minor reformating
  - ld-kernel.script    minor reformating
- under boards/risc-v/k230/canmv230/src/:
  - Makefile            add clean of generated ROMFS source
  - canmv_init.c        use `ferr` and drop too late runtime warning
  - romfs_stub.c        use const for romfs_img_len

The POSTBULD actions can warn stub ROMFS usage at build time, thus
the too late warning in canmv_init.c can be removed.
The cleaning of `libboard.a` in POSTBUILD can also ensure real ROMFS
is in use, as some times weak_data is still in use.

Signed-off-by: Yanfeng Liu <yfliu2008@qq.com>
2024-01-07 06:40:10 -08:00
Bowen Wang
ce16288494 qemu_bringup: add tmppfs mount for qemu-armv8a
tmpfs can be used for the rpmsgfs test after the qemu rptun driver
added.

Signed-off-by: Bowen Wang <wangbowen6@xiaomi.com>
2024-01-04 20:06:11 -08:00
Yanfeng Liu
7cb8e590a1 risc-v/k230: kernel build for CanMV-K230 board
Changes:

- Documentation/platforms/risc-v/k230  revised for both modes
- arch/risc-v/include/k230/irq.h       add S-mode IRQs
- under arch/risc-v/src/k230 folder:
  - Make.defs                          drop use of k230_exception_m.S
  - hardware/k230_clint.h              add S-mode defs, revised freq
  - k230_head.S                        unified flat/kernel mode support
  - k230_irq.c                         add S-mode support with debug dump
  - k230_mm_init.c                     revised for K230 S-mode
  - k230_start.c                       revised for flat/s-mode,
- arch/risc-v/src/k230/k230_timerisr.c unified flat/s-mode support.
- under boards/risc-v/k230/canmv230 folder:
  - configs/nsh/defconfig              fix RAM size
  - include/board_memorymap.h          cleanup for S-mode
  - src/.gitignore                     ignore romfs_boot.c
  - src/Makefile                       add romfs support

Renames:

- under boards/risc-v/k230/canmv230/src/ folder:
  - canmv_init.c from k230_appinit.c   making room for more k230 devices

Dropped:

- under arch/risc-v/src/k230/
  - k230_exception_m.S                 as hybrid mode not ready yet.

New files in boards/riscv/k230/canmv230:

- configs/knsh/defconfig                S-mode config
- scripts/ld-kernel.script              S-mode linker script
- src/romfs.h                           User space ROMFS defs needed in S-mode
- src/romfs_stub.c                      Stub ROMFS image

Signed-off-by: Yanfeng Liu <yfliu2008@qq.com>
2023-12-31 07:26:45 -08:00
Xiang Xiao
b9bd88d9d3 rptun: Select OPENMAP under RPTUN
to simplify the IPC related configuration

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-12-28 11:08:57 +08:00
xuxin19
524425573e CMake:init arm64 CMake qemu-armv8a build
this patch contains arm64 Toolchain, arch common, qemu board and arm64 libc modifications.
support using CMake to compile the qemu executable file.

```
 cmake -B build -DBOARD_CONFIG=qemu-armv8a:nsh -GNinja
 cmake --build build -t menuconfig
 cmake --build build
 qemu-system-aarch64 -cpu cortex-a53 -nographic -machine virt,virtualization=on,gic-version=3 -net none -chardev stdio,id=con,mux=on -serial chardev:con -mon chardev=con,mode=readline -kernel ./nuttx
```
Signed-off-by: xuxin19 <xuxin19@xiaomi.com>
2023-12-27 07:27:17 -08:00
yinshengkai
9852428953 fs: procfs add poll support
Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2023-12-26 19:23:13 -08:00
Tiago Medicci Serrano
47e71fc449 esp32s2/rmt: Use the Espressif's common RMT driver.
This commit use the new common RMT driver for all Espressif's
xtensa-based chips on ESP32-S2.
2023-12-24 16:38:06 -08:00
Tiago Medicci Serrano
6234224325 esp32s2: Integrate Espressif HAL repository to ESP32-S2
By integrating the Espressif`s HAL repository into the current
ESP32-S2 implementation on NuttX, it is possible to call functions
that makes it easier to setup the registers of the ESP32-S2,
enabling the usage of common Espressif drivers.
2023-12-24 16:38:06 -08:00
Tiago Medicci Serrano
000bf2a7c7 esp32s3/rmt: Use the Espressif's common RMT driver.
This commit use the new common RMT driver for all Espressif's
xtensa-based chips on ESP32-S3.
2023-12-24 16:38:06 -08:00
Tiago Medicci Serrano
1ca460c89a esp32s3: Fully integrate Espressif HAL repository to ESP32-S3
By integrating the Espressif`s HAL repository into the current
ESP32-S3 implementation on NuttX, it is possible to call functions
that make it easier to set up the registers of the ESP32-S3 and
enables the usage of common Espressif drivers. Please note that
Espressif's HAL repository was already being used for the Wi-Fi
driver. Then, this commit includes other source files to be used
by other drivers other than Wi-Fi and reorganize the build process.
2023-12-24 16:38:06 -08:00
Tiago Medicci Serrano
fcff5d43b7 drivers/rmt: Implement an upper-half RMT character driver
The RMT (Remote Control) character driver allows to use the RMT
peripheral (usually, a one-wire peripheral dedicated to driving
IR remote control) as a character driver.

Please note that this perpiheral depends on the lower-half specific
driver implementation.
2023-12-24 16:38:06 -08:00
Eren Terzioglu
c15392d9b7 xtensa/esp32s2: Add xtwdt and rwdt support 2023-12-22 03:59:18 -08:00
Tiago Medicci Serrano
34a6dddb7a boards/esp32s2: Increase init task stack size to 3072
This is done to avoid casual stack overflows.
2023-12-20 06:59:18 -08:00
Xiang Xiao
d267071398 stm32f4discovery/cxxtest: Fix gcc13.2 compiler error
arm-none-eabi-ld: /tools/gcc-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/lib/thumb/v7e-m/nofp/libsupc++.a(eh_alloc.o): in function `_GLOBAL__sub_I__ZN9__gnu_cxx9__freeresEv':
eh_alloc.cc:(.text.startup._GLOBAL__sub_I__ZN9__gnu_cxx9__freeresEv+0x12): undefined reference to `getenv'

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-12-19 08:36:49 +08:00
Eren Terzioglu
9473267620 risc-v/esp32c6: Add ostest defconfig 2023-12-18 11:10:53 -08:00
Tiago Medicci Serrano
65d736bfc1 esp32<|s2|s3>_board_spiflash: Substitute fs messages to syslog
Once these messages are thrown during the system's bring-up, it is
advisable them to be output by the syslog considering the file
system initialization.
2023-12-18 09:01:15 -08:00
Tiago Medicci Serrano
908bac55f3 esp32<|s2|s3>_board_spiflash: Fix error message about SmartFS init
The SmartFS partition needs to be formatted before being mounted.
Otherwise, it would throw an error message. The error message now
contains a suggestion to format the partition when such an error
is detected.
2023-12-18 09:01:15 -08:00
Yanfeng Liu
75d0c2946d risc-v: Initial support for CanMV-k230 board and K230 chip
The code is mainly derived from the NuttX qemu-rv/rv-virt codebase.

Major changes:

- boards/Kconfig:       add new BOARD_K230_CANMV
- arch/risc-v/Kconfig:  add new CHIP_K230 chip and ARCH_RV_MMIO_BITS
- arch/risc-v/src/common/riscv_mtimer.c: use ARCH_RV_MMIO_BITS to
                        select MMIO access width

New additions:

- arch/risc-v/include/k230/: k230 SoC definitions
- arch/risc-v/src/k230/:     k230 SoC sources
- boards/risc-v/k230/canmv230/:  CanMV-K230 board sources and configs
- Documentation/platforms/risc-v/k230/: simple doc

Note that only FLAT build works for canmv230 now.

This PR has changes in RiscV common layer thus may affect other RiscV ports
It changes the mtime/mtimecmp access control from using config ARCH_RV64 to
newly intorduced config ARCH_RV_MMIO_BITS.

Original design uses ARCH_RV64 to select 64bit MMIO in riscv_mtimer.c, this
can't cope with the situation with K230 --- it has ARCH_RV64 but only can do
32bit MMIO. So a new ARCH_RV_MMIO_BITS config has been introduced. Its value
depicts the MMIO width in bits. The MMIO_BITS defaults to 32/64 for RV32/
RV64 respectively. This allows the macro to replace current use of ARCH_RV64
in riscv_mtimer.c.

The new MMIO_BITS config is a derived one, and for RiscV chips with
equal CPU and MMIO widths there is no need to explicitly set it as the
default rule will do that. Only chips with different CPU and MMIO widths
need set it in Kconfig.

So by design this change should be safe but RiscV ports should be checked.

"ostest" verification has been done for:

- canmv230/nsh
- rv-vivt/nsh
- rv-virt/nsh64

configuration generation and manual check of derived RV_MMIO_BITS has been
done for:

- star64/nsh
- arty_a7/nsh
- bl602evb/nsh

Signed-off-by: Yanfeng Liu <yfliu2008@qq.com>
2023-12-17 01:10:57 -08:00
Lee Lup Yuen
87c1b81857 boards/riscv: Add support for PINE64 Ox64 BL808 SBC
This PR adds support for PINE64 Ox64 64-bit RISC-V SBC, based on Bouffalo Lab BL808 SoC (T-Head C906 Core). Most of the code is derived from NuttX for Star64 JH7110. The source files are explained in the articles here: https://github.com/lupyuen/nuttx-ox64

### Modified Files

`boards/Kconfig`: Added Ox64 board

### New Files in boards/risc-v/bl808/ox64

`src/bl808_appinit.c`: Startup Code

`include/board.h`: Ox64 Definitions

`include/board_memorymap.h`: Memory Map

`src/etc/init.d/rc.sysinit`, `rcS`: Startup Script

`src/.gitignore`: Ignore the tmp filesystem

`scripts/ld.script`: Linker Script

`scripts/Make.defs`: Ox64 Makefile

`src/Makefile`: Ox64 Makefile

`Kconfig`: Ox64 Config

`configs/nsh/defconfig`: Build Config for `ox64:nsh`

### Updated Documentation

`platforms/risc-v/bl808/index.rst`: New page for Bouffalo Lab BL808 SoC

`platforms/risc-v/bl808/boards/ox64/index.rst`: Building and booting NuttX for Ox64

`platforms/risc-v/jh7110/boards/star64/index.rst`: Fix typo
2023-12-15 18:52:16 -08:00
Xiang Xiao
e920883458 syslog/ramlog: Prepare to support the multiple reader
1.Remove RAMLOG_OVERWRITE option and related code
2.Broadcast the readability to all reader and poller

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-12-14 20:50:44 -08:00
simbit18
c494ce4a96 Update kconfig2html.c
Fix nuttx coding style
2023-12-14 20:02:52 -08:00
Masayuki Ishikawa
80ca3e9308 boards: rv-virt: Add virtio-sound
Summary:
- Add virtio-sound to the following configs
  netnsh, netnsh_smp, netnsh64, netnsh64_smp

Impact:
- None

Testing:
- nxplayer works on qemu-8.2.0-rc3 (ubuntu-20.04 amd64)

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2023-12-14 20:01:25 +08:00
Masayuki Ishikawa
659c9e7f4b boards: qemu-armv8a: Add virtio-sound
Summary:
- Add virtio-sound to the following configs
  netnsh, netnsh_smp, netnsh_hv, netnsh_smp_hv

Impact:
- None

Testing:
- nxplayer works on qemu-8.2.0-rc3 (ubuntu-20.04 amd64, macOS13.6 M1/MBP)
- NOTE: raspi3b+ (ubuntu-20.04 server) has a noise issue

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2023-12-14 20:01:25 +08:00
GD32-MCU
9a2569882e fix bug in gd32f4xx_serial.c, add romfsimg.h, gd32f4xx_reset and improve gd32f4xx_gpio.c for f470z board, add board decription for f470
add gd32f470 picture
2023-12-13 23:27:23 -08:00
chenwen@espressif.com
62a6a0ab4d xtensa/esp32s3: Tasks use SPIRAM as stack can do SPI flash read/write/erase/map/unmap
Signed-off-by: chenwen@espressif.com <chenwen@espressif.com>
2023-12-12 22:10:38 -08:00
Xiang Xiao
ca5a9c711a Remove @ and % tag from all comments
and format the multiple line comments

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-12-11 17:00:10 -03:00
anjiahao
8c4e17953e board/stm32: add demo for gdbstub
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2023-12-11 08:43:26 -08:00
anjiahao
25f599fe31 add demo for record stack defconfig
xtensa: esp32s3-devkit:stack
arm: stm32f429i-disco:stack

Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2023-12-11 02:06:51 -08:00
anjiahao
7dfbd14eba libc: add instrument api support
Add registration function instrumentation API,
which can achieve instrumentation of entering and
exiting functions through the compiler's functionality.

We can use CONFIG_ARCH_INSTRUMENT_ALL to add instrumentation for all
source, or add '-finstrument-functions' to CFLAGS for Part of the
source.

Notice:
1. use CONFIG_ARCH_INSTRUMENT_ALL must mark _start or entry noinstrument_function,
   becuase bss not set.
2. Make sure your callbacks are not instrumented recursively.

use instrument_register to register entry function and exit function.
They will be called by the instrumented function

Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2023-12-11 02:06:51 -08:00
anjiahao
35051dd715 coredump: support coredump save to block device when crash
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2023-12-10 07:02:03 -08:00
anjiahao
542a5555d3 libc:add parse_memory_range to parse memory string
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2023-12-10 07:02:03 -08:00
Jorge Guzman
c5dfb9f606 linum-stm32h753bi: Updating documentation for modbus_slave example.
Signed-off-by: Jorge Guzman <jorge.gzm@gmail.com>
2023-12-09 22:26:40 -08:00
simbit18
3442af4a19 Fix Kconfig style
Remove extra TABs
Add comments
2023-12-09 13:44:46 -08:00
Dong Heng
bf54a5ae50 driver/net/lan9250: Add LAN9250 driver(SPI and QSPI mode) 2023-12-07 19:53:05 -08:00
YAMAMOTO Takashi
cc0dd4c8a4 add esp32s3-devkit:toywasm kconfig 2023-12-07 08:21:39 -08:00
David Sidrane
d31214aa25 stm32h7:ADC STM32_RCC_D3CCIPR_ADCSEL->STM32_RCC_D3CCIPR_ADCSRC 2023-12-07 03:50:40 -08:00
Peter van der Perk
9906163beb Base IMXRT1170 port
Co-authored-by: Jari van Ewijk <jari.vanewijk@nxp.com>

Co-authored-by: David Sidrane <david.sidrane@nscdg.com>

Co-authored-by: Peter van der Perk <peter.vanderperk@nxp.com>

imxrt:Kconfig fix formatting

imxrt:usbphy move IMXRT_USBPHY{1|[2]}_BASE to memory map

imxrt:lpspi Fix build breakage from adding 1170

imxrt:Finish 1170 iomux and clockconfig versioning

imxrt:Remove duplicate imxrt_clock{off|all}_lpi2c4

imxrt:pmu remove duplicate dcd non 117x header

imxrt:lpspi Fix unused var warnings

imxrt:lpi2c Fix unused var warnings

imxrt:lowputs Fix unused var warnings

imxrt:imxrt117x_dmamux fix duplicate entries

imxtr:serial Use IOMUX_PULL_{UP|DOWN} and map IOMUX V1 to them

imxrt:MPU Support the 1170

imxrt:dmamux Alias IMXRT_DMAMUX0_BASE as IMXRT_DMAMUX_BASE

imx1170:ccm Alias CCM_CCGR_DMA & CCM_CCGR_SNVS_LP for compatiblity

Author: Peter van der Perk <peter.vanderperk@nxp.com>

IMXRT7 Add LPUART 9/10/11/12 support

Author: David Sidrane <david.sidrane@nscdg.com>

imxrt:1170pinmux Add QTIMER pins

imxrt:1170pinmux Add GPT pins

imxrt:1170pinmux Add FLEXPWM pins

imxrt1170:pinmap Add GPIO_ENET_1G pinning

imxrt:enet Support ENET_1G

imxrt:periphclks rt1170 does not have canX_serial clock

imxrt:flexcan:Layer imxrt_ioctl

imxrt117x:memorymap added CAN3

imxrt:ADC support ver1 and ver2 for imxrt117x

imxrt:imxrt117x_ccm Align timer naming with other imxrt QTIMERn->TIMERn

imxrt:imxrt117x_ccm align CCM names with rt106x

imxrt:XBAR support larger number of selects needed on imxrt1170

Co-authored-by: Peter van der Perk <peter.vanderperk@nxp.com>

FlexSPI AHB Region support, PIT rename for compatiblity

imxrt:USB Analog add VBUS_VALID_3V

FlexSPI expand prefetch registers for IMXRT117X

imxrt:Support Initialization of FlexRam without Running from OCRAM

imxrt: ocotp add UNIQUE_ID register definition

imxrt: enet use ocotp unique_id

imxrt: enet fixes for imxrt117x

imxrt: ethernet pinmux sion enable

imxrt:imxrt_periphclk_configure add memory sync

   Flush the pipeline to prevent bus faults, by insuring a
   peripheral is clocked before being accessed on return from
   this function.

imxrt:Restructure gpioN to padmux mapping

imxrt:Add imxrt1170 daisy

imxrt: correct power modes for imxrt117x fixing hang on WFI

imxrt: imxrt117x TCM MPU config

imxrt: FlexRAM clocking DIV0 setup

imxrt: 117x periphclocks wait for status bit

imxrt: iomucx set pad settings correctly and allow reconfiguration

imxrt: enet align buffers 64-byte for optimal performance

Add DSC barriers for write-through cache support

imxrt: imxrt1170 use FlexCAN FD/ECC features

imxrt:iomuxc_ver2 (117x) SD_B1 and DISP_B1 use PULL feild not PUE/PUS

imxrt:Fix 1170 SNVS addressing

imxrt: enet set mii clock after ifdown so that phy keep working

nxstyle fixes

imxrt: preprocessor and include fixes

Fix configs

imxrt1170-evk clean defconfig
2023-12-07 03:48:19 -08:00
wangmingrong
02936df943 stm32h7: fix config conflict
if defined(CONFIG_NSH_LIBRARY) && !defined(CONFIG_BOARDCTL) conflict

Signed-off-by: wangmingrong <wangmingrong@xiaomi.com>
2023-12-06 07:57:14 -08:00
zhangjun21
c16da15943 cmake: add matter defconfig file for sim
Signed-off-by: zhangjun21 <zhangjun21@xiaomi.com>
2023-12-06 07:56:17 -08:00
simbit18
ccc0c54401 Fix Kconfig style
Remove extra TABs
Remove spaces from Kconfig
Add comments
2023-12-04 22:20:50 +08:00
Rodrigo Sim
ce4c70690f stm32f401rc-rs485: Add eeprom support 2023-12-04 00:34:14 -08:00
Xiang Xiao
6783051aed Fix the wrong comment banner
"Private Type"->"Private Types"

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-12-03 17:50:35 +01:00
raiden00pl
ac5c47fcb6 nrf52832-dk: add timer example 2023-12-03 05:47:07 -08:00
Eren Terzioglu
9c793067cc xtensa/esp32s3: Fix esp32s3 mcuboot ota crash 2023-12-01 18:48:10 -08:00
Eren Terzioglu
5b19d8b2cb xtensa/esp32s2: Add RTC support 2023-11-30 21:02:12 -03:00
Eren Terzioglu
31abcb0e9a xtensa/esp32s3: Add rtc defconfig 2023-11-30 08:58:17 -08:00
chao an
7b1f22ca18 xmc4/spi: fix typo
Signed-off-by: chao an <anchao@xiaomi.com>
2023-11-30 06:16:09 -08:00
Rodrigo Sim
14000d077d seeed-xiao-rp2040: Add initial board support 2023-11-29 19:32:22 -08:00
raiden00pl
74874e0874 boards/sim/nxscope: use default /dev/ttySIM0 path 2023-11-29 18:35:44 -08:00
raiden00pl
47b27321d5 boards/sim/nxscope: remove CONFIG_ALLSYMS=y
this option adds some python dependencies for mkallsyms.py and we don't need it for this example
2023-11-29 18:35:44 -08:00
chenwen@espressif.com
53beaf1a67 xtensa/esp32s3: Add SPIRAM high memory support
1. Configurable mapping of virtual address to psram physical address
  2. Access SPIRAM memory at high physical address through bank switching

Signed-off-by: chenwen@espressif.com <chenwen@espressif.com>
2023-11-29 06:33:51 -08:00
chao an
4540dd4718 stm32/clang: enable LIBM avoid build break on clang-17
Signed-off-by: chao an <anchao@xiaomi.com>
2023-11-29 03:58:05 -08:00
Michal Lenc
e852f28710 ci: add open_memestream CI test
CI test for open_memestream() stdio function was added.

Signed-off-by: Michal Lenc <michallenc@seznam.cz>
2023-11-29 02:13:19 -08:00
Takumi Ando
e11627d0fb boards: Use MS56XX instead of MS5611
Signed-off-by: Takumi Ando <t-ando@advaly.co.jp>
2023-11-28 16:48:50 -03:00
Rodrigo Sim
89ddb2f709 stm32f401rc-rs485: Add sdcard support 2023-11-25 23:16:44 -08:00
Ville Juven
20eb1831b1 rv-virt/knsh: Set correct RAM_START and RAM_SIZE
Also, set RAM_VSTART, because we have vaddr=paddr mapping. Otherwise
RAM_VSTART gets its default value which is 0.
2023-11-24 04:39:25 -08:00
Eren Terzioglu
438cb4a16a xtensa/esp32s3: Add rtc heap support 2023-11-23 16:49:48 -08:00
guotong ma
6c25d2a2f5 fix f401rc flash size. 2023-11-23 08:15:06 -08:00
hujun5
1a65f5ed88 sched_lock refine: remove sched_[un]lock in xxx_waitsample
Signed-off-by: hujun5 <hujun5@xiaomi.com>
2023-11-21 20:03:43 -08:00
halyssonJr
bc64559bac add support to q-enconder 2023-11-21 04:05:41 -08:00
Eero Nurkkala
1cb879773a risc-v/mpfs/opensbi: update opensbi to version 1.3.1
Version 1.3.1 is the latest tagged version as of November
the 21st, 2023.  This patch prepares the required changes
to make v1.3.1 work.

Signed-off-by: Eero Nurkkala <eero.nurkkala@offcode.fi>
2023-11-21 04:04:47 -08:00
Xiang Xiao
eddd90de78 poll: pollsetup should notify only one fd passd by caller
since it's redundant to iterate the whole fds array in setup

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-11-21 09:07:17 +01:00
Xiang Xiao
ab2a4838d7 board/sim: Enable the tick lock in smp config
to improve the ci coverage

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-11-19 20:22:50 +01:00
Rodrigo Sim
a3e3e0b1ec stm32f401rc-rs485: Add buttons support 2023-11-18 17:07:32 -08:00
raiden00pl
014029c649 boards: add support for ODrive V3.6 board 2023-11-18 17:07:20 -08:00
Jorge Guzman
46b8b057da linum-stm32h753bi: Add support to RTC and alarm
Signed-off-by: Jorge Guzman <jorge.gzm@gmail.com>
2023-11-18 18:38:41 -03:00
Bowen Wang
f01f290c3f qemu/config: enable CONFIG_DEV_SIMPLE_ADDRENV for all qemu configs
Enable CONFIG_DEV_SIMPLE_ADDRENV for all the qemu configs that used
the virtio driver to fix compile error when use the NuttX implemented
metal io read/write operations.
Becasue up_addrenv_pa_to_va() and up_addrenv_va_to_pa() are not
implemented by default.

Signed-off-by: Bowen Wang <wangbowen6@xiaomi.com>
2023-11-17 09:42:52 +01:00
raiden00pl
ca88513a0c boards/nrf9160-dk: enable GNSS for modem_ns config 2023-11-16 20:32:41 -08:00
raiden00pl
c53211afb9 boards/nrf9160-dk: add board specific modem configuration 2023-11-16 20:32:41 -08:00
raiden00pl
b14b8c6db3 boards/thingy91: add board specific modem configuration 2023-11-16 20:32:41 -08:00
Masayuki Ishikawa
991c5029a0 boards: sabre-6quad: Fix cxxtest issue
Summary:
- Fixes a linker issue in https://github.com/apache/nuttx/pull/8244 by disabling compiler optimization.
- Adjusts CONFIG_DEFAULT_TASK_STACKSIZE to 4096 to ensure proper functioning of cxxtest.

Impact:
- The changes may slightly affect performance due to disabled optimizations
  but are necessary for cxxtest stability.

Testing:
- Successfully tested on QEMU-8.1.2 with arm gcc 12.3.Rel1,
  confirming resolution of the linker issue and stable operation of cxxtest.

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2023-11-15 03:52:26 -08:00
raiden00pl
c0ffcca0e8 boards: remove obsolete CONFIG_EXAMPLES_FOC_IPHASE_ADC option 2023-11-15 03:43:25 -08:00
Eren Terzioglu
4033018a72 xtensa/esp32s3: Add XTWDT support 2023-11-14 19:42:33 -03:00
raiden00pl
99513ac23e drivers/foc: return scaling factor for phase currents and BEMF via ioctl
These values are board-specific properties that must be known on the application side.
Until now, these values had to be hardcoded on the application side.
2023-11-14 04:34:49 -08:00
raiden00pl
7d99f01cf7 drivers/foc: get hardware information via lower-half interface 2023-11-14 04:34:49 -08:00
Eren Terzioglu
d92a7011fd xtensa/esp32s3: Add RWDT support 2023-11-13 21:04:30 -03:00
Takumi Ando
c076cb1bef rp2040: pwm: Fix errors at CONFIG_PWM_NCHANNELS=1
Perhaps it has never been tested with CONFIG_PWM_NCHANNELS=1.

Signed-off-by: Takumi Ando <t-ando@advaly.co.jp>
2023-11-13 11:40:22 +01:00
Rodrigo Sim
66ccaed5ce stm32f4/stm32f401rc-rs485: add support to userleds 2023-11-12 16:58:31 -08:00
halyssonJr
e1274d1c42 fix backlight GPIO, add backlight control, and add LVGL defconfig 2023-11-11 20:04:51 -08:00
Jorge Guzman
82af87f896 stm32h7/linum-stm32h753bi: Added suport to userlerds library.
Signed-off-by: Jorge Guzman <jorge.gzm@gmail.com>
2023-11-11 20:02:53 -08:00
chenwen@espressif.com
b6e09955dd xtensa/esp32s3: Support multiple PHY init data bin
1. If CONFIG_ESP32S3_PHY_INIT_DATA_IN_PARTITION and CONFIG_ESP32S3_SUPPORT_MULTIPLE_PHY_INIT_DATA are enabled,
PHY initialization data (PHY initialization data is used for RF calibration) will be loaded from a partition.

2. The corresponding PHY init data type can be automatically switched according to the country code,
China's PHY init data bin is used by default, country code can be modified through the wapi command: wapi country <ifname> <country code>.

Signed-off-by: chenwen@espressif.com <chenwen@espressif.com>
2023-11-10 15:55:14 -03:00
chenwen@espressif.com
cc10c54f6c xtensa/esp32s3: Support partition and OTA device
Signed-off-by: chenwen@espressif.com <chenwen@espressif.com>
2023-11-10 15:55:14 -03:00
Tiago Medicci Serrano
18718316dc esp32/ble: enable the BLE interrupt during a SPI flash operation
This commit sets the BLE's interrupt as a IRAM-enabled interrupt,
which enables it to run during a SPI flash operation. This enables
us to create a cache to off-load semaphores and message queues
operations and treat them when the SPI flash operation is finished.
By doing that, we avoid packet losses during a SPI flash operation.
2023-11-10 09:11:35 +08:00
Tiago Medicci Serrano
b25793ebac esp32/spiflash: Make it similar to ESP32-S3 by removing cache state 2023-11-10 09:11:35 +08:00
Tiago Medicci Serrano
57b8fc9954 esp32/irq: Allow IRAM ISRs to run during SPI flash operation
This commit provides an interface to register ISRs that run from
IRAM and keeps track of the non-IRAM interrupts. It enables, for
instance, to avoid disabling all the interrupts during a SPI flash
operation: IRAM-enabled ISRs are, then, able to run during these
operations.

It also makes the code look more similar to the ESP32-S3 SPI flash
implementation by creating a common `esp32_spiflash_init` that is
responsible to create the SPI flash operation tasks. The function
intended to initialize the SPI flash partions was, then, renamed to
`board_spiflash_init`.
2023-11-10 09:11:35 +08:00
Eren Terzioglu
9997a858e2 xtensa/esp32s2: Add SPI slave support 2023-11-10 00:34:39 +08:00
Janne Rosberg
7f48c185c8 sama5d2-xult: add support for QSPI flash and nxffs
Add support for onboard qspi flash with nxffs fs
Signed-off-by: Janne Rosberg <janne.rosberg@offcode.fi>
2023-11-09 23:59:33 +08:00
Eren Terzioglu
77df430f30 xtensa/esp32s2: Add rtc heap support 2023-11-09 23:58:30 +08:00
Dong Heng
c655870b22 boards/esp32s3: Link stack checking function and data to SRAM when enable flash or PSRAM driver
During PSRAM initialization and flash operations, the Cache needs to be disabled.
So all data and code for the aforementioned scope is required to be placed in Internal RAM.
2023-11-09 13:27:31 +01:00
chenwen@espressif.com
5239d01dba xtensa/esp32s3: Disable psram as task stack
1. Disable psram as task stack to avoid system blocking.
2. Add some function comments.
2023-11-08 16:25:57 -03:00
chenwen@espressif.com
8d94c1b3cb xtensa/esp32s3: Support malloc from external RAM and internal RAM
Enables the allocation of the entire Userspace heap into SPI RAM and reserving the Internal RAM exclusively for the Kernel heap.
2023-11-08 16:25:57 -03:00
simbit18
8fa6a29503 Fix Kconfig style
Remove extra TABs
Remove spaces from Kconfig
Add comments
2023-11-08 22:58:26 +08:00
Tiago Medicci Serrano
59107e5573 esp32s3: Fix issue regarding IRAM-enabled ISRs by fixing the linker
After https://github.com/apache/nuttx/pull/11007/ was merged, the
path for some files changed, requiring the linker to be fixed to
make it run from the internal memory once again.
2023-11-06 18:41:34 -03:00
raiden00pl
ede4b6b0ab boards/b-g431b-esc1: rework board to not use CONFIG_STM32_USE_LEGACY_PINMAP=y 2023-11-03 22:25:46 +08:00
yinshengkai
d0a5489ac5 sched: explicitly select the cpuload clock source configuration
Different configurations require different dependencies.
Explicitly select dependencies to avoid automatically selecting inappropriate configurations.

Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2023-11-01 09:27:56 +08:00
SPRESENSE
2f1b4a49ce boards: cxd56xx: Register cxd5610 gnss driver
Register device file for cxd5610 gnss driver.
2023-10-31 09:18:18 +01:00
SPRESENSE
0ee2bb51b8 boards: cxd56xx: Add cxd5610 gnss lowerhalf driver
Add cxd5610 gnss lowerhalf driver with i2c interface.
2023-10-31 09:18:18 +01:00
SPRESENSE
f49fa466b6 boards: cxd56xx: Add cxd5610 gnss driver
Add cxd5610 gnss driver as board-specific sensor driver.
2023-10-31 09:18:18 +01:00
Jorge Guzman
66df15b965 boards/stm32: add support to LINUM-STM32H753BI board
The LINUM-STM32H753BI is a board with RS485, RS232, SD Card, CAN,
SD Card, USB, Ethernet, LCD, etc.

Signed-off-by" Jorge Guzman jorge.gzm@gmail.com

ci: correction in nsh defconfig file of LINUM-STM32H753BI
2023-10-30 13:56:40 -03:00
dongjiuzhu1
8ad88a3fc5 qemu/arm64: implement up_textheap_align and support sotest
Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com>
2023-10-30 18:20:22 +08:00
raiden00pl
f9d088590a Documentation: migrate boards/{z16|z80}/xxx/configs/README.txt 2023-10-28 13:55:22 +08:00
SPRESENSE
f3fabc5d32 Revert "make/archive: Use the full path name when matching or storing names in the archive"
This reverts commit 563125fde3.
2023-10-27 22:26:18 +08:00
dongjiuzhu1
4068f11129 binfmt/elf: Select ARCH_USE_TEXT_HEAP if ARCH_HAVE_TEXT_HEAP
Using up_textheap_memalign to allocate memory if arch support textheap
for loading section.

The default system heap does not support execution permissions,
so up_textheap_memalign allocation is required.

this patch can fix issue about #11043

update esp32 elf config:
remove -CONFIG_ARCH_USE_TEXT_HEAP=y becuase ARCH_CHIP_ESP32 select
ARCH_HAVE_TEXT_HEAP

Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com>
2023-10-27 15:42:02 +09:00
Michal Lenc
51bae917b7 ci: add fmemopen test and merge fopencookie and fmemopen to stdio test
CI test for fmemopen() function was added. The test was merged with
fopencookie interface test and merged into single test_stdio.

Signed-off-by: Michal Lenc <michallenc@seznam.cz>
2023-10-27 08:55:24 +08:00
raiden00pl
56529d2944 Documentation: migrate the rest boards
- migrated /README are removed from /boards

- there are a lot of READMEs that should be further converted to rst.
  At the moment they are moved to Documentation/platforms and included in rst files
2023-10-26 18:13:34 -03:00
raiden00pl
d77dff786b fix broken CI
rename missing CONFIG_SYSTEM_RAMTEST to CONFIG_TESTING_RAMTEST
2023-10-26 14:51:01 -03:00
xuxin19
e3003f691b cmake:init RISC-V cmake qemu-rv build
cmake currently does not support non-FlatBuild,
need disable ELF and LOADABLE when compiling other defconfigs

```
 cmake -B build -DBOARD_CONFIG=rv-virt/smp64 -GNinja # for rv32:rv-virt/smp
 cmake --build build -t menuconfig
 cmake --build build
 qemu-system-riscv64 -semihosting -M virt,aclint=on -cpu rv64 -smp 8 -bios none -kernel nuttx -nographic
```

Signed-off-by: xuxin19 <xuxin19@xiaomi.com>
2023-10-26 21:01:46 +08:00
chenrun1
de17f43481 boards:Modify test "ramtest" path
Based on the PR#2161 change, we need to modify the macro switch in most boards to configure ramtest.

Signed-off-by: chenrun1 <chenrun1@xiaomi.com>
2023-10-26 13:17:35 +02:00
simbit18
37729540c0 Fix Kconfig style
Remove spaces from Kconfig
Add comments
2023-10-26 01:53:58 +08:00
chao an
3cadf6642a kernel: replace all usleep to nxsig_usleep in kernel space
syscall cannot be called from kernel space

Signed-off-by: chao an <anchao@xiaomi.com>
2023-10-25 15:46:03 +08:00
Tiago Medicci Serrano
0616796185 esp32-devkitc/ble: Enable SMP for BLE defconfig
This defconfig also pins the HCI TX thread to the same core of the
BLE task.
2023-10-24 22:41:44 +08:00
Alan Carvalho de Assis
95800a7f54 boards: Rename shiftgame to brickmatch
This patch will rename the shiftgame to brickmatch and will add
support to initialize brickmatch automatically on esp32-devkitc.
2023-10-24 13:54:32 +08:00
Alan Carvalho de Assis
41a6adf93f esp32: Add support to gesture and APA102 as LCD 2023-10-24 13:54:32 +08:00
Rodrigo Sim
21ba49408c boards/stm32: add support to STM32F401RC-RS485 board
The STM32F401RC-RS485 is a board with RS485 support, SD Card, buttons,
leds, temperature sensor, adc and etc.

Signed-off-by: Rodrigo Sim rcsim10@gmail.com
2023-10-23 14:28:27 +08:00
halyssonJr
48a878fd06 Adding initial support to board esp32-2432S028, is a board with SD Card, RGB LED, output for speak and display LCD
Signed-off-by: halyssonJr <halysson1007@gmail.com>
2023-10-22 00:57:36 +08:00
GD32-MCU
6e94f7432f add gd32f470i board support 2023-10-21 11:45:03 -03:00
chao an
fa943c11b3 cmake: correct cmake rule file name
The rule of cmake file name should be CMakeLists.txt not CMakeList.txt

Signed-off-by: chao an <anchao@xiaomi.com>
2023-10-21 11:00:27 +08:00
Alan Carvalho de Assis
b95fd6a573 esp32: Add wifishare board config and documentation
Signed-off-by: Alan C. Assis <acassis@gmail.com>
2023-10-20 09:46:21 +08:00
Michal Lenc
f43701c7c9 ci: fix file system CI test
File system CI test was not testing the correct behavior of scanf and just
checked whether program did not end with hard fault. This adds
functionality check and required configuration options to run FS test.

Signed-off-by: Michal Lenc <michallenc@seznam.cz>
2023-10-19 21:39:24 +08:00
Michal Lenc
7463052c8e ci: fix scanf CI test
Scanf CI test was not testing the correct behavior of scanf and just
checked whether program did not end with hard fault. This adds
functionality check and required configuration options to run scanf
test.

Signed-off-by: Michal Lenc <michallenc@seznam.cz>
2023-10-19 21:39:24 +08:00
cuiziwei
c164fc9b21 nuttx:generate nuttx.map file when enable debug link map.
Signed-off-by: cuiziwei <cuiziwei@xiaomi.com>
2023-10-19 19:19:22 +08:00
Xiang Xiao
04f834290c ucans32k146/se05x: Refresh defconfig after https://github.com/apache/nuttx-apps/pull/2131
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-10-19 12:37:42 +08:00
makejian
7d6c529e88 sim/crypto: Use mbedtls default configuration without special check
depends on patch https://github.com/apache/nuttx-apps/pull/2131
Signed-off-by: makejian <makejian@xiaomi.com>
2023-10-18 21:18:42 +08:00
Michal Lenc
6e4ffb9ea1 ci: add fopencookie test
This adds fopencookie test for simulator CI.

Signed-off-by: Michal Lenc <michallenc@seznam.cz>
2023-10-18 21:13:01 +08:00
simbit18
b5d640acc5 fix Cygwin/MSYS2 ld: unrecognized option '-z'
The '-z' options don't supported for Windows versions of ld.
2023-10-18 01:23:39 +08:00
Dong Heng
1cb17b8a6a boards/esp32s3-box: Support hardware version 3
config/lvgl: For old ESP32-S3-BOX board
config/lvgl-3: For new ESP32-S3-BOX-3 board
2023-10-17 17:32:32 +08:00
Alan Carvalho de Assis
444b6d9635 boards: Update all boards that were using CONFIG_NET_LL_GUARDSIZE=50 2023-10-16 08:55:21 +08:00
Marco Casaroli
0f56d3428b feat(esp32s3-eye): lcd defconfig 2023-10-12 16:57:04 -04:00
Marco Casaroli
e5b4b58f96 feat(esp32s3-eye): i2c defconfig 2023-10-12 16:57:04 -04:00
Marco Casaroli
effab1bd61 feat(esp32s3-eye): SPI and LCD
LCD is connected to SPI2 and uses DC signalling.
2023-10-12 16:57:04 -04:00
Marco Casaroli
20b5d2b84c fix(esp32s3-eye): unexpose backlight GPIO
This IO is not exposed in any headers and it is only used for LCD.

So we don't expose it as gpio device.
2023-10-12 16:57:04 -04:00
Marco Casaroli
b7bc0e542c fix(esp32s3-eye): spiflash declaration 2023-10-12 16:57:04 -04:00
Marco Casaroli
09ee163d37 feat(esp32s3-eye): I2C 2023-10-12 16:57:04 -04:00
Marco Casaroli
e99966ec70 chore(esp32s3_board_i2c): suppress warning
If only I2C1 is configured but not I2C0, gcc is giving a warning,
so we suppress it.
2023-10-12 16:57:04 -04:00
hujun5
cef8c598c7 arm64: Add support for FIQ interrupts
To compile arm64 NuttX, use the following command:
 ./tools/configure.sh -l qemu-armv8a:nsh_fiq
To run,use the following command
 qemu-system-aarch64 -cpu cortex-a53 -nographic -machine virt,virtualization=on,gic-version=3 -net none -chardev stdio,id=con,mux=on -serial chardev:con -mon chardev=con,mode=readline -kernel ./nuttx

Signed-off-by: hujun5 <hujun5@xiaomi.com>
2023-10-12 16:56:24 -04:00
Marco Casaroli
ef739161b7 feat(esp32s3-eye): gpio defconfig
Add a defconfig for exposing the gpio and buttons in the
esp32s3-eye board.
2023-10-12 01:39:28 +08:00
Marco Casaroli
8611003c98 feat(esp32s3-eye): buttons
This adds button support for the esp32-s3-eye board
2023-10-12 01:39:28 +08:00
Marco Casaroli
5fb2535354 feat(esp32s3-eye): gpio
This adds the gpio driver and configuration to the esp32-s3-eye
board.
2023-10-12 01:39:28 +08:00
Marco Casaroli
79e5d88f97 feat(esp32s3-eye): wireless
Enable wifi and ble on board_bringup as we do with the DevkitC
2023-10-11 18:30:07 +08:00
Philippe Leduc
f38cdb09b4 Add support for SPI through i.MX8MP ecspi module.
Configure SPI for Verdin evaluation board
2023-10-09 18:04:50 -04:00
TaiJu Wu
ffba0d15a5 Feature: implement ticket spinlock
test config: ./tools/configure.sh -l qemu-armv8a:nsh_smp

Pass ostest

No matter big-endian or little-endian, ticket spinlock only check the
next and the owner is equal or not.

If they are equal, it means there is a task hold the lock or lock is
free.

Signed-off-by: TaiJu Wu <tjwu1217@gmail.com>

Co-authored-by: Xiang Xiao <xiaoxiang781216@gmail.com>
2023-10-07 01:38:37 +08:00
Tiago Medicci Serrano
a71a3258b7 esp32s3/ble: enable the BLE interrupt during a SPI flash operation
This commit sets the BLE's interrupt as a IRAM-enabled interrupt,
which enables it to run during a SPI flash operation. This enables
us to create a cache to off-load semaphores and message queues
operations and treat them when the SPI flash operation is finished.
By doing that, we avoid packet losses during a SPI flash operation.
2023-10-05 11:25:43 +08:00
Tiago Medicci Serrano
0ddb64555a esp32s3/irq: Allow IRAM ISRs to run during SPI flash operation
This commit provides an interface to register ISRs that run from
IRAM and keeps track of the non-IRAM interrupts. It enables, for
instance, to avoid disabling all the interrupts during a SPI flash
operation: IRAM-enabled ISRs are, then, able to run during these
operations.
2023-10-05 11:25:43 +08:00
raiden00pl
dbe10a0fc8 boards: simplify the enable condition for up_perf_init 2023-10-03 12:53:10 +08:00
Xiang Xiao
414491e340 pm: Let PM_PROCFS depend on FS_PROCFS_REGISTER
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-10-02 14:30:18 -04:00
Hank Wu
f144169f44 Initialize led driver during bringup for nucleo-f446re board. 2023-10-01 19:33:55 +08:00
raiden00pl
cb04c0a928 boards/nrf52: remove CONFIG_ARMV7M_SYSTICK form tickless configurations 2023-09-29 21:02:46 +08:00
Eren Terzioglu
ded321a515 xtensa/esp32s2: Add support to TWAI/CANBus controller 2023-09-28 09:35:08 +08:00
anjiahao
a2c5cb729a fs:support zipfs,can mount zipfile
we can mount a zipfile in nuttx use mount command like this:

mount -t zipfs -o /data/test.zip /zip

The zipfs is a read only file system,The advantage is that it
does not occupy additional space when reading the decompressed file.

When used, reading and decompression operations are simultaneous.
The known disadvantage is that when using seek to read forward,
it will reopen and cause slow speed problems.

Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2023-09-27 01:06:04 +08:00
raiden00pl
3f1417ef8d boards: add nrf9160-dk board support (nrf52840 chip) 2023-09-25 23:06:39 +08:00
Dong Heng
c805b8f3c1 boards/esp32s3-box: Add ESP32-S3-BOX development board basic BSP
1. bringup
2. reset
3. board button
4. board SPI
5. board touchscreen
6. board LCD
2023-09-25 12:51:43 +08:00
Xiang Xiao
29ec45036d boards/arm/tlsr82: Fix apps/testing/ostest/setvbuf.c:48: undefined reference to `fopen'
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-09-24 19:32:55 -04:00
raiden00pl
7f2fe65749 thingy53: assign separate TWI instances to SPI and I2C 2023-09-24 19:41:31 +08:00
raiden00pl
064f311a9d thingy53: cosmetics 2023-09-24 19:41:31 +08:00
raiden00pl
367a5002ae thingy53: add i2ctools support 2023-09-24 19:41:31 +08:00
raiden00pl
4314feaa0b thingy53: add rgbled support 2023-09-24 19:41:31 +08:00
raiden00pl
11a3484e86 boards: add initial support for thingy91 board (nrf9160 and nrf52840 chips) 2023-09-24 19:38:47 +08:00
Xiang Xiao
eb527f3bd2 boards/sim: Enable CONFIG_ARCH_MATH_H for libcxxtest
to undefine __GLIBC__, otherwise libcxx misthink it work with glibc

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-09-24 08:40:10 +03:00
Theo
52096aeb80 Add activation of SPI0 on arduino due 2023-09-23 01:46:23 +08:00
raiden00pl
3ad3b66e11 boards/thingy52: use RTT console as default
External JLink is required to program the board, so the console via RTT
is available anyway. It is much more convenient to use than soldering the
P4 connector and working with an external UART converter.
2023-09-22 19:46:43 +08:00
raiden00pl
59cf80cf90 boards/nucleo-h745zi: access CM4 core NSH over uart rpmsg
Command on the CM7 core:

  nsh-cm7> cu -l /dev/ttyproxy
  NuttShell (NSH) NuttX-10.4.0
  nsh-cm4>
2023-09-22 19:46:26 +08:00
Daniel P. Carvalho
f0bc20c815 Fix I2C1 pinout. 2023-09-22 00:54:07 +08:00
simbit18
4f985f4367 Fix Kconfig style
Remove spaces from Kconfig
Add comments
2023-09-22 00:35:48 +08:00
TaiJu Wu
707dd12090 fix: disable esp32s3-devkit/ksta_softap spinlock
Link time happened error when CI/CD test.
ref: https://github.com/apache/nuttx-apps/pull/2076

Signed-off-by: TaiJu Wu <tjwu1217@gmail.com>
2023-09-21 10:34:59 -04:00
simbit18
34bb0b6544 Fix nuttx coding style
Remove TABs
Remove spaces
Fix indentation
2023-09-21 10:03:13 -04:00
ThomasNS
a2c806027f fix led panic feature 2023-09-21 00:35:12 +08:00
Neale Ferguson
5d7f2fdf16 Fix loading of ET_DYN type of shared objects
* build-globals.sh
  - Only look in the nuttx for external symbols used when loading
    dynamic shared objects

* include/elf64.h
  - Correct the type of fields in the Elf64_Phdr structure

* libs/libc/dlfcn/lib_dlclose.c
  - Distinguish between ET_DYN and other objects as the former
    has both text and data in a single allocation to reserve
    GOT offsets

* libs/libc/dlfcn/lib_dlopen.c
  - Code formatting

* libs/libc/modlib/modlib_bind.c
  - Distinguish between relocation entry sizes by section type
  - Handle RELA style relocations

* libs/libc/modlib/modlib_globals.S
  - Formatting fixes
  - Symbols should not be weak - they exist or they don't

* include/nuttx/lib/modlib.h
  - Add an inidcator to module_s to distinguish between ET_DYN and other

* libs/libc/modlib/modlib_load.c
  - ET_DYN objects need to keep the relative displacement between the text
    and data sections due to GOT references from the former to the latter.
    This also implies that linking may require modification from the default
    for the shared objects being produced. For example, default alignment may
    mean nearly 64K of wasted space.

* libs/libc/modlib/modlib_unload.c
  sched/module/mod_rmmod.c
  - Distingusih between freeing of ET_DYN storage and other as the former
    is a single allocation.

* libs/libc/modlib/mod_insmod.c
  - Cater for ET_DYN objects having init and preinit sections
2023-09-20 09:35:28 -04:00
Philippe Leduc
b47f240b5f Use standard arm-none-eabi toolchain by default. 2023-09-20 17:26:35 +08:00
Huang Qi
e144b1208f boards/riscv: Fix module linker target
Fix:
```
riscv-none-elf-ld: sotest.o: ABI is incompatible with that of the selected emulation:
  target emulation `elf64-littleriscv' does not match `elf32-littleriscv'
riscv-none-elf-ld: failed to merge target specific data of file sotest.o
```

Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2023-09-20 17:04:56 +08:00
xiao
1487aa267e add Artery at32
check nxstyle

check nxstyle
2023-09-20 02:07:55 +08:00
zhangyuan21
978c8bd249 sim: enable usb board ctrl in adb
Signed-off-by: zhangyuan21 <zhangyuan21@xiaomi.com>
2023-09-19 07:51:49 +02:00
Dong Heng
6ac28d5526 xtensa/esp32s3: LCD controller driver 2023-09-19 11:38:05 +08:00
Xiang Xiao
15e78470f8 arch/sim: Guard frame buffer related setting in SIM_X11FB
and remove SIM_VNCSERVER

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-09-19 10:33:52 +08:00
yinshengkai
49093b1400 sim: fix text-segment not taking effect
Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2023-09-18 21:03:07 +08:00
wangjianyu3
59e5037f90 arch/arm64: Add support for FriendlyElec NanoPi M4
Refs: https://github.com/apache/nuttx/pull/10193
      https://github.com/u-boot/u-boot/tree/v2022.04
      https://wiki.friendlyelec.com/wiki/index.php/NanoPi_M4

Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2023-09-17 21:17:06 +08:00
Xiang Xiao
8dbe86084e Remove FAR from source code under 32bit arch and board
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-09-16 19:12:13 +03:00
Daniel Appiagyei
5bfda12634 c++ compatibility: rename reserved c++ keywords 'public' and 'this' 2023-09-16 19:45:02 +08:00
dongjiuzhu1
8ababfc310 usbdev/mtp: support mtp class driver
Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com>
2023-09-16 14:40:08 +08:00
Alan Carvalho de Assis
0f73199de6 board/stm32f777zit6-meadow: Add support to F7 Core Compute
This patch add basic support to Meadow F7 Core Compute board.
The board profile "f7corecomp" include support to USB Console
and SD Card.
2023-09-16 14:32:53 +08:00
Petro Karashchenko
057bfd3748 boards/arm/samv7: fix return values in GPIO based encoder driver
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2023-09-16 14:17:47 +08:00
chenwen@espressif.com
827c2df889 xtensa/esp32s3: Fix octal lines mode SPIRAM blocking issue
Signed-off-by: chenwen@espressif.com <chenwen@espressif.com>
2023-09-15 20:40:52 +03:00
liaoao
a2ca68aaa7 qemu:fix ci error
Signed-off-by: liaoao <liaoao@xiaomi.com>
2023-09-14 15:19:59 +08:00
simbit18
50e6dcb1e0 Fix nuttx coding style
Correct forming guard names
2023-09-13 22:49:38 +08:00
liaoao
a2b9cbffc2 qemu: get reg and irq from devicetree node rather than macro
fdt address is at 0x4000000, so it needs to be reserved at ld script.

Signed-off-by: liaoao <liaoao@xiaomi.com>
2023-09-12 21:59:26 +08:00
xuxin19
225bd13381 change Mac sim archive operate from replace to quick insertion
'rcS' will case files that has duplicate name been replaced.
so on the Mac platform we use 'q' instead of 'r' to achieve an
effect similar to '-P'

Signed-off-by: xuxin19 <xuxin19@xiaomi.com>
2023-09-12 16:15:19 +03:00
Xiang Xiao
4aa3c9cd73 boards/x86_64: Change up_netinitialize to x86_64_netinitialize
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-09-12 15:56:36 +03:00
Tomáš Pilný
103270be1d esp32/rmt: Improve comments in ESP32's RMT peripheral 2023-09-12 17:44:42 +08:00
Tomáš Pilný
b5a1dd2eec boards/esp32-devkitc: Renamed wifi_smp_rmt to rmt
Removed wifi_smp_rmt config for ESP32

Replaced RMT defconfig with generated file
2023-09-12 17:44:42 +08:00
chao an
8a55ab680a boards: Refresh MM_IOB related config
Signed-off-by: chao an <anchao@xiaomi.com>
2023-09-12 16:24:52 +08:00
Tiago Medicci Serrano
1f1c793fd5 boards/esp32s3-devkit: Add board GPIO support
The board-level GPIO support is different from the already existing
button and LEDC support because it enable us to register the GPIO
pins as devices in `/dev/gpioX`. Some applications are able to use
this interface to read and write the GPIO pins.

Documentation was added regarding its usage. Please check
`Documentation/platforms/xtensa/esp32s3/boards/esp32s3-devkit/index.rst`
2023-09-12 16:22:15 +08:00
makejian
4fef475825 sim/crypto: support MBEDTLS_MD5_ALT config
Signed-off-by: makejian <makejian@xiaomi.com>
2023-09-12 10:01:28 +08:00
Xiang Xiao
4f5a177eef board/sim/crypto: Enable CONFIG_CRYPTO_SW_AES
to fix the following linker error:
/usr/bin/ld: nuttx.rel: in function `aes_encrypt_xform':
/github/workspace/sources/nuttx/crypto/xform.c:509: undefined reference to `aes_encrypt'
/usr/bin/ld: nuttx.rel: in function `aes_decrypt_xform':
/github/workspace/sources/nuttx/crypto/xform.c:514: undefined reference to `aes_decrypt'
/usr/bin/ld: nuttx.rel: in function `aes_setkey_xform':
/github/workspace/sources/nuttx/crypto/xform.c:519: undefined reference to `aes_setkey'
/usr/bin/ld: nuttx.rel: in function `aes_ctr_crypt':
/github/workspace/sources/nuttx/crypto/xform.c:566: undefined reference to `aes_encrypt'
/usr/bin/ld: nuttx.rel: in function `aes_ctr_setkey':
/github/workspace/sources/nuttx/crypto/xform.c:585: undefined reference to `aes_setkey'
/usr/bin/ld: nuttx.rel: in function `aes_ofb_encrypt':
/github/workspace/sources/nuttx/crypto/xform.c:694: undefined reference to `aes_encrypt'
/usr/bin/ld: nuttx.rel: in function `aes_ofb_setkey':
/github/workspace/sources/nuttx/crypto/xform.c:706: undefined reference to `aes_setkey'
/usr/bin/ld: nuttx.rel: in function `aes_cfb8_encrypt':
/github/workspace/sources/nuttx/crypto/xform.c:733: undefined reference to `aes_encrypt'
/usr/bin/ld: nuttx.rel: in function `aes_cfb8_decrypt':
/github/workspace/sources/nuttx/crypto/xform.c:751: undefined reference to `aes_encrypt'
/usr/bin/ld: nuttx.rel: in function `aes_cfb128_encrypt':
/github/workspace/sources/nuttx/crypto/xform.c:765: undefined reference to `aes_encrypt'
/usr/bin/ld: nuttx.rel: in function `aes_cfb128_decrypt':
/github/workspace/sources/nuttx/crypto/xform.c:781: undefined reference to `aes_encrypt'
/usr/bin/ld: nuttx.rel: in function `aes_gmac_setkey':
/github/workspace/sources/nuttx/crypto/gmac.c:135: undefined reference to `aes_setkey'
/usr/bin/ld: /github/workspace/sources/nuttx/crypto/gmac.c:143: undefined reference to `aes_encrypt'
/usr/bin/ld: nuttx.rel: in function `aes_gmac_final':
/github/workspace/sources/nuttx/crypto/gmac.c:195: undefined reference to `aes_encrypt'

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-09-11 14:17:07 +08:00
Andre Heinemans
329e050c30 Added NXP SE05x support (secure element) 2023-09-09 15:54:08 +08:00
SPRESENSE
a015aa4fca boards: cxd56xx: Add board-specific driver for bmi270 2023-09-09 00:46:24 +08:00
guoshichao
4645004d49 nuttx/board/sim/posix_test: add defconfig for ltp openposix testsuite
1. the defconfig is based on nuttx/boards/sim/sim/configs/nsh/defconfig
2. make the option enabled by default that needed by open posix
testsuite, such as PTHREAD_SPINLOCK, FS_AIO, TESTING_LTP etc.

Signed-off-by: guoshichao <guoshichao@xiaomi.com>
2023-09-09 00:39:59 +08:00
ThomasNS
109247e723 add buttons to stm32f411e-diso 2023-09-09 00:18:56 +08:00
Eren Terzioglu
cf395cf3fb xtensa/esp32: Add twai defconfigs to esp32 2023-09-07 16:59:44 -03:00
Eren Terzioglu
a26996fb3b xtensa/esp32s3: Add support to TWAI/CANBus controller 2023-09-08 01:49:43 +08:00
trns1997
153137a258 Add userleds and autoleds to the stm32f411e-disco board 2023-09-08 01:30:54 +08:00
Anner J. Bonilla
987afb1924 pinephone pro: add support for board reset 2023-09-08 01:14:49 +08:00