[riot-notifications] [RIOT-OS/RIOT] cpu/cortexm_common: Do not use SVC for cpu_switch_context_exit (#15787)

Koen Zandberg notifications at github.com
Tue Jan 19 11:10:16 CET 2021


<details><summary>thread_exit on samr21-xpro</summary>

```
koen at morgen ~/dev/RIOT-review $ make -C tests/thread_exit/ BOARD=samr21-xpro -j flash test
make: Entering directory '/home/koen/dev/RIOT-review/tests/thread_exit'
Building application "tests_thread_exit" for "samr21-xpro" with MCU "samd21".

[INFO] edbg binary not found - building it from source now
python-exec: Invalid impl in /etc/python-exec/python-exec.conf: python3.6
CC= CFLAGS= make -C /home/koen/dev/RIOT-review/dist/tools/edbg
[INFO] edbg binary successfully built!
"make" -C /home/koen/dev/RIOT-review/boards/samr21-xpro
"make" -C /home/koen/dev/RIOT-review/core
"make" -C /home/koen/dev/RIOT-review/cpu/samd21
"make" -C /home/koen/dev/RIOT-review/drivers
"make" -C /home/koen/dev/RIOT-review/sys
"make" -C /home/koen/dev/RIOT-review/drivers/periph_common
"make" -C /home/koen/dev/RIOT-review/cpu/cortexm_common
"make" -C /home/koen/dev/RIOT-review/sys/auto_init
"make" -C /home/koen/dev/RIOT-review/cpu/sam0_common
"make" -C /home/koen/dev/RIOT-review/sys/isrpipe
"make" -C /home/koen/dev/RIOT-review/sys/malloc_thread_safe
"make" -C /home/koen/dev/RIOT-review/cpu/samd21/periph
"make" -C /home/koen/dev/RIOT-review/sys/newlib_syscalls_default
"make" -C /home/koen/dev/RIOT-review/cpu/samd21/vectors
"make" -C /home/koen/dev/RIOT-review/sys/pm_layered
"make" -C /home/koen/dev/RIOT-review/sys/stdio_uart
"make" -C /home/koen/dev/RIOT-review/sys/test_utils/interactive_sync
"make" -C /home/koen/dev/RIOT-review/cpu/cortexm_common/periph
"make" -C /home/koen/dev/RIOT-review/sys/tsrb
"make" -C /home/koen/dev/RIOT-review/cpu/sam0_common/periph
   text    data     bss     dec     hex filename
  10548     132    5440   16120    3ef8 /home/koen/dev/RIOT-review/tests/thread_exit/bin/samr21-xpro/tests_thread_exit.elf
/home/koen/dev/RIOT-review/dist/tools/edbg/edbg --serial ATML2127031800008360 --serial ATML2127031800008360  --target samr21 --verbose --file /home/koen/dev/RIOT-review/tests/thread_exit/bin/samr21-xpro/tests_thread_exit.bin --verify || /home/koen/dev/RIOT-review/dist/tools/edbg/edbg --serial ATML2127031800008360 --serial ATML2127031800008360  --target samr21 --verbose --file /home/koen/dev/RIOT-review/tests/thread_exit/bin/samr21-xpro/tests_thread_exit.bin --verify --program
Debugger: ATMEL EDBG CMSIS-DAP ATML2127031800008360 01.1A.00FB (S)
Clock frequency: 16.0 MHz
Target: SAM R21G18 (Rev D)
Verification............................................. done.
python-exec: Invalid impl in /etc/python-exec/python-exec.conf: python3.6
r
/home/koen/dev/RIOT-review/dist/tools/pyterm/pyterm -p "/dev/ttyACM2" -b "115200" --no-reconnect --noprefix --no-repeat-command-on-empty-line 
python-exec: Invalid impl in /etc/python-exec/python-exec.conf: python3.6
Connect to serial port /dev/ttyACM2
Welcome to pyterm!
Type '/exit' to exit.
READY
s
START
main(): This is RIOT! (Version: 2021.04-devel-57-g78e25-pr/cortexm/svc_cleanup)
main: starting
main: exiting
2nd: starting
3rd: starting
3rd: exiting
2nd: exiting
4th: starting
4th: exiting

make: Leaving directory '/home/koen/dev/RIOT-review/tests/thread_exit'
```

</details>

<details><summary>thread_exit on nrf52dk</summary>

```
koen at morgen ~/dev/RIOT-review $ make -C tests/thread_exit/ BOARD=nrf52dk -j flash test           
make: Entering directory '/home/koen/dev/RIOT-review/tests/thread_exit'
Building application "tests_thread_exit" for "nrf52dk" with MCU "nrf52".

python-exec: Invalid impl in /etc/python-exec/python-exec.conf: python3.6
"make" -C /home/koen/dev/RIOT-review/boards/nrf52dk
"make" -C /home/koen/dev/RIOT-review/core
"make" -C /home/koen/dev/RIOT-review/cpu/nrf52
"make" -C /home/koen/dev/RIOT-review/drivers
"make" -C /home/koen/dev/RIOT-review/sys
"make" -C /home/koen/dev/RIOT-review/boards/common/nrf52xxxdk
"make" -C /home/koen/dev/RIOT-review/drivers/periph_common
"make" -C /home/koen/dev/RIOT-review/sys/auto_init
"make" -C /home/koen/dev/RIOT-review/sys/isrpipe
"make" -C /home/koen/dev/RIOT-review/sys/malloc_thread_safe
"make" -C /home/koen/dev/RIOT-review/sys/newlib_syscalls_default
"make" -C /home/koen/dev/RIOT-review/sys/stdio_uart
"make" -C /home/koen/dev/RIOT-review/cpu/cortexm_common
"make" -C /home/koen/dev/RIOT-review/sys/test_utils/interactive_sync
"make" -C /home/koen/dev/RIOT-review/sys/tsrb
"make" -C /home/koen/dev/RIOT-review/cpu/nrf52/periph
"make" -C /home/koen/dev/RIOT-review/cpu/nrf52/vectors
"make" -C /home/koen/dev/RIOT-review/cpu/nrf5x_common
"make" -C /home/koen/dev/RIOT-review/cpu/nrf5x_common/periph
"make" -C /home/koen/dev/RIOT-review/cpu/cortexm_common/periph
   text    data     bss     dec     hex filename
   9912     128    5456   15496    3c88 /home/koen/dev/RIOT-review/tests/thread_exit/bin/nrf52dk/tests_thread_exit.elf
/home/koen/dev/RIOT-review/dist/tools/jlink/jlink.sh flash /home/koen/dev/RIOT-review/tests/thread_exit/bin/nrf52dk/tests_thread_exit.bin
### Flashing Target ###
### Flashing at base address 0x0 with offset 0 ###
SEGGER J-Link Commander V6.80c (Compiled Jun 19 2020 17:23:41)
DLL version V6.80c, compiled Jun 19 2020 17:23:30

J-Link Commander will now exit on Error

J-Link Command File read successfully.
Processing script file...

J-Link connection not established yet but required for command.
Connecting to J-Link via USB...O.K.
Firmware: J-Link OB-SAM3U128-V2-NordicSemi compiled Mar 17 2020 14:43:00
Hardware version: V1.00
S/N: 682223007
License(s): RDI, FlashBP, FlashDL, JFlash, GDB
VTref=3.300V
Target connection not established yet but required for command.
Device "NRF52" selected.


Connecting to target via SWD
InitTarget() start
InitTarget() end
Found SW-DP with ID 0x2BA01477
DPIDR: 0x2BA01477
Scanning AP map to find all available APs
AP[2]: Stopped AP scan as end of AP map has been reached
AP[0]: AHB-AP (IDR: 0x24770011)
AP[1]: JTAG-AP (IDR: 0x02880000)
Iterating through AP map to find AHB-AP to use
AP[0]: Core found
AP[0]: AHB-AP ROM base: 0xE00FF000
CPUID register: 0x410FC241. Implementer code: 0x41 (ARM)
Found Cortex-M4 r0p1, Little endian.
FPUnit: 6 code (BP) slots and 2 literal slots
CoreSight components:
ROMTbl[0] @ E00FF000
ROMTbl[0][0]: E000E000, CID: B105E00D, PID: 000BB00C SCS-M7
ROMTbl[0][1]: E0001000, CID: B105E00D, PID: 003BB002 DWT
ROMTbl[0][2]: E0002000, CID: B105E00D, PID: 002BB003 FPB
ROMTbl[0][3]: E0000000, CID: B105E00D, PID: 003BB001 ITM
ROMTbl[0][4]: E0040000, CID: B105900D, PID: 000BB9A1 TPIU
ROMTbl[0][5]: E0041000, CID: B105900D, PID: 000BB925 ETM
Cortex-M4 identified.
Halting CPU for downloading file.
Downloading file [/home/koen/dev/RIOT-review/tests/thread_exit/bin/nrf52dk/tests_thread_exit.bin]...
Comparing flash   [100%] Done.
Erasing flash     [100%] Done.
Programming flash [100%] Done.
J-Link: Flash download: Bank 0 @ 0x00000000: 1 range affected (12288 bytes)
J-Link: Flash download: Total: 0.245s (Prepare: 0.039s, Compare: 0.004s, Erase: 0.007s, Program & Verify: 0.186s, Restore: 0.006s)
J-Link: Flash download: Program & Verify speed: 64 KB/s
O.K.

Reset delay: 0 ms
Reset type NORMAL: Resets core & peripherals via SYSRESETREQ & VECTRESET bit.
Reset: Halt core after reset via DEMCR.VC_CORERESET.
Reset: Reset device via AIRCR.SYSRESETREQ.



Script processing completed.

python-exec: Invalid impl in /etc/python-exec/python-exec.conf: python3.6
r
/home/koen/dev/RIOT-review/dist/tools/pyterm/pyterm -p "/dev/ttyACM3" -b "115200" --no-reconnect --noprefix --no-repeat-command-on-empty-line 
python-exec: Invalid impl in /etc/python-exec/python-exec.conf: python3.6
Connect to serial port /dev/ttyACM3
Welcome to pyterm!
Type '/exit' to exit.
Help: Press s to start test, r to print it is ready
Help: Press s to start test, r to print it is ready
Help: Press s to start test, r to print it is ready
Help: Press s to start test, r to print it is ready
Help: Press s to start test, r to print it is ready
Help: Press s to start test, r to print it is ready
Help: Press s to start test, r to print it is ready
Help: Press s to start test, r to print it is ready
Help: Press s to start test, r to print it is ready
READY
s
START
main(): This is RIOT! (Version: 2021.04-devel-57-g78e25-pr/cortexm/svc_cleanup)
main: starting
main: exiting
2nd: starting
3rd: starting
3rd: exiting
2nd: exiting
4th: starting
4th: exiting

make: Leaving directory '/home/koen/dev/RIOT-review/tests/thread_exit'
```

</details>

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/RIOT-OS/RIOT/pull/15787#issuecomment-762741098
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.riot-os.org/pipermail/notifications/attachments/20210119/f5057564/attachment-0001.htm>


More information about the notifications mailing list