diff options
Diffstat (limited to 'results/classifier/deepseek-2-tmp/output/peripherals/657006')
| -rw-r--r-- | results/classifier/deepseek-2-tmp/output/peripherals/657006 | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/results/classifier/deepseek-2-tmp/output/peripherals/657006 b/results/classifier/deepseek-2-tmp/output/peripherals/657006 deleted file mode 100644 index cfc193af..00000000 --- a/results/classifier/deepseek-2-tmp/output/peripherals/657006 +++ /dev/null @@ -1,45 +0,0 @@ - -arm v7M - svc insn doesn't trigger PendSV handler - -The svc instruction doesn't work as expected. - --> qemu 0.13.0 rc1 (git) - -Test : demo with freeRTOS (for example FreeRTOS-6.0.5/Demo/CORTEX_LM3S811_GCC) with the card lm3s811evb. - -If we start the scheduler, it will call that function (__attribute__ (( naked ))) : - -void vPortStartFirstTask( void ) - -{ - - __asm volatile( - - " ldr r0, =0xE000ED08 \n" /* Use the NVIC offset register to locate the stack. */ - - " ldr r0, [r0] \n" - - " ldr r0, [r0] \n" - - " msr msp, r0 \n" /* Set the msp back to the start of the stack. */ - - " svc 0 \n" /* System call to start first task. */ - - ); - -} - -The 4 first lines in asm work fine. The scv 0 call will rise the right interrupt in qemu (line 151, in arm_gic.c, best_irq = 15). However, it will never call the PendSV Handler (xPortPendSVHandler here). This function is recorded in the nvic vector. -Next, (after the svc), the processor will execute the line after in code (this is a naked function) so the next function written after vPortStartFirstTask in the code. - - -command line : -console 1 : qemu-system-arm -M lm3s6965evb -kernel gcc/RTOSDemo.axf -s -S -console 2 : arm-none-eabi-gdb -ex "target remote localhost:1234" gcc/RTOSDemo.axf - -arm-none-eabi from http://www.codesourcery.com/sgpp/lite/arm/portal/release1294 -Same error with another project with arm-elf - -processor : arm cortex m3 - -host : gentoo (2.6.35-r9) (without kqemu) \ No newline at end of file |
