Commit graph

792 commits

Author SHA1 Message Date
simbit18
eec97064d7 fix nxstyle
Removed extra spaces from .h and .c files
2024-12-10 21:57:22 +08:00
wangjianyu3
0481533833 boards: Update configs about system/usbmsc
The Kconfig of system/usbmsc has updated to support setting paths that bind to LUN at runtime.
More details: https://github.com/apache/nuttx-apps/pull/2876

Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2024-12-06 13:38:23 +08:00
Andreea Luca
e6a01a0167 Integrated feedback
Integrated feedback: refreshed mqttc defconfig file.
2024-12-06 10:59:17 +08:00
Andreea Luca
666d55a8f4 Add configs for esp-sparrow-kit
Add configs for esp-sparrow-kit, to ease enabling wifi
and mqttc applications
2024-12-06 10:59:17 +08:00
wangjianyu3
f446fd5451 esp32s3-devkit/usbmsc: Add bind for MTD
And fix error: Unsupported sector size 256.

Test

  # Build & Flash
  ./tools/configure.sh -l esp32s3-devkit:usbmsc
  make flash ESPTOOL_PORT=/dev/ttyACMx

  # Runtime (Device)
  nsh> mkrd -m 10 -s 512 640
  nsh> ls -l /dev/esp32s3flash
   frw-rw-rw-     1048576 /dev/esp32s3flash
  nsh> msconn
  mcsonn_main: Creating block drivers
  mcsonn_main: Configuring with NLUNS=2
  mcsonn_main: handle=0x3fcdecc8
  mcsonn_main: Bind LUN=0 to /dev/ram10
  mcsonn_main: Bind LUN=1 to /dev/esp32s3flash
  mcsonn_main: Connected

