zhuyanlinzyl commented on pull request #5336:
URL: https://github.com/apache/incubator-nuttx/pull/5336#issuecomment-1039995268
hi @Ouss4 :
I just test this patch in Qemu, And add software interrupt (bit 29,
software interrupt 1) for esp32.
Now esp32-devkitc:nsh work fine.
```
zyl@zyl:~/nuttx$ qemu-system-xtensa -nographic -machine esp32 -smp 2 -drive
file=./nuttx.merged.bin,if=mtd,format=raw
==1256274==WARNING: ASan doesn't fully support makecontext/swapcontext
functions and may produce false positives in some cases!
Adding SPI flash device
ets Jul 29 2019 12:21:46
rst:0x1 (POWERON_RESET),boot:0x12 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0030,len:6604
ho 0 tail 12 room 4
load:0x40078000,len:14780
load:0x40080400,len:3792
entry 0x40080694
I (1015) boot: ESP-IDF v4.4 2nd stage bootloader
I (1030) boot: compile time 19:32:08
I (1050) boot: chip revision: 0
I (1065) boot.esp32: SPI Speed : 40MHz
I (1068) boot.esp32: SPI Mode : DIO
I (1070) boot.esp32: SPI Flash Size : 4MB
I (1092) boot: Enabling RNG early entropy source...
I (1124) boot: Partition Table:
I (1125) boot: ## Label Usage Type ST Offset Length
I (1128) boot: 0 factory factory app 00 00 00010000 00100000
I (1145) boot: End of partition table
I (1164) esp_image: segment 0: paddr=00010020 vaddr=3f400020 size=01aech (
6892) map
I (1208) esp_image: segment 1: paddr=00011b14 vaddr=3ffb1320 size=000dch (
220) load
I (1238) esp_image: segment 2: paddr=00011bf8 vaddr=40080000 size=0174ch (
5964) load
I (1282) esp_image: segment 3: paddr=0001334c vaddr=00000000 size=0cccch (
52428)
I (1393) esp_image: segment 4: paddr=00020020 vaddr=400d0020 size=0f2dch (
62172) map
I (1525) boot: Loaded app from partition at offset 0x10000
I (1529) boot: Disabling RNG early entropy source...
NuttShell (NSH) NuttX-10.2.0
nsh> ps
PID GROUP PRI POLICY TYPE NPX STATE EVENT SIGMASK STACK
COMMAND
0 0 0 FIFO Kthread N-- Ready 00000000 003040 Idle
Task
1 1 100 RR Task --- Running 00000000 002000
nsh_main
```
But in esp32-devkitc:smp crash in the CPU1 initialize
```
zyl@zyl:~/nuttx$ qemu-system-xtensa -nographic -machine esp32 -smp 2 -drive
file=./nuttx.merged.bin,if=mtd,format=raw
==1343754==WARNING: ASan doesn't fully support makecontext/swapcontext
functions and may produce false positives in some cases!
Adding SPI flash device
ets Jul 29 2019 12:21:46
rst:0x1 (POWERON_RESET),boot:0x12 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0030,len:6604
ho 0 tail 12 room 4
load:0x40078000,len:14780
load:0x40080400,len:3792
entry 0x40080694
I (1004) boot: ESP-IDF v4.4 2nd stage bootloader
I (1019) boot: compile time 19:32:08
I (1038) boot: chip revision: 0
I (1054) boot.esp32: SPI Speed : 40MHz
I (1056) boot.esp32: SPI Mode : DIO
I (1058) boot.esp32: SPI Flash Size : 4MB
I (1082) boot: Enabling RNG early entropy source...
I (1112) boot: Partition Table:
I (1114) boot: ## Label Usage Type ST Offset Length
I (1118) boot: 0 factory factory app 00 00 00010000 00100000
I (1134) boot: End of partition table
I (1152) esp_image: segment 0: paddr=00010020 vaddr=3f400020 size=08700h (
34560) map
I (1242) esp_image: segment 1: paddr=00018728 vaddr=3ffb3ce0 size=00100h (
256) load
I (1271) esp_image: segment 2: paddr=00018830 vaddr=40080000 size=01c58h (
7256) load
I (1319) esp_image: segment 3: paddr=0001a490 vaddr=00000000 size=05b88h (
23432)
I (1385) esp_image: segment 4: paddr=00020020 vaddr=400d0020 size=170d0h (
94416) map
I (1585) boot: Loaded app from partition at offset 0x10000
I (1587) boot: Disabling RNG early entropy source...
[CPU1] xtensa_appcpu_start 184
[CPU1] esp32_cpuint_initialize 719
[CPU1] xtensa_appcpu_start 207
[CPU1] xtensa_appcpu_start 227
[CPU1] xtensa_user_panic: User Exception: EXCCAUSE=0000 task: CPU1 IDLE
[CPU1] xtensa_dumpstate: CPU1:
[CPU1] xtensa_registerdump: PC: 400d5d71 PS: 00060530
[CPU1] xtensa_registerdump: A0: 80007c18 A1: 3ffb3ce0 A2: 00000000
A3: 3ffb0170
[CPU1] xtensa_registerdump: A4: 00400115 A5: 00000000 A6: 00000000
A7: 00000000
[CPU1] xtensa_registerdump: A8: 00000000 A9: 00000000 A10: 00000000
A11: 00000000
[CPU1] xtensa_registerdump: A12: 00000000 A13: 00000000 A14: 00000000
A15: 00000000
[CPU1] xtensa_registerdump: SAR: 00000000 CAUSE: 00000000 VADDR: 00000000
[CPU1] xtensa_registerdump: LBEG: 00000000 LEND: 00000000 LCNT: 00000000
[CPU1] xtensa_registerdump: TMP0: 00000000 TMP1: 00000000
[CPU1] xtensa_dumpstate: sp: 3ffb12e4
[CPU1] xtensa_dumpstate: IRQ stack:
[CPU1] xtensa_dumpstate: base: 3ffb0b84
[CPU1] xtensa_dumpstate: size: 00000800
[CPU1] xtensa_dumpstate: used: 000002ec
[CPU1] xtensa_stackdump: 3ffb12e0: 3f4001bc 00000000 3ffb1344 00000000
3ffNutbtShell3 (NSH)a NuttX-1b0.2.0
0 3ffb3100 3ffb1304 00000008
[CPU1] xtensa_stackdump: 3ffb1300: deadbeef 3ffb2498 0000ns0h> Ke0 3ffb0b84
3ffb0170 800d5116 3ffb1344 00000000
[CPU1] xtensa_stackdump: 3ffb1320: 3ffb3ab0 3f4001e8 00000000 3ffb02b0
3f400115 40080871 3ffb1364 00000000
[CPU1] xtensa_stackdump: 3ffb1340: 3ffb3ab0 800df504 3ffb3c50 00000000
3f400115 00040023 3ffb1384 3ffb3ab0
[CPU1] xtensa_stackdump: 3ffb1360: 00000012 800d5d71 3ffb3cd0 00000001
3ffb01ec deadbeef deadbeef deadbeef
[CPU1] xtensa_dumpstate: sp: 3ffb3ce0
[CPU1] xtensa_dumpstate: User stack:
[CPU1] xtensa_dumpstate: base: 3ffb3100
[CPU1] xtensa_dumpstate: size: 00000be0
[CPU1] xtensa_dumpstate: used: 00000270
[CPU1] xtensa_dumpstate: ERROR: Stack pointer is not within allocated stack
[CPU1] xtensa_stackdump: 3ffb3a80: deadbeef deadbeef deadbeef deadbeef
00000109 deadbeef deadbeef deadbeef
[CPU1] xtensa_stackdump: 3ffb3aa0: deadbeef deadbeef deadbeef deadbeef
400d5d71 00060530 80007c18 3ffb3ce0
[CPU1] xtensa_stackdump: 3ffb3ac0: 00000000 3ffb0170 3f400115 3f4005a1
3ff9eae0 3ff9eac9 800d5d71 3ffb3cd0
[CPU1] xtensa_stackdump: 3ffb3ae0: 00000001 3ffb01ec 20000000 000000e3
00060520 00000000 00000004 400e5b40
[CPU1] xtensa_stackdump: 3ffb3b00: fffffffc 00000000 400d4f28 400d4f57
0000001f 40080844 3ffb3ab0 3f4086f0
[CPU1] xtensa_stackdump: 3ffb3b20: 800d3b92 3ffb3b50 3ffb3c20 0000000a
fffffffc 00000000 00000000 00000003
[CPU1] xtensa_stackdump: 3ffb3b40: 800d422c 3ffb3b70 00000018 400e5b40
fffffffc 00000000 00000000 00000003
[CPU1] xtensa_stackdump: 3ffb3b60: 800e5b3a 3ffb3bf0 3ffb3c20 3f400115
3f323237 3ffb3bb0 3ffb3c00 3f4086f0
[CPU1] xtensa_stackdump: 3ffb3b80: 3f4086f8 3ffb3be0 0000000c 00000000
800e5b2b 3ffb3bd0 3ffb3c20 3f4086f0
[CPU1] xtensa_stackdump: 3ffb3ba0: 3ffb3cc0 3ffb3ca0 00000008 3ffb3cc0
00000003 00000000 00000000 00000000
[CPU1] xtensa_stackdump: 3ffb3bc0: 3ffb3c20 3ffb3c20 00000000 3f400115
3f40011c 3ffb3ca0 00000010 00000000
[CPU1] xtensa_stackdump: 3ffb3be0: 800df4e0 3ffb3c20 00000007 3f400115
00000008 00000000 00000000 3f400115
[CPU1] xtensa_stackdump: 3ffb3c00: 3ffb3cc0 3ffb3ca0 00000008 00000000
800df504 3ffb3c50 00000000 3f400115
[CPU1] xtensa_stackdump: 3ffb3c20: 400e5b40 3ffb3c70 400e6814 0000001f
3ffb3c50 3ffb02d0 00060522 00000000
[CPU1] xtensa_stackdump: 3ffb3c40: 800d5d6b 3ffb3c90 00000000 3f400115
3ffb3cc0 3ffb3ca0 00000008 00000000
[CPU1] xtensa_stackdump: 3ffb3c60: 3ffb3cc0 3ffb3ca0 00000008 3f400115
3ffb3cc0 3ffb3ca0 00000008 00000001
[CPU1] xtensa_stackdump: 3ffb3c80: 80007c18 3ffb3ce0 00000000 3ffb0170
3ffb3cc0 3ffb3ca0 00000008 deadbeef
[CPU1] xtensa_stackdump: 3ffb3ca0: 3f40011d 000002cf 3f4005a1 000000e3
00060520 00000000 00000000 3ffb0170
[CPU1] xtensa_stackdump: 3ffb3cc0: 3f4005a1 000000e3 00060520 00000000
40000740 3ffe7dc0 400d5cd0 3ffe4310
[CPU1] xtensa_showtasks: PID PRI USED STACK FILLED
COMMAND
[CPU1] xtensa_showtasks: ---- ---- 812 2048 39.6% irq
[CPU1] xtensa_dump_task: 0 0 1072 3040 35.2% CPU0
IDLE
[CPU1] xtensa_dump_task: 1 0 624 3040 20.5% CPU1
IDLE
[CPU1] xtensa_dump_task: 2 100 1216 2000 60.8%
nsh_main
nsh> ps
PID GROUP CPU PRI POLICY TYPE NPX STATE EVENT SIGMASK STACK
USED FILLED COMMAND
0 0 0 0 FIFO Kthread N-- Assigned 00000000 003040
001072 35.2% CPU0 IDLE
1 1 1 0 FIFO Kthread N-- Running 00000000 003040
000624 20.5% CPU1 IDLE
2 2 0 100 RR Task --- Running 00000000 002000
001856 92.8%! nsh_main
```
Could you give me some advice?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]