zhangyuan21
514e77b75e
semaphore: Optimize priority inheritance with only one holder
...
This PR is a modification that optimizes priority inheritance
for only one holder. After the above modifications are completed,
the mutex lock->unlock process that supports priority inheritance
can be optimized by 200 cycles.
Before modify: 2000 cycle
After modify: 1742 cycle
Signed-off-by: zhangyuan21 <zhangyuan21@xiaomi.com>
2023-06-17 08:26:46 +03:00
Lucas Saavedra Vaz
fa5db655cd
boards/xtensa/esp32s3-devkit: Revert NSH defconfig deletion
...
Restore the NSH defconfig
2023-06-16 14:35:18 -03:00
Xiang Xiao
275db394bc
boards/sim: Enable fdcheck and fdsan in kasan config
...
to improve the ci build coverage
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-06-16 08:31:16 +03:00
Dong Heng
d492823128
xtensa/esp32s3: Add USB OTG device driver
2023-06-14 18:04:27 -03:00
SPRESENSE
1e7f5e8aa8
boards: spresense: Add Power domain definitions
...
Add power domain definitions for using PM System.
2023-06-14 08:49:19 +02:00
SPRESENSE
b1f3d5e573
arm/cxd56xx: Fix build error in CONFIG_PM=y
2023-06-14 08:49:19 +02:00
yanghuatao
29a336d6a8
sched/tls: remove PTHREAD_CLEANUP from Kconfig
...
use PTHREAD_CLEANUP_STACKSIZE to enable or disable interfaces pthread_cleanup_push() and pthread_cleanup_pop().
reasons:(1)same as TLS_TASK_NELEM (2)it is no need to use two variables
Signed-off-by: yanghuatao <yanghuatao@xiaomi.com>
2023-06-14 12:00:48 +08:00
zhangyuan21
4033a4a2a4
boards: remove unnecessary FAR
...
Signed-off-by: zhangyuan21 <zhangyuan21@xiaomi.com>
2023-06-13 09:37:45 -03:00
zhangyuan21
6c38c44af2
assert: add regs parameter to board_crashdump function
...
Signed-off-by: zhangyuan21 <zhangyuan21@xiaomi.com>
2023-06-13 09:42:27 +08:00
Masayuki Ishikawa
a85c87436e
boards: rv-virt: Add netnsh64_smp to test virtio
...
Summary:
- This commit adds netnsh64_smp to test virtio
Impact:
- None
Testing:
- Tested with qemu-7.1
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2023-06-12 08:17:38 +02:00
Masayuki Ishikawa
08da38b535
boards: Enable md5 to test virtio
...
Summary:
- This commit enables md5 to test virtio
Impact:
- None
Testing:
- Tested with qemu-7.1
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2023-06-11 22:54:06 +08:00
Petro Karashchenko
dcd26ac6b2
sdcard: update sdcard detection to avoid 0xff assignment to bool type
...
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2023-06-11 12:55:29 +08:00
SPRESENSE
acb3ac95da
configs/lte: Update defconfig
...
Update defconfig regarding ALT1250 driver update.
2023-06-08 07:48:17 +02:00
SPRESENSE
54112ac070
drivers/modem/alt1250: Update alt1250 driver
...
Updated alt1250 driver with regarding to the following changes.
- Add LTE hibernation feature
- Split source code per module
- Some refactoring
- Some bug fixes
2023-06-08 07:48:17 +02:00
Ville Juven
159a4f83d6
mpfs/icicle: Enable KMM_MAP for knsh
...
This also removes kconfig warning:
Normalize icicle/knsh
.config:248:warning: symbol value '' invalid for ARCH_KMAP_VBASE
.config:248:warning: symbol value '' invalid for ARCH_KMAP_VBASE
2023-06-07 21:04:57 +08:00
GD32-MCU
fdfc25cf56
add sdio driver for GD32F4
2023-06-07 16:43:55 +08:00
Ville Juven
0a9279f672
MPFS: Use NuttX SBI for Kernel mode
2023-06-07 01:48:15 +08:00
Lucas Saavedra Vaz
81cfd73770
board/xtensa/esp32-devkitc: Add nxdiag config
...
Adds defconfig that enables nxdiag with relevant options for the ESP32-DevKitC. Also updates the board documentation.
2023-06-03 13:20:01 +08:00
Petro Karashchenko
cddc558bb5
sim/ostest: enable priority inheritance testing
...
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2023-06-02 20:08:33 -03:00
Masayuki Ishikawa
766e0a3b05
boards: Enable NFS to test virtio-mmio-net
...
Summary:
- This commit enables NFS to test virtio-mmio-net
Impact:
- None
Testing:
- Tested with qemu-7.1
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2023-06-02 16:28:34 +08:00
Tiago Medicci Serrano
223c5a3722
xtensa/esp32_esp32s2_esp32s3: enable syslog bufferring
...
By enabling the syslog buffering on xtensa-based devices, it's
possible to ensure concurrent tasks will not mess with the syslog
messages.
2023-06-02 10:17:54 +08:00
raiden00pl
235e0e92a8
boards/nrf52-feather: fix typo in I2C1 initialization
2023-06-01 18:34:54 +03:00
Alexander Merkle
c661e26e86
board: add CortexR52 FVP AEMv8R platform
...
see board/arm/fvp-v8r-aarch32/fvp-armv8r-aarch32/scripts/readme.txt
Port is highly based on fvp-v8r AARCH32 port.
2023-06-01 09:51:03 -03:00
Xiang Xiao
b63b83396b
sim/kasan: Enable mempool and backtrace
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-06-01 08:19:04 +03:00
Xiang Xiao
905867d38c
sim/adb: Enable tlfs, mempool and backtrace
...
to improve the build coverage
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-06-01 08:19:04 +03:00
Ville Juven
223cc6d1f4
mpfs/corespi: Add driver for CoreSPI
...
Adds a driver for an FPGA fabric / CoreSPI implementation.
Supports multiple instances, assuming they reside in some base address,
offsettable by a constant value.
2023-05-31 15:52:56 -03:00
raiden00pl
58ad290b0e
boards/nrf5340-dk: add MCUboot configurations for the app core
...
Added configurations:
- mcuboot_loader_cpuapp - MCUboot loader
- mcuboot_app_cpuapp - MCUboot compatible application.
Needs to be signed manually:
imgtool.py sign nuttx.hex nuttx_img.hex --align 8 -v 1.0.0 -H 0x200 -S 0x70000 --pad-header --pad
2023-05-31 23:12:21 +08:00
raiden00pl
d0942f5cb3
nrf53: add MCUboot support
2023-05-31 23:12:21 +08:00
raiden00pl
ebfd0b22f9
boards/nrf53: unify linker scripts
...
Unify linker scripts:
- use the same name for linker scripts
- merge RPTUN linker scripts with standard linker scripts
2023-05-31 23:12:21 +08:00
raiden00pl
37cdfeed9b
boards/nrf52840-dk: add MCUboot configurations
...
Added configurations:
- mcuboot_loader - MCUboot loader
- mcuboot_app - MCUboot compatible application.
Needs to be signed manually:
imgtool.py sign nuttx.hex nuttx_img.hex --align 8 -v 1.0.0 -H 0x200 -S 0x30000 --pad-header --pad
2023-05-31 10:44:08 +08:00
raiden00pl
3c0ce99c01
boards/nrf52832-dk: add MCUboot configurations
...
Added configurations:
- mcuboot_loader - MCUboot loader
- mcuboot_loader_minimal - MCUboot loader optimised for FLASH usage.
Further optimization can be achieved by CONFIG_LTO_FULL=y.
- mcuboot_app - MCUboot compatible application.
Needs to be signed manually:
imgtool.py sign nuttx.hex nuttx_img.hex --align 8 -v 1.0.0 -H 0x200 -S 0x30000 --pad-header --pad
2023-05-31 10:44:08 +08:00
raiden00pl
1facea635b
nrf52: add MCUboot support
2023-05-31 10:44:08 +08:00
raiden00pl
4650c9f756
Documentation: move boards/nrf52 readmes to Documentation
2023-05-30 19:25:30 -07:00
raiden00pl
da4c7703db
Documentation: move boards/nrf53 readmes to Documentation
2023-05-30 19:25:30 -07:00
Eero Nurkkala
a0bde84c9a
risc-v/mpfs: integrate fpga i2c driver
...
This incorporates an fpga i2c driver into the existing i2c driver.
This fpga i2c works almost 100% as the MSS i2c, but the difference
is that the fpga driver terminates all transactions with a stop
sent -interrupt. That needs to be handled.
Fpga clock source is also different, act accordingly.
SEC2TICK(10) is an overkill to any app, use just one second instead.
modifyreg32s are simplified as well, no need to clear and set
as set is enough.
Signed-off-by: Eero Nurkkala <eero.nurkkala@offcode.fi>
2023-05-29 20:45:01 +08:00
Michal Lenc
f4d409b3e5
boards/samv7/common: add type member to mtd_partition_s structure
...
Board related code may use different mounts for MTD device (block
character for one, SmartFS for another) if required by the board.
Additional type member was therefore added to mtd_partition_s structure
in order to support this.
Signed-off-by: Michal Lenc <michallenc@seznam.cz>
2023-05-29 13:50:34 +03:00
Roberto Bucher
547e0a051f
DIR/Complementary PWM possible on PE08 and PE10
2023-05-27 20:22:01 -03:00
Roy Feng
bcd776b2a7
Fix build issues for ESP32 SoftAP mode
2023-05-27 23:54:55 +09:00
Lucas Saavedra Vaz
5f1dca63ae
arch/xtensa/esp32: Add missing SPI Flash ROM functions
...
Add missing ROM functions and clear source files
2023-05-27 03:16:20 +08:00
raiden00pl
b9f9ba2600
boards/nrf52840-dongle: add usb support and usbnsh example
...
This board is designed to work as a USB dongle, from now it is possible.
2023-05-27 03:15:40 +08:00
raiden00pl
e06ce27f56
boards/nrf5340-dk: add mx25 memory support
...
From now on-board QSPI memory is supported.
2023-05-25 22:41:34 +08:00
chao an
6f87bcc9ac
sabre-6quad/coredump: add coredump config to enable ci check
...
How to setup coredump ?
1. Build config coredump:
$ ./tools/configure.sh ./boards/arm/imx6/sabre-6quad/configs/coredump
$ make
2. Run qemu and get the coredump snapshot:
$ qemu-system-arm -semihosting -M sabrelite -m 1024 -smp 4 -nographic -kernel ./nuttx -s
ABCDGHIJKNOPQ
NuttShell (NSH) NuttX-10.4.0
nsh> coredump
[CPU0] [ 6] Start coredump:
[CPU0] [ 6] 5A5601013D03FF077F454C4601010100C0000304002800C00D003420036000070400053400200008200A4000000420030034C024200001D8092004E00200601A
[CPU0] [ 6] 060C0000E85D831040030018200E400300072003403C601F06100000F8518310400340574003E0041F00142003025683106003A000E0081F005A201B4003A000
[CPU0] [ 6] E0071F03987F831040030060200E4003E0041F209003288A8310400300B820104003E0041F061C0000D09283104003609C2003C01F00202006007C2003000320
[CPU0] [ 6] 0308435055302049444C45200BE02700E0333BE01B0040A70094200340CFE0576BE0070040730006200340000424A782101420030474A482102020074137400B
[CPU0] [ 6] 0030200B4027422309F51880108E8A80107F0161AA600040BFE102670031E01FBF4053E00300E0233BE02B0040A7E10267E02C6B403BE05700436B019319A167
[CPU0] [ 6] 200F20005A560100A703FF010000200000202003007C20030003200308435055322049444C45200BE0170000022003E00300E0233BE02B0040A7009420030001
[CPU0] [ 6] 2003E02F6BE007B3E04C00025683102005E0080040BFE102670033E01FBF402FE00300E0233BE02B0040A7E10267E02C6BE007B3E04C00005AE1196706687077
[CPU0] [ 6] 6F726B00E01CBF00042003E00300A03BE0500040A7C167A06BE01CA7E00300E007B3E0170042FF05BC748310785C213B00005A560100F303FF0A000074A48210
[CPU0] [ 6] 38748310242007010100E00D0008987F8310998C8010A4200303FF000020201260004008007C200300032003076E73685F6D61696E200AE0180000052003E003
[CPU0] [ 6] 00E0233BE02B0040A70094200340DFE02F6BE007B3E0170000022003078480831088998310200A0200F08E2007200FC1674003400004CC8A8310042007006420
[CPU0] [ 6] 030028200BE1176707636F726564756D70200AE0180000062003E00300E0233BE02B0040A7C167E02F6BE007B3E017000BDC458310E0988310780A0000415B03
[CPU0] [ 6] 6C9A8310416B408B4133408F01788F217BA000405F00B0202F02EB21816003035F0000602012E0EB000100005A5601002103FF0E000000005E831000A27C3F00
[CPU0] [ 6] 005080200DE0FF00E0FF00E0FF00E0CA000100005A5601001203FF010000E0FF00E0FF00E0FF00E0DA000100005A5601005403FF01000020000838748310D037
[CPU0] [ 6] 8310DF200B0487328010C8200B400F400720120000400B00AB2017005F200B04432B80101520030002200B0101012004E00600028137806033E0FF00E0FF00E0
[CPU0] [ 6] FF00E083000100005A560100F203FF010000600007808310BC8F8310DF200A088732801084FFFFFFA0200F0006200F04848A83105F200704E92D8110F1200340
[CPU0] [ 6] 1303108C8310202200FF200A0900988E8310FD248010F7A01B061BD3801054AC826033C0004023403304CDD2801001200FE00300030FA2801020061200C15080
[CPU0] [ 6] 103081821089678010A18E8310B35CE0092B400F0333EC8010404F4003200EE0640040C34003407B0D08F781107F7B801071F28010A99480C340000291938060
[CPU0] [ 6] 2340AB4003400B05A1928010F883E005AF01F99080DF40174003009DA00F00642003400F0071A00F013F692063200B018D37E00163E0FF00E0FF00E02E000100
[CPU0] [ 6] 005A5601003A03FF010000600003589083102006E0080001F092801707636F726564756D70200A600003EFBEADDEE0FF03E0FF03E0FF03E01B032342E07A0001
[CPU0] [ 6] 00005A560101C003FF010000E095000BF08E83100927801054AC8210400B201201005F2003400BE00717E0CB0040DBE007E7E00FFF40170055200F0043201720
[CPU0] [ 6] 0A6023401F4017400006111D8010207183600F047D40831018200B4023E003470794818210D91A8010E0174701E43FE00173403306F49A8310DF4C8160170448
[CPU0] [ 6] 99831041201704CE1F841002200704CD3F81100C2007049D34811040201B200A05002EF781106C200B008D200B001D201F05893E81107978806F000A200300D8
[CPU0] [ 6] 204F01D57B800F00882027400300F1E0020F009F202B40434027C06B122F798010789B8310F803000008040000C89683600F04277A80108C200700BC2037202A
[CPU0] [ 6] 01008F202B20060200D092200F000820082003006C20470730A7821000FCFFFF201160000533208110D0072008201F410340230020202301B12220BB200B2019
[CPU0] [ 6] 010006200301992420DF0323000001200B01001C805740034037400340420000208F60000504000534002040166000046BE88110F0213F200A000040AB00FF20
[CPU0] [ 6] 0000E120E7400B020B188160174000400F201A00FF402B048517811065200340FB201260B000FD203303F7528110408300A9A00700E84083E00200033F698010
[CPU0] [ 6] 401B018D37814720005A5601000800090100006000010000
[CPU0] [ 6] Finish coredump (Compression Enabled).
3. Copy the hex body and save to file:
$ cat elf.dump
[CPU0] [ 6] 5A5601013D03FF077F454C4601010100C0000304002800C00D003420036000070400053400200008200A4000000420030034C024200001D8092004E00200601A
...
[CPU0] [ 6] 401B018D37814720005A5601000800090100006000010000
4. Run tools/coredump.py to convert hex dump to elf coredump:
$ ./tools/coredump.py elf.dump
Chunk #1 is compressed, 317 bytes (original size: 1023 bytes)
...
Chunk #10 is compressed, 8 bytes (original size: 9 bytes)
$ ls elf.core
elf.core
5. Pass core(elf.core) and bin elf(nuttx) to gdb:
!!(Toolchain(arm-none-eabi-gdb) version must be newer than 11.3) !!
$ arm-none-eabi-gdb -c elf.core nuttx
GNU gdb (Arm GNU Toolchain 11.3.Rel1) 12.1.90.20220802-git
...
Reading symbols from nuttx...
[New process 6]
[New process 1]
[New process 2]
[New process 3]
[New process 4]
[New process 5]
[New process 6]
Core was generated by `'.
#0 0x10808a8e in up_idle () at chip/imx_idle.c:61
61 }
[Current thread is 1 (process 6)]
(gdb)
(gdb) info thread
Id Target Id Frame
* 1 process 6 0x10808a8e in up_idle () at chip/imx_idle.c:61
2 process 1 0x10808a8e in up_idle () at chip/imx_idle.c:61
3 process 2 0x00000000 in ?? ()
4 process 3 0x00000000 in ?? ()
5 process 4 up_switch_context (tcb=0x1082a474 <g_idletcb>, rtcb=rtcb@entry=0x10837438) at common/arm_switchcontext.c:95
6 process 5 up_switch_context (tcb=0x10838ef0, rtcb=rtcb@entry=0x10838000) at common/arm_switchcontext.c:95
7 process 6 elf_emit_tcb_note (cinfo=0x10839a6c, tcb=0x10838ef0) at libelf/libelf_coredump.c:272
(gdb) thread 6
[Switching to thread 6 (process 5)]
#0 up_switch_context (tcb=0x10838ef0, rtcb=rtcb@entry=0x10838000) at common/arm_switchcontext.c:95
95 arm_switchcontext(&rtcb->xcp.regs, tcb->xcp.regs);
(gdb) bt
#0 up_switch_context (tcb=0x10838ef0, rtcb=rtcb@entry=0x10838000) at common/arm_switchcontext.c:95
#1 0x10803286 in nxsem_wait (sem=0x10838fbc) at semaphore/sem_wait.c:176
#2 0x10812de8 in nxsched_waitpid (pid=pid@entry=6, stat_loc=stat_loc@entry=0x10838a84, options=options@entry=4) at sched/sched_waitpid.c:169
#3 0x10812df6 in waitpid (pid=pid@entry=6, stat_loc=stat_loc@entry=0x10838a84, options=options@entry=4) at sched/sched_waitpid.c:639
#4 0x1080d31a in nsh_builtin (vtbl=vtbl@entry=0x10838c10, cmd=0x10838e98 <error: Cannot access memory at address 0x10838e98>, argv=argv@entry=0x10838adc, redirfile=redirfile@entry=0x0, oflags=oflags@entry=0) at nsh_builtin.c:162
#5 0x1080a20e in nsh_execute (oflags=0, redirfile=0x0, argv=0x10838adc, argc=1, vtbl=0x10838c10) at nsh_parse.c:641
#6 nsh_parse_command (vtbl=vtbl@entry=0x10838c10, cmdline=<optimized out>) at nsh_parse.c:2742
#7 0x1080a510 in nsh_parse (vtbl=vtbl@entry=0x10838c10, cmdline=cmdline@entry=0x10838e98 <error: Cannot access memory at address 0x10838e98>) at nsh_parse.c:2826
#8 0x10809390 in nsh_session (pstate=0x10838c10, login=login@entry=1, argc=argc@entry=1, argv=argv@entry=0x108383f8) at nsh_session.c:245
#9 0x108090f8 in nsh_consolemain (argc=argc@entry=1, argv=argv@entry=0x108383f8) at nsh_consolemain.c:71
#10 0x1080909c in nsh_main (argc=1, argv=0x108383f8) at nsh_main.c:74
#11 0x1080693e in nxtask_startup (entrypt=0x10809071 <nsh_main>, argc=1, argv=0x108383f8) at sched/task_startup.c:70
#12 0x1080378c in nxtask_start () at task/task_start.c:134
#13 0x00000000 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Signed-off-by: chao an <anchao@xiaomi.com>
2023-05-25 20:42:04 +08:00
chao an
86bf7d9bec
sched/misc: Add support for coredump in assert
...
Add coredump support to collect the stacks and registers of all threads when asserting
Signed-off-by: chao an <anchao@xiaomi.com>
2023-05-25 20:42:04 +08:00
Michael Jung
efa2a95163
Update stm32l562e-dk:nsh
...
- Update TrustedFirmare-M instructions to latest version of STM32CubeL5
- Increase idle thread stack size to not overflow during system init
- Select ARCH_HAVE_TRUSTZONE for STM32L5
- Set CONFIG_ARCH_TRUSTZONE_NONSECURE for stm32l562e-dk:nsh, since NuttX
is running in the Non-secure world.
See https://github.com/apache/nuttx/issues/9316
Signed-off-by: Michael Jung <michael.jung@secore.ly>
2023-05-25 16:04:30 +08:00
raiden00pl
7cf52139e8
boards/stm32f0l0g0: rework boards to not use CONFIG_STM32F0L0G0_USE_LEGACY_PINMAP=y
...
Continuation to PR #8992
2023-05-24 22:30:45 +08:00
raiden00pl
934602b76e
boards/thingy53: add usb example
...
The board can act as an USB composite device. For now CDCACM and RNDIS are supported.
2023-05-24 09:54:55 +08:00
raiden00pl
04fa008018
boards/nrf5340-dk: add usb example
...
The board can act as an USB composite device. For now CDCACM and RNDIS are supported.
2023-05-24 09:54:55 +08:00
Tiago Medicci Serrano
1bc4b8d7b2
esp32s3/wifi: enable SMP by default on Wi-Fi-related defconfigs
...
In order to enhance the Wi-Fi performance, enable SMP by default to
make use of the dual-core functionality of the ESP32-S3.
2023-05-24 00:37:46 +08:00
Tiago Medicci Serrano
63364a52ff
esp32s3/spiflash: pause other CPU before SPI flash operations
...
Whenever a SPI flash operation is going to take place, it's
necessary to disable both the instruction and data cache. In order
to avoid the other CPU (if SMP is enabled) to retrieve data from
the SPI flash, it needs to be paused until the current SPI flash
operation finishes. All the code that "pauses" the other CPU (in
fact, the CPU spins until `up_cpu_resume` is called) needs to run
from the instruction RAM.
2023-05-24 00:37:46 +08:00
raiden00pl
218aa63af3
boards/nrf53: introduce common folder
...
This is an initial step towards moving common logic for NRF53 boards into one place.
At this point, only initialization of the TIMER has been moved.
2023-05-24 00:04:28 +08:00