Log (Host)

  [1478371.410664] usb 1-5: new full-speed USB device number 22 using xhci_hcd
  [1478371.539471] usb 1-5: New USB device found, idVendor=584e, idProduct=5342, bcdDevice= 3.99
  [1478371.539475] usb 1-5: New USB device strings: Mfr=1, Product=2, SerialNumber=3
  [1478371.539476] usb 1-5: Product: Mass Storage
  [1478371.539477] usb 1-5: Manufacturer: NuttX
  [1478371.539478] usb 1-5: SerialNumber: 0101
  [1478371.542497] usb-storage 1-5:1.0: USB Mass Storage device detected
  [1478371.542851] scsi host5: usb-storage 1-5:1.0
  [1478372.582401] scsi 5:0:0:0: Direct-Access     NuttX    Mass Storage     0101 PQ: 0 ANSI: 2
  [1478372.582785] scsi 5:0:0:1: Direct-Access     NuttX    Mass Storage     0101 PQ: 0 ANSI: 2
  [1478372.582990] sd 5:0:0:0: Attached scsi generic sg3 type 0
  [1478372.583167] sd 5:0:0:1: Attached scsi generic sg4 type 0
  [1478372.584150] sd 5:0:0:0: [sdd] 640 512-byte logical blocks: (328 kB/320 KiB)
  [1478372.801405] sd 5:0:0:0: [sdd] Write Protect is off
  [1478372.801410] sd 5:0:0:0: [sdd] Mode Sense: 0f 00 00 00
  [1478373.021406] sd 5:0:0:0: [sdd] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
  [1478373.023228] sd 5:0:0:1: [sde] 2048 512-byte logical blocks: (1.05 MB/1.00 MiB)
  [1478373.241405] sd 5:0:0:1: [sde] Write Protect is off
  [1478373.241410] sd 5:0:0:1: [sde] Mode Sense: 0f 00 00 00
  [1478373.461442] sd 5:0:0:1: [sde] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
  [1478374.353460]  sde: sde1
  [1478374.353725] sd 5:0:0:1: [sde] Attached SCSI disk
  [1478374.363233] sd 5:0:0:0: [sdd] Attached SCSI disk
  [1478375.442736] FAT-fs (sde1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.

Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2024-12-02 13:41:26 +08:00
wangjianyu3
1cfaff011e esp32s3-devkit/usbmsc: Initializing configuration for USBMSC
USBMSC - USB Mass Storage Class

Build

  $ ./tools/configure.sh -l esp32s3-devkit:usbmsc
  $ make flash ESPTOOL_PORT=/dev/ttyACMx

Runtime

  # Device
  nsh> mkrd -m 10 -s 512 640
  nsh> msconn

  # Host
  $ sudo mkfs.ext4 /dev/sdx
  $ sudo mount /dev/sdx ./mnt/

Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2024-11-27 13:30:44 -03:00
wangjianyu3
ffa2209b4a boards/xtensa/esp32s3: Add USB MSC support for esp32s3
Test

  # Device:/dev/ram10 <----> Host:/dev/sde

  # Device (NuttX)
    nsh> mkrd -m 10 -s 512 640
    nsh> msconn
    nsh> ls -l /dev/ram10
     brw-rw-rw-      327680 /dev/ram10

  # Host (e.g /dev/sde)
    $ sudo mkfs.ext4 /dev/sdx
    $ sudo mount /dev/sdx /workspace/mnt

  #   Part of `df -h`
    /dev/sdx        292K   24K  248K   9% /workspace/mnt

  #   dmesg (/dev/sdd, /dev/sde)
    [1116587.199896] usb 1-10: new full-speed USB device number 122 using xhci_hcd
    [1116587.369226] usb 1-10: New USB device found, idVendor=584e, idProduct=5342, bcdDevice= 3.99
    [1116587.369231] usb 1-10: New USB device strings: Mfr=1, Product=2, SerialNumber=3
    [1116587.369232] usb 1-10: Product: Mass Storage
    [1116587.369233] usb 1-10: Manufacturer: NuttX
    [1116587.369234] usb 1-10: SerialNumber: 0101
    [1116587.385275] usb-storage 1-10:1.0: USB Mass Storage device detected
    [1116587.385526] scsi host5: usb-storage 1-10:1.0
    [1116588.423335] scsi 5:0:0:0: Direct-Access     NuttX    Mass Storage     0101 PQ: 0 ANSI: 2
    [1116588.423746] scsi 5:0:0:1: Direct-Access     NuttX    Mass Storage     0101 PQ: 0 ANSI: 2
    [1116588.424001] sd 5:0:0:0: Attached scsi generic sg3 type 0
    [1116588.424181] sd 5:0:0:1: Attached scsi generic sg4 type 0
    [1116588.424305] sd 5:0:0:0: [sdd] Unsupported sector size 256.
    [1116588.425336] sd 5:0:0:1: [sde] 640 512-byte logical blocks: (328 kB/320 KiB)
    [1116588.638620] sd 5:0:0:1: [sde] Write Protect is off
    [1116588.638624] sd 5:0:0:1: [sde] Mode Sense: 0f 00 00 00
    [1116588.858793] sd 5:0:0:0: [sdd] 0 512-byte logical blocks: (0 B/0 B)
    [1116588.858797] sd 5:0:0:0: [sdd] 256-byte physical blocks
    [1116589.078698] sd 5:0:0:0: [sdd] Write Protect is off
    [1116589.078702] sd 5:0:0:0: [sdd] Mode Sense: 0f 00 00 00
    [1116589.298629] sd 5:0:0:0: [sdd] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
    [1116589.298903] sd 5:0:0:0: [sdd] Attached SCSI disk
    [1116589.518626] sd 5:0:0:1: [sde] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
    [1116589.972872] sd 5:0:0:1: [sde] Attached SCSI disk
    [1116644.299819] EXT4-fs (sde): mounted filesystem d4e18b90-b0c3-4a0f-8969-2493a41c5e02 r/w without journal. Quota mode: none.

Copy from boards/arm/rp2040/common/src/rp2040_usbmsc.c

Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2024-11-27 13:30:44 -03:00
YAMAMOTO Takashi
925573da2a esp32s3-devkit/toywasm: use littlefs 2.9.3
I chose this config because I have a hardware and I occasionally
use littlefs on its flash.
2024-11-27 02:56:52 +08:00
wangjianyu3
c2228c39ac esp32s3-devkit/txtable: Initializing configuration for TXTABLE
USB ADB is enabled - Based on esp32s3-devkit/adb

Build

  ./tools/configure.sh -l esp32s3-devkit:txtable
  make -j16
  make flash ESPTOOL_PORT=/dev/ttyACMx

Test

  $ adb -s 1234 shell
  nsh> cat /etc/txtable.txt
  TXTABLE0
  data 0x100000 0
  nsh> ls -l /dev/data
   frw-rw-rw-     1044480 /dev/data
  nsh>

Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2024-11-27 02:45:44 +08:00
wangjianyu3
57595a7937 boards/xtensa/esp32s3: Add TXTABLE support for esp32s3
TXTABLE - Text based Partition Table

  https://github.com/apache/nuttx/pull/9936
  https://nuttx.apache.org/docs/latest/components/filesystem/partition.html#text-based-partition-table

Configuration

  + CONFIG_TXTABLE_PARTITION=y

The backup text partition table

  + CONFIG_TXTABLE_DEFAULT_PARTITION=1

  nsh> cat /etc/txtable.txt
  TXTABLE0
  data 0x100000 0

Update txtable at runtime

  dd if=/dev/zero of=/dev/txtable
  cat /etc/txtable.txt > /dev/txtable

Runtime - Partition devices "data" and "txtable" were registered

  # /dev/data    - The partition descirbed by txtable
  # /dev/txtable - Mapping to the last eraseblock of MTD

  nsh> ls -l /dev/
  /dev:
   dr--r--r--           0 adb0/
   crw-rw-rw-           0 console
   frw-rw-rw-     1044480 data
   frw-rw-rw-     1048576 esp32s3flash
   c-w--w--w-           0 log
   crw-rw-rw-           0 null
   crw-rw-rw-           0 ptmx
   dr--r--r--           0 pts/
   brw-rw-rw-        1024 ram0
   crw-rw-rw-           0 ttyS0
   frw-rw-rw-        4096 txtable
   crw-rw-rw-           0 zero

Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2024-11-27 02:45:44 +08:00
wangjianyu3
5fabe091f3 boards/xtensa/esp32s3: Treat return value that greater than zero as succ
board_spiflash_init() => init_storage_partition() => parse_mtd_partition()
`parse_mtd_partition()` may return value that greater than zero when succ

Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2024-11-26 16:33:26 +08:00
wangjianyu3
ccefe43149 esp32s3-devkit/adb: Enable ROMFS/etc for ADB auto start
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2024-11-22 13:28:44 -03:00
wangjianyu3
9e08bb2d25 esp32s3-devkit: Add initialize scripts for ROMFS/etc
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2024-11-22 13:28:44 -03:00
wangjianyu3
385de9d850 esp32s3-devkit/adb: Reusing configuration of usb_device
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2024-11-22 13:28:44 -03:00
wangjianyu3
9a63f9a881 esp32s3-devkit/adb: Initializing configuration for ADB
Build & Flash

  ./tools/configure.sh -l esp32s3-devkit:adb
  make -j16
  make flash ESPTOOL_PORT=/dev/ttyACMx

Runtime

  $ adb -s 1234 shell
  nsh> uname -a
  NuttX 0.0.0  Nov 22 2024 11:41:43 xtensa esp32s3-devkit

Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2024-11-22 13:28:44 -03:00
zhangyuan29
b524179572 xtensa/esp32: Remove duplicate board Make.defs
$(TOPDIR)/Make.defs was already include in common/Makefile.

Signed-off-by: zhangyuan29 <zhangyuan29@xiaomi.com>
2024-11-20 02:07:10 +08:00
Alin Jerpelea
4ef01d98d5 boards/xtensa/esp32s3: migrate to SPDX identifier
Most tools used for compliance and SBOM generation use SPDX identifiers
This change brings us a step closer to an easy SBOM generation.

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2024-11-12 22:20:59 +08:00
Alin Jerpelea
d6b299396d boards/xtensa/esp32s2: migrate to SPDX identifier
Most tools used for compliance and SBOM generation use SPDX identifiers
This change brings us a step closer to an easy SBOM generation.

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2024-11-12 22:20:59 +08:00
Alin Jerpelea
84f2fe05c1 boards/xtensa/esp32: migrate to SPDX identifier
Most tools used for compliance and SBOM generation use SPDX identifiers
This change brings us a step closer to an easy SBOM generation.

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2024-11-12 22:20:59 +08:00
Eren Terzioglu
3f77e97b03 esp32[s2|s3]: Add SPI bitbang support 2024-11-06 19:47:42 +08:00
Xiang Xiao
c5381c3eb2 Replace __attribute__((packed)) with [begin|end]_packed_struct
since the different compiler express the packed structure in the different way
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2024-11-03 10:20:38 +08:00
Eren Terzioglu
3796f56748 esp32[s2|s3]: Add I2C bitbang support 2024-11-01 11:41:46 -03:00
Tiago Medicci Serrano
a63c807353 esp32s3: Increase the init task stask size when using NSH
After recent changes on nuttx-apps (not limited to, but related
to nuttx-apps#2738, for instance), the stack usage for the NSH
task increased, causing stack overflows under specific situations
(when running `ps` command, for instance). This commit increases
the init task stack size to avoid it. Please note that, even before
these changes, the stack usage of the NSH task was around 90% and,
then, increasing the stack size of it was recommended.
2024-10-25 00:53:21 +08:00
cuiziwei
7bf6325de6 Fix xtensa build error with choice LIBSUPCXX by default.
Signed-off-by: cuiziwei <cuiziwei@xiaomi.com>
2024-10-24 21:33:20 +08:00
Tiago Medicci Serrano
d1fd1ed8f6 boards/esp32s3: Merge MCUboot and "simple-boot" linker scripts
To make it easier to keep the linker scripts updated for both
MCUboot and "simple-boot", this commit merges them into a single
linker script with macros to enable/disable specific sections.
2024-10-23 22:26:39 +08:00
jihandong
444ba4caa4 libcxx: optional localization.
Signed-off-by: jihandong <jihandong@xiaomi.com>
Signed-off-by: cuiziwei <cuiziwei@xiaomi.com>
2024-10-19 14:34:38 +08:00
Marco Casaroli
22800d6ea2 fix(esp32-devkit): rename defconfig to use _ 2024-10-13 11:19:51 +08:00
Marco Casaroli
027e5ab763 fix(esp32-qemu): enable legacy esp-idf build
The current simple boot method is not working with qemu.

We enable this option for now until we can make the simple-boot
image boot with QEMU.
2024-10-13 11:19:51 +08:00
Marco Casaroli
4741f6f561 feat(esp32s3-devkit): add qemu defconfig 2024-10-13 11:19:51 +08:00
Marco Casaroli
d2d653aebf feat(esp32s3-devkit): initialize opencores eth mac 2024-10-13 11:19:51 +08:00
Marco Casaroli
890bdcd3d3 feat(esp32s3-devkit): add qemu image option 2024-10-13 11:19:51 +08:00
Marco Casaroli
d5b32f0335 feat(esp32_openeth): move to common/espressif
Since this will be used for esp32s3 also, we can have this in
common/espressif.
2024-10-13 11:19:51 +08:00
Eren Terzioglu
4060f6ba80 esp32[s2|s3]: Add UORB support for internal temperature sensor 2024-10-10 18:45:01 +08:00
anjiahao
9ed93c6b1e unify MODULE & ELF flag to Toolchain.defs
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2024-10-08 19:56:33 +08:00
nuttxs
c0403ed768 1.xtensa/esp32s3: configure the number of universal management
(IEEE) MAC addresses when there are multipleinterfaces.
2.Optimize Lan9250 to adapt to ESP32S3 universalMAC address.
2024-09-28 11:47:24 +08:00
Tiago Medicci Serrano
cdeb720bf8 xtensa/esp32[|s2|s3]: Fix task backtrace dump
- Fix `MAKE_PC_FROM_RA` macro to consider the instruction region
base address;
- Add sanity check for calculated PC and SP registers;
- Check if the stack pointer is within the interrupt stack to
enable backtrace dump if an exception occurs during the ISR;
2024-09-23 20:40:58 +08:00
Tiago Medicci Serrano
72acec7275 esp32s3: Fix faulty esp32s3-devkit:stack example
This defconfig is an example of the recorded stack and it became
faulty recently after the implementation of the `up_current_regs`
functions. The `noinstrument_function` directive must be used for
preventing it from being looped when instrumentation is enabled.
Also, this commit places `sched/instrument/stack_record.c` in IRAM.
2024-09-21 10:42:06 +08:00
wangjianyu3
1fabad67ec lilygo_tbeam_lora_gps/gps: Enable GNSSUTILS_MINMEA_LIB for EXAMPLES_GPS
Log:
  ./gps_main.c:33:10: fatal error: minmea/minmea.h: No such file or directory
     33 | #include <minmea/minmea.h>
        |          ^~~~~~~~~~~~~~~~~
  compilation terminated.
  ERROR: xtensa-esp32-elf-gcc failed: 1
         command: xtensa-esp32-elf-gcc -MT ./gps_main.c.github.workspace.sources.apps.examples.gps.o  -M '-fno-common' '-Wall' '-Wstrict-prototypes' '-Wshadow' '-Wundef' '-Wno-attributes' '-Wno-unknown-pragmas' '-Wno-psabi' '-Os' '-fno-strict-aliasing' '-fomit-frame-pointer' '-ffunction-sections' '-fdata-sections' '-mlongcalls' '-isystem' '/github/workspace/sources/nuttx/include' '-D__NuttX__' '-DNDEBUG' '-D__KERNEL__' '-Wno-cpp' '-Werror' '-I' '/github/workspace/sources/apps/include' ./gps_main.c
  gps_main.c:33:10: fatal error: minmea/minmea.h: No such file or directory
     33 | #include <minmea/minmea.h>
        |          ^~~~~~~~~~~~~~~~~
  compilation terminated.

Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2024-09-19 22:13:42 +08:00
Jorge Guzman
e3dabcd999 boards/esp32s3: add support to esp32s3-lhcbit board
The esp32s3-lhcbit is a board with lora, sdcard, display TFT, etc.

Signed-off-by: Jorge Guzman jorge.gzm@gmail.com
2024-09-17 01:30:44 +08:00
YAMAMOTO Takashi
0078896456 esp32: fix a way to test a config
found by GCC -Wundef
2024-09-09 10:48:09 +02:00
yinshengkai
cec3b5c0fb boards: Add TLS_NELEM dependency to libcxxabi
Refresh all defconfig

Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2024-09-06 09:52:33 +08:00
Filipe Cavalcanti
2af7037fa1 xtensa/esp32s2: add WiFi support on ESP32S2 2024-09-06 09:46:59 +08:00
fangxinyong
7b05a550dc sched: replace up_cpu_index with this_cpu
Make this_cpu is arch independent and up_cpu_index do that.
In AMP mode, up_cpu_index() may return the index of the physical core.

Signed-off-by: fangxinyong <fangxinyong@xiaomi.com>
2024-09-05 12:09:24 +08:00
Filipe Cavalcanti
29ae9d1110 esp32s2: fix SPI flash and file system mounting
Copied spi flash files from risc-v
Removed old spiflash from make.defs
KConfig modifications for common spiflash
Added new spiflash entry to make.defs
S2 Board config update
Modifications working on S2. Need fix on ROM function
Board fixes
Deleted old spiflash files
Fixes for smartfs operation
Set new HAL version
Fixed wrong change on S3
2024-09-03 19:13:46 -03:00
YAMAMOTO Takashi
53795fd497 esp32: enable smp for esp32-devkitc:psram_usrheap config 2024-09-02 10:24:26 -03:00
YAMAMOTO Takashi
96f19aa719 esp32: enable smp for esp32-devkitc:psram config 2024-09-02 10:24:26 -03:00
guoshichao
4c01594d5b nuttx: remove the unnecessary -pipe build option
Signed-off-by: guoshichao <guoshichao@xiaomi.com>
2024-08-31 10:22:20 +08:00
Tiago Medicci Serrano
a916de0e14 espressif: Update HAL library reference to include debug assert
During the board bringup, the new HAL reference includes an assert
to check if the critical section flags is being stored as expected.
2024-08-30 21:41:47 +08:00
Tiago Medicci Serrano
a763ed1e07 espressif: Fix build with RTC
This commit ensures that RTC data is properly allocated in the RTC
segment in the linker. This fixes the reported problem about using
the legacy bootloader and RTC.
2024-08-29 09:05:17 +08:00
Felipe Moura
37e1f5db47 Add spi slave dev to esp32 xtensa 2024-08-29 01:01:04 +08:00