Otatiaro

Forum Replies Created

Viewing 15 posts - 1 through 15 (of 19 total)
  • Author
    Posts
  • in reply to: Custom RTOS support fails at stack-list-frames #12246
    Otatiaro
    Participant

    Nop, doesn’t fix it 🙁 Even with parallelization of register setting disabled.

    I don’t get it, seems to lock at random:

    VisualGDB is licensed to Thomas Legrand at EZNOV
    e:\SysGCC\arm-eabi\bin\arm-eabi-gdb.exe –interpreter mi D:\GIT\remote\Firmware\VisualGDB\Debug\MantaRemote.elf
    -gdb-version
    =thread-group-added,id=”i1″
    ~”GNU gdb (GDB) 7.12\n”
    ~”Copyright (C) 2016 Free Software Foundation, Inc.\n”
    ~”License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html&gt;\nThis is free software: you are free to change and redistribute it.\nThere is NO WARRANTY, to the extent permitted by law.  Type \”show copying\”\nand \”show warranty\” for details.\n”
    ~”This GDB was configured as \”–host=i686-pc-mingw32 –target=arm-eabi\”.\nType \”show configuration\” for configuration details.”
    ~”\nFor bug reporting instructions, please see:\n”
    ~”<http://www.gnu.org/software/gdb/bugs/&gt;.\n”
    ~”Find the GDB manual and other documentation resources online at:\n<http://www.gnu.org/software/gdb/documentation/&gt;.\n”
    ~”For help, type \”help\”.\n”
    ~”Type \”apropos word\” to search for commands related to \”word\”…\n”
    ~”Reading symbols from D:\\GIT\\remote\\Firmware\\VisualGDB\\Debug\\MantaRemote.elf…”
    ~”done.\n”
    ~”GNU gdb (GDB) 7.12\n”
    ~”Copyright (C) 2016 Free Software Foundation, Inc.\n”
    ~”License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html&gt;\nThis is free software: you are free to change and redistribute it.\nThere is NO WARRANTY, to the extent permitted by law.  Type \”show copying\”\nand \”show warranty\” for details.\n”
    ~”This GDB was configured as \”–host=i686-pc-mingw32 –target=arm-eabi\”.\nType \”show configuration\” for configuration details.”
    ~”\nFor bug reporting instructions, please see:\n”
    ~”<http://www.gnu.org/software/gdb/bugs/&gt;.\n”
    ~”Find the GDB manual and other documentation resources online at:\n<http://www.gnu.org/software/gdb/documentation/&gt;.\n”
    ~”For help, type \”help\”.\n”
    ~”Type \”apropos word\” to search for commands related to \”word\”.\n”
    ^done
    -list-features
    ^done,features=[“frozen-varobjs”,”pending-breakpoints”,”thread-info”,”data-read-memory-bytes”,”breakpoint-notifications”,”ada-task-info”,”language-option”,”info-gdb-mi-command”,”undefined-command-error-code”,”exec-run-start-option”]
    -gdb-set disassembly-flavor intel
    ^error,msg=”No symbol \”disassembly\” in current context.”
    -gdb-set print demangle off
    ^done
    -break-insert -f main
    ^done,bkpt={number=”1″,type=”breakpoint”,disp=”keep”,enabled=”y”,addr=”0x0801758c”,func=”main()”,file=”src/main.cpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\main.cpp”,line=”54″,thread-groups=[“i1″],times=”0″,original-location=”main”}
    target remote :61337
    &”target remote :61337\n”
    ~”Remote debugging using :61337\n”
    =thread-group-started,id=”i1″,pid=”42000″
    =thread-created,id=”1″,group-id=”i1″
    ~”<lambda()>::operator()(void) const (__closure=0x0) at src/main.cpp:35\n”
    ~”35\t\t\t__NOP();\n”
    *stopped,frame={addr=”0x0801746e”,func=”<lambda()>::operator()(void) const”,args=[{name=”__closure”,value=”0x0″}],file=”src/main.cpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\main.cpp”,line=”35″},thread-id=”1″,stopped-threads=”all”
    ^done
    info shared
    &”info shared\n”
    ~”No shared libraries loaded at this time.\n”
    ^done
    mon reset
    &”mon reset\n”
    @”Resetting target\r\n”
    ^done
    mon reset
    &”mon reset\n”
    @”Resetting target\r\n”
    ^done
    -data-evaluate-expression “sizeof(void *)”
    ^done,value=”4″
    -data-evaluate-expression “sizeof(int)”
    ^done,value=”4″
    -data-evaluate-expression “sizeof(short)”
    ^done,value=”2″
    -data-evaluate-expression “sizeof(long)”
    ^done,value=”4″
    -data-evaluate-expression “sizeof(long long)”
    ^done,value=”8″
    -data-evaluate-expression “sizeof(char)”
    ^done,value=”1″
    -data-evaluate-expression “sizeof(wchar_t)”
    ^done,value=”4″
    -data-evaluate-expression “sizeof(float)”
    ^done,value=”4″
    -data-evaluate-expression “sizeof(double)”
    ^done,value=”8″
    -data-evaluate-expression “sizeof(long double)”
    ^done,value=”8″
    info target
    &”info target\n”
    ~”Symbols from \”D:\\GIT\\remote\\Firmware\\VisualGDB\\Debug\\MantaRemote.elf\”.\n”
    ~”Remote serial target in gdb-specific protocol:\n”
    ~”Debugging a target over a serial line.\n”
    ~”\tWhile running this, GDB does not access memory from…\n”
    ~”Local exec file:\n”
    ~”\t`D:\\GIT\\remote\\Firmware\\VisualGDB\\Debug\\MantaRemote.elf’, file type elf32-littlearm.\n”
    ~”\tEntry point: 0x8017588\n”
    ~”\t0x08000000 – 0x08010000 is boot_vector\n”
    ~”\t0x08010000 – 0x0801a738 is .text\n”
    ~”\t0x0801a738 – 0x08024c2c is .rodata\n”
    ~”\t0x08024c2c – 0x08024c34 is .ARM\n”
    ~”\t0x08024c34 – 0x08024c54 is .init_array\n”
    ~”\t0x08024c54 – 0x08024c58 is .fini_array\n”
    ~”\t0x20000000 – 0x20000070 is .data\n”
    ~”\t0x20000070 – 0x20000070 is .jcr\n”
    ~”\t0x20000070 – 0x20000070 is .tm_clone_table\n”
    ~”\t0x20000200 – 0x20005574 is .bss\n”
    ^done
    -break-insert -f *0x080130c0
    ^done,bkpt={number=”2″,type=”breakpoint”,disp=”keep”,enabled=”y”,addr=”0x080130c0″,func=”screens::screen_base::battery(float, bool, bool)”,file=”src/screens/screen_base.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\screens\\screen_base.hpp”,line=”143″,thread-groups=[“i1″],times=”0″,original-location=”*0x080130c0″}
    -break-after 2 0
    ^done
    -break-disable 2
    ^done
    info symbol 0x80130c0
    &”info symbol 0x80130c0\n”
    ~”_ZN7screens11screen_base7batteryEfbb + 184 in section .text\n”
    ^done
    info line *0x80130c0
    &”info line *0x80130c0\n”
    ~”Line 143 of \”src/screens/screen_base.hpp\” starts at address 0x80130be <screens::screen_base::battery(float, bool, bool)+182> and ends at 0x80130d0 <screens::screen_base::battery(float, bool, bool)+200>.\n”
    ^done
    -file-list-exec-source-files
    ^done,files=[{file=”src/user_interface.cpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\user_interface.cpp”},{file=”src/opsy/Kernel/Impl/singleWaiterEvent.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Kernel\\Impl\\singleWaiterEvent.hpp”},{file=”E:/SysGCC/arm-eabi/arm-eabi/include/c++/6.2.0/arm-eabi/bits/gthr-default.h”,fullname=”E:\\SysGCC\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\arm-eabi\\bits\\gthr-default.h”},{file=”src/opsy/Kernel/scheduler.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Kernel\\scheduler.hpp”},{file=”src/drivers/screen.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\drivers\\screen.hpp”},{file=”src/drivers/power.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\drivers\\power.hpp”},{file=”src/screens/screen_base.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\screens\\screen_base.hpp”},{file=”src/screens/splash.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\screens\\splash.hpp”},{file=”src/screens/menu.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\screens\\menu.hpp”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0/array”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\array”},{file=”src/graphics/imageBuffer.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\graphics\\imageBuffer.hpp”},{file=”src/graphics/text.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\graphics\\text.hpp”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0/cstdint”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\cstdint”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\bits/cpp_type_traits.h”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\bits\\cpp_type_traits.h”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0/type_traits”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\type_traits”},{file=”E:/SysGCC/arm-eabi/arm-eabi/include/c++/6.2.0/arm-eabi/bits/c++config.h”,fullname=”E:\\SysGCC\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\arm-eabi\\bits\\c++config.h”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\bits/stl_pair.h”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\bits\\stl_pair.h”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0/cmath”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\cmath”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\bits/exception_ptr.h”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\bits\\exception_ptr.h”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\debug/debug.h”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\debug\\debug.h”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0/cwchar”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\cwchar”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0/new”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\new”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0/clocale”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\clocale”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0/cstdlib”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\cstdlib”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0/cstdio”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\cstdio”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\bits/basic_string.h”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\bits\\basic_string.h”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\bits/predefined_ops.h”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\bits\\predefined_ops.h”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\ext/new_allocator.h”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\ext\\new_allocator.h”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\ext/numeric_traits.h”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\ext\\numeric_traits.h”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include\\machine/_default_types.h”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include\\machine\\_default_types.h”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include\\sys/_stdint.h”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include\\sys\\_stdint.h”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include/stdint.h”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include\\stdint.h”},{file=”src/graphics/color.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\graphics\\color.hpp”},{file=”src/opsy/Vendor/STM32/stm32l471xx.h”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Vendor\\STM32\\stm32l471xx.h”},{file=”src/opsy/Vendor/STM32/../core_cm4.h”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Vendor\\core_cm4.h”},{file=”e:\\sysgcc\\arm-eabi\\lib\\gcc\\arm-eabi\\6.2.0\\include/stddef.h”,fullname=”e:\\sysgcc\\arm-eabi\\lib\\gcc\\arm-eabi\\6.2.0\\include\\stddef.h”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include\\sys/lock.h”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include\\sys\\lock.h”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include\\sys/_types.h”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include\\sys\\_types.h”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include\\sys/reent.h”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include\\sys\\reent.h”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include/math.h”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include\\math.h”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0/math.h”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\math.h”},{file=”src/opsy/util.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\util.hpp”},{file=”src/opsy/Kernel/Impl/../svcCallEnum.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Kernel\\svcCallEnum.hpp”},{file=”src/opsy/Kernel/Impl/../waitable.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Kernel\\waitable.hpp”},{file=”src/opsy/Kernel/Impl/../task.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Kernel\\task.hpp”},{file=”src/opsy/Kernel/../Logs/Severity.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Logs\\Severity.hpp”},{file=”src/opsy/Kernel/../Data/fifo.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Data\\fifo.hpp”},{file=”e:\\sysgcc\\arm-eabi\\lib\\gcc\\arm-eabi\\6.2.0\\include/stdarg.h”,fullname=”e:\\sysgcc\\arm-eabi\\lib\\gcc\\arm-eabi\\6.2.0\\include\\stdarg.h”},{file=”<built-in>”,fullname=”D:\\GIT\\remote\\Firmware/<built-in>”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include/wchar.h”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include\\wchar.h”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include/locale.h”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include\\locale.h”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include/ctype.h”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include\\ctype.h”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include/stdlib.h”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include\\stdlib.h”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include/stdio.h”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include\\stdio.h”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include\\sys/errno.h”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include\\sys\\errno.h”},{file=”src/user_interface.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\user_interface.hpp”},{file=”src/main.cpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\main.cpp”},{file=”src/opsy/Vendor/STM32/../core_cm4.h”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Vendor\\core_cm4.h”},{file=”src/opsy/Kernel/task.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Kernel\\task.hpp”},{file=”src/opsy/Kernel/../util.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\util.hpp”},{file=”src/opsy/Kernel/systemView.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Kernel\\systemView.hpp”},{file=”E:/SysGCC/arm-eabi/arm-eabi/include/c++/6.2.0/arm-eabi/bits/gthr-default.h”,fullname=”E:\\SysGCC\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\arm-eabi\\bits\\gthr-default.h”},{file=”src/opsy/Kernel/../Logs/ListenerBase.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Logs\\ListenerBase.hpp”},{file=”src/opsy/Kernel/../Logs/logger.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Logs\\logger.hpp”},{file=”src/opsy/Kernel/scheduler.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Kernel\\scheduler.hpp”},{file=”src/opsy/Vendor/STM32/../cmsis_gcc.h”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Vendor\\cmsis_gcc.h”},{file=”src/opsy/Logs/breakOnSeverity.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Logs\\breakOnSeverity.hpp”},{file=”src/drivers/btnInputs.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\drivers\\btnInputs.hpp”},{file=”src/drivers/buzzer.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\drivers\\buzzer.hpp”},{file=”src/drivers/power.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\drivers\\power.hpp”},{file=”src/opsy/Kernel/Impl/singleWaiterEvent.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Kernel\\Impl\\singleWaiterEvent.hpp”},{file=”src/drivers/screen.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\drivers\\screen.hpp”},{file=”src/opsy/Matrix/vector3D.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Matrix\\vector3D.hpp”},{file=”src/opsy/Matrix/Matrix.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Matrix\\Matrix.hpp”},{file=”src/opsy/Matrix/vector.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Matrix\\vector.hpp”},{file=”src/drivers/imu.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\drivers\\imu.hpp”},{file=”src/screens/engine.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\screens\\engine.hpp”},{file=”src/opsy/Logs/sysviewListener.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Logs\\sysviewListener.hpp”},{file=”src/opsy/Kernel/Impl/queue.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Kernel\\Impl\\queue.hpp”},{file=”src/opsy/Vendor/STM32/stm32l471xx.h”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Vendor\\STM32\\stm32l471xx.h”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include\\machine/_default_types.h”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include\\machine\\_default_types.h”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include\\sys/_stdint.h”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include\\sys\\_stdint.h”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include/stdint.h”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include\\stdint.h”},{file=”src/opsy/Kernel/svcCallEnum.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Kernel\\svcCallEnum.hpp”},{file=”src/opsy/Kernel/waitable.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Kernel\\waitable.hpp”},{file=”src/opsy/Kernel/../Logs/Severity.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Logs\\Severity.hpp”},{file=”src/opsy/Matrix/point.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Matrix\\point.hpp”},{file=”src/opsy/Kernel/../Vendor/Segger/SEGGER_SYSVIEW.h”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Vendor\\Segger\\SEGGER_SYSVIEW.h”},{file=”src/opsy/Kernel/../Data/fifo.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Data\\fifo.hpp”},{file=”E:/SysGCC/arm-eabi/arm-eabi/include/c++/6.2.0/arm-eabi/bits/c++config.h”,fullname=”E:\\SysGCC\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\arm-eabi\\bits\\c++config.h”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\bits/cpp_type_traits.h”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\bits\\cpp_type_traits.h”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0/cmath”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\cmath”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0/type_traits”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\type_traits”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\bits/stl_pair.h”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\bits\\stl_pair.h”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\bits/exception_ptr.h”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\bits\\exception_ptr.h”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\debug/debug.h”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\debug\\debug.h”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0/cwchar”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\cwchar”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0/cstdint”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\cstdint”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0/new”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\new”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0/clocale”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\clocale”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0/cstdlib”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\cstdlib”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0/cstdio”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\cstdio”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\bits/basic_string.h”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\bits\\basic_string.h”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0/array”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\array”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\bits/predefined_ops.h”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\bits\\predefined_ops.h”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\ext/new_allocator.h”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\ext\\new_allocator.h”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\ext/numeric_traits.h”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\ext\\numeric_traits.h”},{file=”e:\\sysgcc\\arm-eabi\\lib\\gcc\\arm-eabi\\6.2.0\\include/stddef.h”,fullname=”e:\\sysgcc\\arm-eabi\\lib\\gcc\\arm-eabi\\6.2.0\\include\\stddef.h”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include\\sys/lock.h”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include\\sys\\lock.h”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include\\sys/_types.h”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include\\sys\\_types.h”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include\\sys/reent.h”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include\\sys\\reent.h”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include/math.h”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include\\math.h”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0/math.h”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\math.h”},{file=”e:\\sysgcc\\arm-eabi\\lib\\gcc\\arm-eabi\\6.2.0\\include/stdarg.h”,fullname=”e:\\sysgcc\\arm-eabi\\lib\\gcc\\arm-eabi\\6.2.0\\include\\stdarg.h”},{file=”<built-in>”,fullname=”D:\\GIT\\remote\\Firmware/<built-in>”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include/wchar.h”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include\\wchar.h”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include/locale.h”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include\\locale.h”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include/ctype.h”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include\\ctype.h”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include/stdlib.h”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include\\stdlib.h”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include/stdio.h”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include\\stdio.h”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include\\sys/errno.h”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include\\sys\\errno.h”},{file=”src/graphics/color.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\graphics\\color.hpp”},{file=”src/graphics/imageBuffer.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\graphics\\imageBuffer.hpp”},{file=”src/screens/screen_base.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\screens\\screen_base.hpp”},{file=”src/user_interface.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\user_interface.hpp”},{file=”../../../../../../../../newlib-nano-2016q3/newlib/libc/reent/reent.c”,fullname=”/q/gnu/newlib-nano/build-2016q3/arm-eabi/thumb/fpu/cortex_m4/newlib/libc/reent/../../../../../../../../newlib-nano-2016q3/newlib/libc/reent/reent.c”},{file=”../../../../../../../../newlib-nano-2016q3/newlib/libc/stdlib/mlock.c”,fullname=”/q/gnu/newlib-nano/build-2016q3/arm-eabi/thumb/fpu/cortex_m4/newlib/libc/stdlib/../../../../../../../../newlib-nano-2016q3/newlib/libc/stdlib/mlock.c”},{file=”../../../../../../../../newlib-nano-2016q3/newlib/libc/string/strnlen.c”,fullname=”/q/gnu/newlib-nano/build-2016q3/arm-eabi/thumb/fpu/cortex_m4/newlib/libc/string/../../../../../../../../newlib-nano-2016q3/newlib/libc/string/strnlen.c”},{file=”../../../../../../../../../newlib-nano-2016q3/newlib/libc/machine/arm/strlen-armv7.S”,fullname=”/q/gnu/newlib-nano/build-2016q3/arm-eabi/thumb/fpu/cortex_m4/newlib/libc/machine/arm/../../../../../../../../../newlib-nano-2016q3/newlib/libc/machine/arm/strlen-armv7.S”},{file=”../../../../../../../../newlib-nano-2016q3/newlib/libc/reent/sbrkr.c”,fullname=”/q/gnu/newlib-nano/build-2016q3/arm-eabi/thumb/fpu/cortex_m4/newlib/libc/reent/../../../../../../../../newlib-nano-2016q3/newlib/libc/reent/sbrkr.c”},{file=”../../../../../../../../newlib-nano-2016q3/newlib/libc/stdlib/nano-mallocr.c”,fullname=”/q/gnu/newlib-nano/build-2016q3/arm-eabi/thumb/fpu/cortex_m4/newlib/libc/stdlib/../../../../../../../../newlib-nano-2016q3/newlib/libc/stdlib/nano-mallocr.c”},{file=”../../../../../../../../newlib-nano-2016q3/newlib/libc/stdlib/nano-mallocr.c”,fullname=”/q/gnu/newlib-nano/build-2016q3/arm-eabi/thumb/fpu/cortex_m4/newlib/libc/stdlib/../../../../../../../../newlib-nano-2016q3/newlib/libc/stdlib/nano-mallocr.c”},{file=”../../../../../../../../newlib-nano-2016q3/newlib/libc/string/memset.c”,fullname=”/q/gnu/newlib-nano/build-2016q3/arm-eabi/thumb/fpu/cortex_m4/newlib/libc/string/../../../../../../../../newlib-nano-2016q3/newlib/libc/string/memset.c”},{file=”../../../../../../../../../newlib-nano-2016q3/newlib/libc/machine/arm/memcpy-armv7m.S”,fullname=”/q/gnu/newlib-nano/build-2016q3/arm-eabi/thumb/fpu/cortex_m4/newlib/libc/machine/arm/../../../../../../../../../newlib-nano-2016q3/newlib/libc/machine/arm/memcpy-armv7m.S”},{file=”../../../../../../../../newlib-nano-2016q3/newlib/libc/stdlib/malloc.c”,fullname=”/q/gnu/newlib-nano/build-2016q3/arm-eabi/thumb/fpu/cortex_m4/newlib/libc/stdlib/../../../../../../../../newlib-nano-2016q3/newlib/libc/stdlib/malloc.c”},{file=”../../../../../../../../newlib-nano-2016q3/newlib/libc/misc/init.c”,fullname=”/q/gnu/newlib-nano/build-2016q3/arm-eabi/thumb/fpu/cortex_m4/newlib/libc/misc/../../../../../../../../newlib-nano-2016q3/newlib/libc/misc/init.c”},{file=”../../../../../../../../newlib-nano-2016q3/newlib/libc/reent/impure.c”,fullname=”/q/gnu/newlib-nano/build-2016q3/arm-eabi/thumb/fpu/cortex_m4/newlib/libc/reent/../../../../../../../../newlib-nano-2016q3/newlib/libc/reent/impure.c”},{file=”../../../../../../../../newlib-nano-2016q3/newlib/libc/errno/errno.c”,fullname=”/q/gnu/newlib-nano/build-2016q3/arm-eabi/thumb/fpu/cortex_m4/newlib/libc/errno/../../../../../../../../newlib-nano-2016q3/newlib/libc/errno/errno.c”},{file=”../../../../../../../../newlib-nano-2016q3/newlib/libc/stdlib/cxa_atexit.c”,fullname=”/q/gnu/newlib-nano/build-2016q3/arm-eabi/thumb/fpu/cortex_m4/newlib/libc/stdlib/../../../../../../../../newlib-nano-2016q3/newlib/libc/stdlib/cxa_atexit.c”},{file=”../../../../../../gcc-6.2.0/libgcc/config/arm/lib1funcs.S”,fullname=”/q/gnu/auto/gcc-bu-2.27+gcc-6.2.0+gmp-5.1.3+mpfr-3.1.2+mpc-1.0.2+newlib-2.4.0.20160923-arm-eabi/arm-eabi/thumb/fpu/cortex_m4/libgcc/../../../../../../gcc-6.2.0/libgcc/config/arm/lib1funcs.S”},{file=”../../../../../../gcc-6.2.0/libgcc/libgcc2.c”,fullname=”/q/gnu/auto/gcc-bu-2.27+gcc-6.2.0+gmp-5.1.3+mpfr-3.1.2+mpc-1.0.2+newlib-2.4.0.20160923-arm-eabi/arm-eabi/thumb/fpu/cortex_m4/libgcc/../../../../../../gcc-6.2.0/libgcc/libgcc2.c”},{file=”../../../../../../gcc-6.2.0/libgcc/config/arm/bpabi.S”,fullname=”/q/gnu/auto/gcc-bu-2.27+gcc-6.2.0+gmp-5.1.3+mpfr-3.1.2+mpc-1.0.2+newlib-2.4.0.20160923-arm-eabi/arm-eabi/thumb/fpu/cortex_m4/libgcc/../../../../../../gcc-6.2.0/libgcc/config/arm/bpabi.S”},{file=”../../../../../../gcc-6.2.0/libgcc/config/arm/bpabi.S”,fullname=”/q/gnu/auto/gcc-bu-2.27+gcc-6.2.0+gmp-5.1.3+mpfr-3.1.2+mpc-1.0.2+newlib-2.4.0.20160923-arm-eabi/arm-eabi/thumb/fpu/cortex_m4/libgcc/../../../../../../gcc-6.2.0/libgcc/config/arm/bpabi.S”},{file=”../../../../../../gcc-6.2.0/libgcc/config/arm/ieee754-sf.S”,fullname=”/q/gnu/auto/gcc-bu-2.27+gcc-6.2.0+gmp-5.1.3+mpfr-3.1.2+mpc-1.0.2+newlib-2.4.0.20160923-arm-eabi/arm-eabi/thumb/fpu/cortex_m4/libgcc/../../../../../../gcc-6.2.0/libgcc/config/arm/ieee754-sf.S”},{file=”../../../../../../gcc-6.2.0/libgcc/config/arm/ieee754-df.S”,fullname=”/q/gnu/auto/gcc-bu-2.27+gcc-6.2.0+gmp-5.1.3+mpfr-3.1.2+mpc-1.0.2+newlib-2.4.0.20160923-arm-eabi/arm-eabi/thumb/fpu/cortex_m4/libgcc/../../../../../../gcc-6.2.0/libgcc/config/arm/ieee754-df.S”},{file=”../../../../../../gcc-6.2.0/libgcc/config/arm/ieee754-df.S”,fullname=”/q/gnu/auto/gcc-bu-2.27+gcc-6.2.0+gmp-5.1.3+mpfr-3.1.2+mpc-1.0.2+newlib-2.4.0.20160923-arm-eabi/arm-eabi/thumb/fpu/cortex_m4/libgcc/../../../../../../gcc-6.2.0/libgcc/config/arm/ieee754-df.S”},{file=”../../../../../../gcc-6.2.0/libgcc/config/arm/ieee754-df.S”,fullname=”/q/gnu/auto/gcc-bu-2.27+gcc-6.2.0+gmp-5.1.3+mpfr-3.1.2+mpc-1.0.2+newlib-2.4.0.20160923-arm-eabi/arm-eabi/thumb/fpu/cortex_m4/libgcc/../../../../../../gcc-6.2.0/libgcc/config/arm/ieee754-df.S”},{file=”../../../../../../gcc-6.2.0/libgcc/config/arm/ieee754-df.S”,fullname=”/q/gnu/auto/gcc-bu-2.27+gcc-6.2.0+gmp-5.1.3+mpfr-3.1.2+mpc-1.0.2+newlib-2.4.0.20160923-arm-eabi/arm-eabi/thumb/fpu/cortex_m4/libgcc/../../../../../../gcc-6.2.0/libgcc/config/arm/ieee754-df.S”},{file=”../../../../../../../../newlib-2.4.0.20160923/newlib/libm/common/sf_copysign.c”,fullname=”/q/gnu/auto/newlib-bu-2.27+gcc-6.2.0+gmp-5.1.3+mpfr-3.1.2+mpc-1.0.2+newlib-2.4.0.20160923-arm-eabi/arm-eabi/thumb/fpu/cortex_m4/newlib/libm/common/../../../../../../../../newlib-2.4.0.20160923/newlib/libm/common/sf_copysign.c”},{file=”../../../../../../../../newlib-2.4.0.20160923/newlib/libm/math/ef_log.c”,fullname=”/q/gnu/auto/newlib-bu-2.27+gcc-6.2.0+gmp-5.1.3+mpfr-3.1.2+mpc-1.0.2+newlib-2.4.0.20160923-arm-eabi/arm-eabi/thumb/fpu/cortex_m4/newlib/libm/math/../../../../../../../../newlib-2.4.0.20160923/newlib/libm/math/ef_log.c”},{file=”../../../../../../../../newlib-2.4.0.20160923/newlib/libm/common/sf_scalbn.c”,fullname=”/q/gnu/auto/newlib-bu-2.27+gcc-6.2.0+gmp-5.1.3+mpfr-3.1.2+mpc-1.0.2+newlib-2.4.0.20160923-arm-eabi/arm-eabi/thumb/fpu/cortex_m4/newlib/libm/common/../../../../../../../../newlib-2.4.0.20160923/newlib/libm/common/sf_scalbn.c”},{file=”../../../../../../../../newlib-2.4.0.20160923/newlib/libm/common/sf_nan.c”,fullname=”/q/gnu/auto/newlib-bu-2.27+gcc-6.2.0+gmp-5.1.3+mpfr-3.1.2+mpc-1.0.2+newlib-2.4.0.20160923-arm-eabi/arm-eabi/thumb/fpu/cortex_m4/newlib/libm/common/../../../../../../../../newlib-2.4.0.20160923/newlib/libm/common/sf_nan.c”},{file=”../../../../../../../../newlib-2.4.0.20160923/newlib/libm/common/sf_finite.c”,fullname=”/q/gnu/auto/newlib-bu-2.27+gcc-6.2.0+gmp-5.1.3+mpfr-3.1.2+mpc-1.0.2+newlib-2.4.0.20160923-arm-eabi/arm-eabi/thumb/fpu/cortex_m4/newlib/libm/common/../../../../../../../../newlib-2.4.0.20160923/newlib/libm/common/sf_finite.c”},{file=”../../../../../../../../newlib-2.4.0.20160923/newlib/libm/math/sf_fabs.c”,fullname=”/q/gnu/auto/newlib-bu-2.27+gcc-6.2.0+gmp-5.1.3+mpfr-3.1.2+mpc-1.0.2+newlib-2.4.0.20160923-arm-eabi/arm-eabi/thumb/fpu/cortex_m4/newlib/libm/math/../../../../../../../../newlib-2.4.0.20160923/newlib/libm/math/sf_fabs.c”},{file=”/cygdrive/q/gnu/auto/newlib-2.4.0.20160923/newlib/libm/common/s_rint.c”,fullname=”/cygdrive/q/gnu/auto/newlib-2.4.0.20160923/newlib/libm/common/s_rint.c”},{file=”../../../../../../../../../newlib-2.4.0.20160923/newlib/libm/machine/arm/s_rint.c”,fullname=”/q/gnu/auto/newlib-bu-2.27+gcc-6.2.0+gmp-5.1.3+mpfr-3.1.2+mpc-1.0.2+newlib-2.4.0.20160923-arm-eabi/arm-eabi/thumb/fpu/cortex_m4/newlib/libm/machine/arm/../../../../../../../../../newlib-2.4.0.20160923/newlib/libm/machine/arm/s_rint.c”},{file=”../../../../../../../../newlib-2.4.0.20160923/newlib/libm/common/s_nan.c”,fullname=”/q/gnu/auto/newlib-bu-2.27+gcc-6.2.0+gmp-5.1.3+mpfr-3.1.2+mpc-1.0.2+newlib-2.4.0.20160923-arm-eabi/arm-eabi/thumb/fpu/cortex_m4/newlib/libm/common/../../../../../../../../newlib-2.4.0.20160923/newlib/libm/common/s_nan.c”},{file=”../../../../../../../../newlib-2.4.0.20160923/newlib/libm/common/s_matherr.c”,fullname=”/q/gnu/auto/newlib-bu-2.27+gcc-6.2.0+gmp-5.1.3+mpfr-3.1.2+mpc-1.0.2+newlib-2.4.0.20160923-arm-eabi/arm-eabi/thumb/fpu/cortex_m4/newlib/libm/common/../../../../../../../../newlib-2.4.0.20160923/newlib/libm/common/s_matherr.c”},{file=”../../../../../../../../newlib-2.4.0.20160923/newlib/libm/common/s_lib_ver.c”,fullname=”/q/gnu/auto/newlib-bu-2.27+gcc-6.2.0+gmp-5.1.3+mpfr-3.1.2+mpc-1.0.2+newlib-2.4.0.20160923-arm-eabi/arm-eabi/thumb/fpu/cortex_m4/newlib/libm/common/../../../../../../../../newlib-2.4.0.20160923/newlib/libm/common/s_lib_ver.c”},{file=”../../../../../../../../newlib-2.4.0.20160923/newlib/libm/math/ef_sqrt.c”,fullname=”/q/gnu/auto/newlib-bu-2.27+gcc-6.2.0+gmp-5.1.3+mpfr-3.1.2+mpc-1.0.2+newlib-2.4.0.20160923-arm-eabi/arm-eabi/thumb/fpu/cortex_m4/newlib/libm/math/../../../../../../../../newlib-2.4.0.20160923/newlib/libm/math/ef_sqrt.c”},{file=”../../../../../../../../newlib-2.4.0.20160923/newlib/libm/math/ef_pow.c”,fullname=”/q/gnu/auto/newlib-bu-2.27+gcc-6.2.0+gmp-5.1.3+mpfr-3.1.2+mpc-1.0.2+newlib-2.4.0.20160923-arm-eabi/arm-eabi/thumb/fpu/cortex_m4/newlib/libm/math/../../../../../../../../newlib-2.4.0.20160923/newlib/libm/math/ef_pow.c”},{file=”../../../../../../../../newlib-2.4.0.20160923/newlib/libm/math/ef_log10.c”,fullname=”/q/gnu/auto/newlib-bu-2.27+gcc-6.2.0+gmp-5.1.3+mpfr-3.1.2+mpc-1.0.2+newlib-2.4.0.20160923-arm-eabi/arm-eabi/thumb/fpu/cortex_m4/newlib/libm/math/../../../../../../../../newlib-2.4.0.20160923/newlib/libm/math/ef_log10.c”},{file=”../../../../../../../../newlib-2.4.0.20160923/newlib/libm/math/ef_fmod.c”,fullname=”/q/gnu/auto/newlib-bu-2.27+gcc-6.2.0+gmp-5.1.3+mpfr-3.1.2+mpc-1.0.2+newlib-2.4.0.20160923-arm-eabi/arm-eabi/thumb/fpu/cortex_m4/newlib/libm/math/../../../../../../../../newlib-2.4.0.20160923/newlib/libm/math/ef_fmod.c”},{file=”../../../../../../../../newlib-2.4.0.20160923/newlib/libm/math/wf_pow.c”,fullname=”/q/gnu/auto/newlib-bu-2.27+gcc-6.2.0+gmp-5.1.3+mpfr-3.1.2+mpc-1.0.2+newlib-2.4.0.20160923-arm-eabi/arm-eabi/thumb/fpu/cortex_m4/newlib/libm/math/../../../../../../../../newlib-2.4.0.20160923/newlib/libm/math/wf_pow.c”},{file=”../../../../../../../../newlib-2.4.0.20160923/newlib/libm/math/wf_log10.c”,fullname=”/q/gnu/auto/newlib-bu-2.27+gcc-6.2.0+gmp-5.1.3+mpfr-3.1.2+mpc-1.0.2+newlib-2.4.0.20160923-arm-eabi/arm-eabi/thumb/fpu/cortex_m4/newlib/libm/math/../../../../../../../../newlib-2.4.0.20160923/newlib/libm/math/wf_log10.c”},{file=”../../../../../../../../newlib-2.4.0.20160923/newlib/libm/math/wf_fmod.c”,fullname=”/q/gnu/auto/newlib-bu-2.27+gcc-6.2.0+gmp-5.1.3+mpfr-3.1.2+mpc-1.0.2+newlib-2.4.0.20160923-arm-eabi/arm-eabi/thumb/fpu/cortex_m4/newlib/libm/math/../../../../../../../../newlib-2.4.0.20160923/newlib/libm/math/wf_fmod.c”},{file=”/cygdrive/q/gnu/auto/newlib-2.4.0.20160923/newlib/libm/math/sf_floor.c”,fullname=”/cygdrive/q/gnu/auto/newlib-2.4.0.20160923/newlib/libm/math/sf_floor.c”},{file=”../../../../../../../../../newlib-2.4.0.20160923/newlib/libm/machine/arm/sf_floor.c”,fullname=”/q/gnu/auto/newlib-bu-2.27+gcc-6.2.0+gmp-5.1.3+mpfr-3.1.2+mpc-1.0.2+newlib-2.4.0.20160923-arm-eabi/arm-eabi/thumb/fpu/cortex_m4/newlib/libm/machine/arm/../../../../../../../../../newlib-2.4.0.20160923/newlib/libm/machine/arm/sf_floor.c”},{file=”../../../../../../../gcc-6.2.0/libstdc++-v3/libsupc++/del_op.cc”,fullname=”/q/gnu/auto/noexceptgcc-6.2/arm-eabi/thumb/fpu/cortex_m4/libstdc++-v3/libsupc++/../../../../../../../gcc-6.2.0/libstdc++-v3/libsupc++/del_op.cc”},{file=”../../../../../../../gcc-6.2.0/libstdc++-v3/libsupc++/del_ops.cc”,fullname=”/q/gnu/auto/noexceptgcc-6.2/arm-eabi/thumb/fpu/cortex_m4/libstdc++-v3/libsupc++/../../../../../../../gcc-6.2.0/libstdc++-v3/libsupc++/del_ops.cc”},{file=”../../../../../../../gcc-6.2.0/libstdc++-v3/libsupc++/atexit_arm.cc”,fullname=”/q/gnu/auto/noexceptgcc-6.2/arm-eabi/thumb/fpu/cortex_m4/libstdc++-v3/libsupc++/../../../../../../../gcc-6.2.0/libstdc++-v3/libsupc++/atexit_arm.cc”},{file=”src/opsy/Vendor/Segger/SEGGER_SYSVIEW.c”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Vendor\\Segger\\SEGGER_SYSVIEW.c”},{file=”src/opsy/Vendor/Segger/SEGGER_RTT.c”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Vendor\\Segger\\SEGGER_RTT.c”},{file=”src/opsy/Logs/logger.cpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Logs\\logger.cpp”},{file=”src/opsy/Kernel/systemView.cpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Kernel\\systemView.cpp”},{file=”src/opsy/Kernel/../Vendor/STM32/../cmsis_gcc.h”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Vendor\\cmsis_gcc.h”},{file=”src/opsy/Kernel/scheduler.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Kernel\\scheduler.hpp”},{file=”src/opsy/Kernel/../Logs/logger.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Logs\\logger.hpp”},{file=”E:/SysGCC/arm-eabi/arm-eabi/include/c++/6.2.0/arm-eabi/bits/gthr-default.h”,fullname=”E:\\SysGCC\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\arm-eabi\\bits\\gthr-default.h”},{file=”src/opsy/Kernel/systemView.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Kernel\\systemView.hpp”},{file=”src/opsy/Kernel/../util.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\util.hpp”},{file=”src/opsy/Kernel/scheduler.cpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Kernel\\scheduler.cpp”},{file=”E:/SysGCC/arm-eabi/arm-eabi/include/c++/6.2.0/arm-eabi/bits/gthr-default.h”,fullname=”E:\\SysGCC\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\arm-eabi\\bits\\gthr-default.h”},{file=”src/graphics/text.cpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\graphics\\text.cpp”},{file=”src/opsy/Kernel/scheduler.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Kernel\\scheduler.hpp”},{file=”E:/SysGCC/arm-eabi/arm-eabi/include/c++/6.2.0/arm-eabi/bits/gthr-default.h”,fullname=”E:\\SysGCC\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\arm-eabi\\bits\\gthr-default.h”},{file=”src/opsy/Kernel/systemView.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Kernel\\systemView.hpp”},{file=”src/opsy/Kernel/Impl/singleWaiterEvent.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Kernel\\Impl\\singleWaiterEvent.hpp”},{file=”src/opsy/Kernel/Impl/../waitable.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Kernel\\waitable.hpp”},{file=”src/drivers/screen.cpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\drivers\\screen.cpp”},{file=”src/opsy/Kernel/scheduler.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Kernel\\scheduler.hpp”},{file=”E:/SysGCC/arm-eabi/arm-eabi/include/c++/6.2.0/arm-eabi/bits/gthr-default.h”,fullname=”E:\\SysGCC\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\arm-eabi\\bits\\gthr-default.h”},{file=”src/opsy/Kernel/systemView.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Kernel\\systemView.hpp”},{file=”src/opsy/Kernel/Impl/singleWaiterEvent.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Kernel\\Impl\\singleWaiterEvent.hpp”},{file=”src/opsy/Kernel/Impl/../waitable.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Kernel\\waitable.hpp”},{file=”src/opsy/Matrix/vector.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Matrix\\vector.hpp”},{file=”src/opsy/Matrix/Matrix.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Matrix\\Matrix.hpp”},{file=”src/opsy/Matrix/vector3D.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Matrix\\vector3D.hpp”},{file=”src/drivers/imu.cpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\drivers\\imu.cpp”},{file=”E:/SysGCC/arm-eabi/arm-eabi/include/c++/6.2.0/arm-eabi/bits/gthr-default.h”,fullname=”E:\\SysGCC\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\arm-eabi\\bits\\gthr-default.h”},{file=”src/drivers/btnInputs.cpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\drivers\\btnInputs.cpp”},{file=”E:/SysGCC/arm-eabi/arm-eabi/include/c++/6.2.0/arm-eabi/bits/gthr-default.h”,fullname=”E:\\SysGCC\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\arm-eabi\\bits\\gthr-default.h”},{file=”src/startup.cpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\startup.cpp”},{file=”src/graphics/imageBuffer.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\graphics\\imageBuffer.hpp”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0/array”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\array”},{file=”E:/SysGCC/arm-eabi/arm-eabi/include/c++/6.2.0/arm-eabi/bits/gthr-default.h”,fullname=”E:\\SysGCC\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\arm-eabi\\bits\\gthr-default.h”},{file=”src/screens/screen_base.cpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\screens\\screen_base.cpp”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0/array”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\array”},{file=”src/opsy/Kernel/Impl/queue.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Kernel\\Impl\\queue.hpp”},{file=”src/opsy/Kernel/../Data/fifo.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Data\\fifo.hpp”},{file=”src/screens/engine.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\screens\\engine.hpp”},{file=”src/drivers/btnInputs.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\drivers\\btnInputs.hpp”},{file=”src/drivers/screen.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\drivers\\screen.hpp”},{file=”src/opsy/Vendor/STM32/../cmsis_gcc.h”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Vendor\\cmsis_gcc.h”},{file=”src/opsy/Kernel/scheduler.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Kernel\\scheduler.hpp”},{file=”src/opsy/Kernel/../Logs/logger.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Logs\\logger.hpp”},{file=”E:/SysGCC/arm-eabi/arm-eabi/include/c++/6.2.0/arm-eabi/bits/gthr-default.h”,fullname=”E:\\SysGCC\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\arm-eabi\\bits\\gthr-default.h”},{file=”src/opsy/Kernel/systemView.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Kernel\\systemView.hpp”},{file=”src/opsy/Kernel/Impl/singleWaiterEvent.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Kernel\\Impl\\singleWaiterEvent.hpp”},{file=”src/opsy/Kernel/Impl/../task.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Kernel\\task.hpp”},{file=”src/opsy/Kernel/Impl/../waitable.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Kernel\\waitable.hpp”},{file=”src/opsy/util.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\util.hpp”},{file=”src/screens/engine.cpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\screens\\engine.cpp”},{file=”src/opsy/Kernel/Impl/queue.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Kernel\\Impl\\queue.hpp”},{file=”src/opsy/Logs/sysviewListener.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Logs\\sysviewListener.hpp”},{file=”src/screens/engine.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\screens\\engine.hpp”},{file=”src/drivers/imu.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\drivers\\imu.hpp”},{file=”src/opsy/Matrix/vector.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Matrix\\vector.hpp”},{file=”src/opsy/Matrix/Matrix.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Matrix\\Matrix.hpp”},{file=”src/opsy/Matrix/vector3D.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Matrix\\vector3D.hpp”},{file=”src/drivers/screen.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\drivers\\screen.hpp”},{file=”src/opsy/Kernel/Impl/singleWaiterEvent.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Kernel\\Impl\\singleWaiterEvent.hpp”},{file=”src/drivers/power.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\drivers\\power.hpp”},{file=”src/drivers/buzzer.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\drivers\\buzzer.hpp”},{file=”src/drivers/btnInputs.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\drivers\\btnInputs.hpp”},{file=”src/opsy/Logs/breakOnSeverity.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Logs\\breakOnSeverity.hpp”},{file=”src/opsy/Vendor/STM32/../cmsis_gcc.h”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Vendor\\cmsis_gcc.h”},{file=”src/opsy/Kernel/scheduler.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Kernel\\scheduler.hpp”},{file=”src/opsy/Kernel/../Logs/logger.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Logs\\logger.hpp”},{file=”src/opsy/Kernel/../Logs/ListenerBase.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Logs\\ListenerBase.hpp”},{file=”E:/SysGCC/arm-eabi/arm-eabi/include/c++/6.2.0/arm-eabi/bits/gthr-default.h”,fullname=”E:\\SysGCC\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\arm-eabi\\bits\\gthr-default.h”},{file=”src/opsy/Kernel/systemView.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Kernel\\systemView.hpp”},{file=”src/opsy/Kernel/../util.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\util.hpp”},{file=”src/opsy/Kernel/task.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Kernel\\task.hpp”},{file=”src/opsy/Vendor/STM32/../core_cm4.h”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Vendor\\core_cm4.h”},{file=”src/graphics/text.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\graphics\\text.hpp”},{file=”src/graphics/imageBuffer.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\graphics\\imageBuffer.hpp”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0/array”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\array”},{file=”src/screens/menu.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\screens\\menu.hpp”},{file=”src/screens/splash.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\screens\\splash.hpp”},{file=”src/screens/screen_base.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\screens\\screen_base.hpp”},{file=”src/drivers/power.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\drivers\\power.hpp”},{file=”src/drivers/screen.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\drivers\\screen.hpp”},{file=”src/opsy/Kernel/scheduler.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Kernel\\scheduler.hpp”},{file=”E:/SysGCC/arm-eabi/arm-eabi/include/c++/6.2.0/arm-eabi/bits/gthr-default.h”,fullname=”E:\\SysGCC\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\arm-eabi\\bits\\gthr-default.h”},{file=”src/opsy/Kernel/Impl/singleWaiterEvent.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Kernel\\Impl\\singleWaiterEvent.hpp”},{file=”src/graphics/imageBuffer.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\graphics\\imageBuffer.hpp”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0/array”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\array”},{file=”E:/SysGCC/arm-eabi/arm-eabi/include/c++/6.2.0/arm-eabi/bits/gthr-default.h”,fullname=”E:\\SysGCC\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\arm-eabi\\bits\\gthr-default.h”},{file=”src/screens/menu.cpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\screens\\menu.cpp”}]
    -data-evaluate-expression “&_estack”
    ^done,value=”0x20017ffc \”$\224a’\”<error: Cannot access memory at address 0x20018000>”
    -var-create – * “*((void **)0x20017ff8)”
    ^done,name=”var1″,numchild=”0″,value=”0xfffffffd”,type=”void *”,has_more=”0″
    -var-assign “var1″ 0x7d118a04
    ^done,value=”0x7d118a04”
    -data-evaluate-expression “\*\(\(void\ \*\*\)0x20017ff8\)”
    ^done,value=”0x7d118a04″
    -interpreter-exec console flushregs
    ~”Register cache flushed.\n”
    ^done
    -exec-continue
    ^running
    *running,thread-id=”all”
    =breakpoint-modified,bkpt={number=”1″,type=”breakpoint”,disp=”keep”,enabled=”y”,addr=”0x0801758c”,func=”main()”,file=”src/main.cpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\main.cpp”,line=”54″,thread-groups=[“i1″],times=”1″,original-location=”main”}
    ~”\n”
    ~”Breakpoint 1, main () at src/main.cpp:54\n”
    ~”54\t\tlogger::register_listener(bos);\n”
    *stopped,reason=”breakpoint-hit”,disp=”keep”,bkptno=”1″,frame={addr=”0x0801758c”,func=”main”,args=[],file=”src/main.cpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\main.cpp”,line=”54″},thread-id=”1″,stopped-threads=”all”
    -data-evaluate-expression “opsy::kernel::scheduler::is_started_”
    ^done,value=”false”
    -interpreter-exec console flushregs
    ~”Register cache flushed.\n”
    ^done
    -break-delete 1
    ^done
    -exec-continue
    ^running
    *running,thread-id=”all”
    ~”\nProgram”
    ~” received signal SIGTRAP, Trace/breakpoint trap.\n”
    ~”<lambda()>::operator()(void) const (__closure=0x0) at src/main.cpp:35\n”
    ~”35\t\t\t__NOP();\n”
    *stopped,reason=”signal-received”,signal-name=”SIGTRAP”,signal-meaning=”Trace/breakpoint trap”,frame={addr=”0x0801746c”,func=”<lambda()>::operator()(void) const”,args=[{name=”__closure”,value=”0x0″}],file=”src/main.cpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\main.cpp”,line=”35″},thread-id=”1″,stopped-threads=”all”
    -data-evaluate-expression “opsy::kernel::scheduler::is_started_”
    ^done,value=”true”
    -data-evaluate-expression “opsy::kernel::scheduler::active_tasks_count_”
    ^done,value=”1″
    -data-evaluate-expression “opsy::kernel::scheduler::first_task_”
    ^done,value=”0x20001510 <_ZN7screens6engine5task_E>”
    -data-evaluate-expression “\(\(opsy::kernel::task\*\)\(0x20001510\)\)\.name_”
    ^done,value=”0x801a908 \”Screen engine\””
    -data-evaluate-expression “\(\(opsy::kernel::task\*\)\(0x20001510\)\)\.stack_pointer_”
    ^done,value=”0x20003420 <_ZN7screens6engine5task_E+7952>”
    -data-evaluate-expression “\(\(opsy::kernel::task\*\)\(0x20001510\)\)\.next_task_”
    ^done,value=”0x0″
    -data-evaluate-expression “opsy::kernel::scheduler::current_task_”
    ^done,value=”0x0″
    -data-evaluate-expression “opsy::kernel::scheduler::current_task_”
    ^done,value=”0x0″
    -interpreter-exec console flushregs
    ~”Register cache flushed.\n”
    ^done
    -stack-list-frames
    ^done,stack=[frame={level=”0″,addr=”0x0801746c”,func=”<lambda()>::operator()(void) const”,file=”src/main.cpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\main.cpp”,line=”35″},frame={level=”1″,addr=”0x0801747a”,func=”<lambda()>::_FUN(void)”,file=”src/main.cpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\main.cpp”,line=”40″},frame={level=”2″,addr=”0x08019158″,func=”opsy::kernel::idle_task::no_return”,file=”src/opsy/Kernel/scheduler.cpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Kernel\\scheduler.cpp”,line=”148″}]
    -stack-list-arguments 0
    ^done,stack-args=[frame={level=”0″,args=[name=”__closure”]},frame={level=”1″,args=[]},frame={level=”2″,args=[]}]
    -data-evaluate-expression “opsy::kernel::scheduler::current_task_”
    ^done,value=”0x0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[0]”
    ^done,value=”4294967277″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[26]”
    ^done,value=”1″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[27]”
    ^done,value=”536884296″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[28]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[29]”
    ^done,value=”1″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[2]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[3]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[4]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[5]”
    ^done,value=”536884468″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[6]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[7]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[8]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[9]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[30]”
    ^done,value=”7″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[31]”
    ^done,value=”134320389″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[32]”
    ^done,value=”134319500″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[33]”
    ^done,value=”1627587072″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[34]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[35]”
    ^done,value=”1065353216″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[36]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[37]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[38]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[39]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[40]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[41]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[42]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[43]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[44]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[45]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[46]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[47]”
    ^done,value=”1065353216″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[48]”
    ^done,value=”1084227584″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[10]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[11]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[12]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[13]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[14]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[15]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[16]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[17]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[18]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[19]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[20]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[21]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[22]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[23]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[24]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[25]”
    ^done,value=”0″
    -data-evaluate-expression “\$r0″
    ^done,value=”0”
    -data-evaluate-expression “\$r1″
    ^done,value=”0”
    -data-evaluate-expression “\$r2″
    ^done,value=”0”
    -data-evaluate-expression “\$r3″
    ^done,value=”0”
    -data-evaluate-expression “\$r4″
    ^done,value=”0”
    -data-evaluate-expression “\$r5″
    ^done,value=”0”
    -data-evaluate-expression “\$r6″
    ^done,value=”0”
    -data-evaluate-expression “\$r7″
    ^done,value=”536876260”
    -data-evaluate-expression “\$r8″
    ^done,value=”0”
    -data-evaluate-expression “\$r9″
    ^done,value=”0”
    -data-evaluate-expression “\$r10″
    ^done,value=”0”
    -data-evaluate-expression “\$r11″
    ^done,value=”0”
    -data-evaluate-expression “\$r12″
    ^done,value=”0”
    -data-evaluate-expression “\$r13″
    ^done,value=”0x200014e4 <idle+492>”
    -data-evaluate-expression “\$r14″
    ^done,value=”134313083”
    -data-evaluate-expression “\$r15″
    ^done,value=”0x801746c <<lambda()>::operator()(void) const+8>”
    -data-evaluate-expression “\$s0″
    ^done,value=”0”
    -data-evaluate-expression “\$s1″
    ^done,value=”1”
    -data-evaluate-expression “\$s2″
    ^done,value=”0”
    -data-evaluate-expression “\$s3″
    ^done,value=”0”
    -data-evaluate-expression “\$s4″
    ^done,value=”0”
    -data-evaluate-expression “\$s5″
    ^done,value=”0”
    -data-evaluate-expression “\$s6″
    ^done,value=”0”
    -data-evaluate-expression “\$s7″
    ^done,value=”0”
    -data-evaluate-expression “\$s8″
    ^done,value=”0”
    -data-evaluate-expression “\$s9″
    ^done,value=”0”
    -data-evaluate-expression “\$s10″
    ^done,value=”0”
    -data-evaluate-expression “\$s11″
    ^done,value=”0”
    -data-evaluate-expression “\$s12″
    ^done,value=”0”
    -data-evaluate-expression “\$s13″
    ^done,value=”1”
    -data-evaluate-expression “\$s14″
    ^done,value=”5”
    -data-evaluate-expression “\$s15″
    ^done,value=”0”
    -data-evaluate-expression “\$s16″
    ^done,value=”0”
    -data-evaluate-expression “\$s17″
    ^done,value=”0”
    -data-evaluate-expression “\$s18″
    ^done,value=”0”
    -data-evaluate-expression “\$s19″
    ^done,value=”0”
    -data-evaluate-expression “\$s20″
    ^done,value=”0”
    -data-evaluate-expression “\$s21″
    ^done,value=”0”
    -data-evaluate-expression “\$s22″
    ^done,value=”0”
    -data-evaluate-expression “\$s23″
    ^done,value=”0”
    -data-evaluate-expression “\$s24″
    ^done,value=”0”
    -data-evaluate-expression “\$s25″
    ^done,value=”0”
    -data-evaluate-expression “\$s26″
    ^done,value=”0”
    -data-evaluate-expression “\$s27″
    ^done,value=”0”
    -data-evaluate-expression “\$s28″
    ^done,value=”0”
    -data-evaluate-expression “\$s29″
    ^done,value=”0”
    -data-evaluate-expression “\$s30″
    ^done,value=”0”
    -data-evaluate-expression “\$s31″
    -interpreter-exec console flushregs
    -gdb-set $r0=0x1
    ~”The target is not responding to GDB commands.\nStop debugging it? ”
    ~”(y or n) [answered Y; input not from terminal]\n”
    =thread-group-exited,id=”i1″
    ^error,msg=”Disconnected from target.”
    -gdb-set $r1=0x20003448
    ~”Register cache flushed.\n”
    ^done
    -gdb-set $r2=0x0
    ^error,msg=”No registers.”
    -gdb-set $r3=0x1
    ^error,msg=”No registers.”
    -gdb-set $r4=0x0
    ^error,msg=”No registers.”
    -gdb-set $r5=0x0
    ^error,msg=”No registers.”
    -gdb-set $r6=0x0
    ^error,msg=”No registers.”
    -gdb-set $r7=0x200034f4
    ^error,msg=”No registers.”
    -gdb-set $r8=0x0
    ^error,msg=”No registers.”
    -gdb-set $r9=0x0
    ^error,msg=”No registers.”
    -gdb-set $r10=0x0
    ^error,msg=”No registers.”
    -gdb-set $r11=0x0
    ^error,msg=”No registers.”
    -gdb-set $r12=0x7
    ^error,msg=”No registers.”
    -gdb-set $r13=0x20003488
    ^error,msg=”No registers.”
    -gdb-set $r14=0x8019105
    ^error,msg=”No registers.”
    -gdb-set $r15=0x8018d8c
    ^error,msg=”No registers.”
    -gdb-set $s0=0x61030200
    ^error,msg=”No registers.”
    -gdb-set $s1=0x0
    ^error,msg=”No registers.”
    -gdb-set $s2=0x3f800000
    ^error,msg=”No registers.”
    -gdb-set $s3=0x0
    ^error,msg=”No registers.”
    -gdb-set $s4=0x0
    ^error,msg=”No registers.”
    -gdb-set $s5=0x0
    ^error,msg=”No registers.”
    -gdb-set $s6=0x0
    ^error,msg=”No registers.”
    -gdb-set $s7=0x0
    ^error,msg=”No registers.”
    -gdb-set $s8=0x0
    ^error,msg=”No registers.”
    -gdb-set $s9=0x0
    ^error,msg=”No registers.”
    -gdb-set $s10=0x0
    ^error,msg=”No registers.”
    -gdb-set $s11=0x0
    ^error,msg=”No registers.”
    -gdb-set $s12=0x0
    ^error,msg=”No registers.”
    -gdb-set $s13=0x0
    ^error,msg=”No registers.”
    -gdb-set $s14=0x3f800000
    ^error,msg=”No registers.”
    -gdb-set $s15=0x40a00000
    ^error,msg=”No registers.”
    -gdb-set $s16=0x0
    ^error,msg=”No registers.”
    -gdb-set $s17=0x0
    ^error,msg=”No registers.”
    -gdb-set $s18=0x0
    ^error,msg=”No registers.”
    -gdb-set $s19=0x0
    ^error,msg=”No registers.”
    -gdb-set $s20=0x0
    ^error,msg=”No registers.”
    -gdb-set $s21=0x0
    ^error,msg=”No registers.”
    -gdb-set $s22=0x0
    ^error,msg=”No registers.”
    -gdb-set $s23=0x0
    ^error,msg=”No registers.”
    -gdb-set $s24=0x0
    ^error,msg=”No registers.”
    -gdb-set $s25=0x0
    ^error,msg=”No registers.”
    -gdb-set $s26=0x0
    ^error,msg=”No registers.”
    -gdb-set $s27=0x0
    ^error,msg=”No registers.”
    -gdb-set $s28=0x0
    ^error,msg=”No registers.”
    -gdb-set $s29=0x0
    ^error,msg=”No registers.”
    -gdb-set $s30=0x0
    ^error,msg=”No registers.”
    -stack-list-frames
    ^error,msg=”No registers.”
    -stack-list-frames 0 0
    ^error,msg=”No registers.”
    -data-evaluate-expression “\$pc”
    ^error,msg=”No registers.”
    -stack-list-frames
    ^error,msg=”No registers.”
    -stack-list-frames 0 0
    ^error,msg=”No registers.”
    -data-evaluate-expression “\$pc”
    ^error,msg=”No registers.”
    ^error,msg=”No registers.”
    ^error,msg=”No registers.”
    -interpreter-exec console flushregs
    ~”Register cache flushed.\n”
    ^done
    -gdb-set $r0=0x0
    ^error,msg=”No registers.”
    -gdb-set $r1=0x0
    ^error,msg=”No registers.”
    -gdb-set $r2=0x0
    ^error,msg=”No registers.”
    -gdb-set $r3=0x0
    ^error,msg=”No registers.”
    -gdb-set $r4=0x0
    ^error,msg=”No registers.”
    -gdb-set $r5=0x0
    ^error,msg=”No registers.”
    -gdb-set $r6=0x0
    ^error,msg=”No registers.”
    -gdb-set $r7=0x200014e4
    ^error,msg=”No registers.”
    -gdb-set $r8=0x0
    ^error,msg=”No registers.”
    -gdb-set $r9=0x0
    ^error,msg=”No registers.”
    -gdb-set $r10=0x0
    ^error,msg=”No registers.”
    -gdb-set $r11=0x0
    ^error,msg=”No registers.”
    -gdb-set $r12=0x0
    ^error,msg=”No registers.”
    -gdb-set $r13=0x200014e4
    ^error,msg=”No registers.”
    -gdb-set $r14=0x801747b
    ^error,msg=”No registers.”
    -gdb-set $r15=0x801746c
    ^error,msg=”No registers.”
    -gdb-set $s0=0x0
    ^error,msg=”No registers.”
    -gdb-set $s1=0x1
    ^error,msg=”No registers.”
    -gdb-set $s2=0x0
    ^error,msg=”No registers.”
    -gdb-set $s3=0x0
    ^error,msg=”No registers.”
    -gdb-set $s4=0x0
    ^error,msg=”No registers.”
    -gdb-set $s5=0x0
    ^error,msg=”No registers.”
    -gdb-set $s6=0x0
    ^error,msg=”No registers.”
    -gdb-set $s7=0x0
    ^error,msg=”No registers.”
    -gdb-set $s8=0x0
    ^error,msg=”No registers.”
    -gdb-set $s9=0x0
    ^error,msg=”No registers.”
    -gdb-set $s10=0x0
    ^error,msg=”No registers.”
    -gdb-set $s11=0x0
    ^error,msg=”No registers.”
    -gdb-set $s12=0x0
    ^error,msg=”No registers.”
    -gdb-set $s13=0x1
    ^error,msg=”No registers.”
    -gdb-set $s14=0x5
    ^error,msg=”No registers.”
    -gdb-set $s15=0x0
    ^error,msg=”No registers.”
    -gdb-set $s16=0x0
    ^error,msg=”No registers.”
    -gdb-set $s17=0x0
    ^error,msg=”No registers.”
    -gdb-set $s18=0x0
    ^error,msg=”No registers.”
    -gdb-set $s19=0x0
    ^error,msg=”No registers.”
    -gdb-set $s20=0x0
    ^error,msg=”No registers.”
    -gdb-set $s21=0x0
    ^error,msg=”No registers.”
    -gdb-set $s22=0x0
    ^error,msg=”No registers.”
    -gdb-set $s23=0x0
    ^error,msg=”No registers.”
    -gdb-set $s24=0x0
    ^error,msg=”No registers.”
    -gdb-set $s25=0x0
    ^error,msg=”No registers.”
    -gdb-set $s26=0x0
    ^error,msg=”No registers.”
    -gdb-set $s27=0x0
    ^error,msg=”No registers.”
    -gdb-set $s28=0x0
    ^error,msg=”No registers.”
    -gdb-set $s29=0x0
    ^error,msg=”No registers.”
    -gdb-set $s30=0x0
    ^error,msg=”No registers.”
    -stack-list-frames
    ^error,msg=”No registers.”
    -stack-list-frames 0 0
    ^error,msg=”No registers.”
    -data-evaluate-expression “\$pc”
    ^error,msg=”No registers.”
    -stack-list-frames
    ^error,msg=”No registers.”
    -stack-list-frames 0 0
    ^error,msg=”No registers.”
    -data-evaluate-expression “\$pc”
    ^error,msg=”No registers.”
    -data-evaluate-expression “opsy::kernel::scheduler::current_task_”
    ^done,value=”0x0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[0]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[26]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[27]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[28]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[29]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[2]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[3]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[4]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[5]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[6]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[7]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[8]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[9]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[30]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[31]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[32]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[33]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[34]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[35]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[36]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[37]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[38]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[39]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[40]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[41]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[42]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[43]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[44]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[45]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[46]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[47]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[48]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[10]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[11]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[12]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[13]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[14]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[15]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[16]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[17]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[18]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[19]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[20]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[21]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[22]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[23]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[24]”
    ^done,value=”0″
    -data-evaluate-expression “\(\(uint32_t\*\)\(0x20003420\)\)\[25]”
    ^done,value=”0″
    -data-evaluate-expression “\$s31″
    ^error,msg=”No registers.”
    -interpreter-exec console flushregs
    ~”Register cache flushed.\n”
    ^done
    -gdb-set $r0=0x0
    ^error,msg=”No registers.”
    -gdb-set $r1=0x0
    ^error,msg=”No registers.”
    -gdb-set $r2=0x0
    ^error,msg=”No registers.”
    -gdb-set $r3=0x0
    ^error,msg=”No registers.”
    -gdb-set $r4=0x0
    ^error,msg=”No registers.”
    -gdb-set $r5=0x0
    ^error,msg=”No registers.”
    -gdb-set $r6=0x0
    ^error,msg=”No registers.”
    -gdb-set $r7=0x0
    ^error,msg=”No registers.”
    -gdb-set $r8=0x0
    ^error,msg=”No registers.”
    -gdb-set $r9=0x0
    ^error,msg=”No registers.”
    -gdb-set $r10=0x0
    ^error,msg=”No registers.”
    -gdb-set $r11=0x0
    ^error,msg=”No registers.”
    -gdb-set $r12=0x0
    ^error,msg=”No registers.”
    -gdb-set $r13=0x20003488
    ^error,msg=”No registers.”
    -gdb-set $r14=0x0
    ^error,msg=”No registers.”
    -gdb-set $r15=0x0
    ^error,msg=”No registers.”
    -gdb-set $s0=0x0
    ^error,msg=”No registers.”
    -gdb-set $s1=0x0
    ^error,msg=”No registers.”
    -gdb-set $s2=0x0
    ^error,msg=”No registers.”
    -gdb-set $s3=0x0
    ^error,msg=”No registers.”
    -gdb-set $s4=0x0
    ^error,msg=”No registers.”
    -gdb-set $s5=0x0
    ^error,msg=”No registers.”
    -gdb-set $s6=0x0
    ^error,msg=”No registers.”
    -gdb-set $s7=0x0
    ^error,msg=”No registers.”
    -gdb-set $s8=0x0
    ^error,msg=”No registers.”
    -gdb-set $s9=0x0
    ^error,msg=”No registers.”
    -gdb-set $s10=0x0
    ^error,msg=”No registers.”
    -gdb-set $s11=0x0
    ^error,msg=”No registers.”
    -gdb-set $s12=0x0
    ^error,msg=”No registers.”
    -gdb-set $s13=0x0
    ^error,msg=”No registers.”
    -gdb-set $s14=0x0
    ^error,msg=”No registers.”
    -gdb-set $s15=0x0
    ^error,msg=”No registers.”
    -gdb-set $s16=0x0
    ^error,msg=”No registers.”
    -gdb-set $s17=0x0
    ^error,msg=”No registers.”
    -gdb-set $s18=0x0
    ^error,msg=”No registers.”
    -gdb-set $s19=0x0
    ^error,msg=”No registers.”
    -gdb-set $s20=0x0
    ^error,msg=”No registers.”
    -gdb-set $s21=0x0
    ^error,msg=”No registers.”
    -gdb-set $s22=0x0
    ^error,msg=”No registers.”
    -gdb-set $s23=0x0
    ^error,msg=”No registers.”
    -gdb-set $s24=0x0
    ^error,msg=”No registers.”
    -gdb-set $s25=0x0
    ^error,msg=”No registers.”
    -gdb-set $s26=0x0
    ^error,msg=”No registers.”
    -gdb-set $s27=0x0
    ^error,msg=”No registers.”
    -gdb-set $s28=0x0
    ^error,msg=”No registers.”
    -gdb-set $s29=0x0
    ^error,msg=”No registers.”
    -gdb-set $s30=0x0
    ^error,msg=”No registers.”
    -stack-list-frames
    ^error,msg=”No registers.”
    -stack-list-frames 0 0
    ^error,msg=”No registers.”
    -data-evaluate-expression “\$pc”
    ^error,msg=”No registers.”
    -stack-list-frames
    ^error,msg=”No registers.”
    -stack-list-frames 0 0
    ^error,msg=”No registers.”
    -data-evaluate-expression “\$pc”
    ^error,msg=”No registers.”
    -interpreter-exec console flushregs
    ~”Register cache flushed.\n”
    ^done
    -gdb-set $r0=0x0
    ^error,msg=”No registers.”
    -gdb-set $r1=0x0
    ^error,msg=”No registers.”
    -gdb-set $r2=0x0
    ^error,msg=”No registers.”
    -gdb-set $r3=0x0
    ^error,msg=”No registers.”
    -gdb-set $r4=0x0
    ^error,msg=”No registers.”
    -gdb-set $r5=0x0
    ^error,msg=”No registers.”
    -gdb-set $r6=0x0
    ^error,msg=”No registers.”
    -gdb-set $r7=0x200014e4
    ^error,msg=”No registers.”
    -gdb-set $r8=0x0
    ^error,msg=”No registers.”
    -gdb-set $r9=0x0
    ^error,msg=”No registers.”
    -gdb-set $r10=0x0
    ^error,msg=”No registers.”
    -gdb-set $r11=0x0
    ^error,msg=”No registers.”
    -gdb-set $r12=0x0
    ^error,msg=”No registers.”
    -gdb-set $r13=0x200014e4
    ^error,msg=”No registers.”
    -gdb-set $r14=0x801747b
    ^error,msg=”No registers.”
    -gdb-set $r15=0x801746c
    ^error,msg=”No registers.”
    -gdb-set $s0=0x0
    ^error,msg=”No registers.”
    -gdb-set $s1=0x1
    ^error,msg=”No registers.”
    -gdb-set $s2=0x0
    ^error,msg=”No registers.”
    -gdb-set $s3=0x0
    ^error,msg=”No registers.”
    -gdb-set $s4=0x0
    ^error,msg=”No registers.”
    -gdb-set $s5=0x0
    ^error,msg=”No registers.”
    -gdb-set $s6=0x0
    ^error,msg=”No registers.”
    -gdb-set $s7=0x0
    ^error,msg=”No registers.”
    -gdb-set $s8=0x0
    ^error,msg=”No registers.”
    -gdb-set $s9=0x0
    ^error,msg=”No registers.”
    -gdb-set $s10=0x0
    ^error,msg=”No registers.”
    -gdb-set $s11=0x0
    ^error,msg=”No registers.”
    -gdb-set $s12=0x0
    ^error,msg=”No registers.”
    -gdb-set $s13=0x1
    ^error,msg=”No registers.”
    -gdb-set $s14=0x5
    ^error,msg=”No registers.”
    -gdb-set $s15=0x0
    ^error,msg=”No registers.”
    -gdb-set $s16=0x0
    ^error,msg=”No registers.”
    -gdb-set $s17=0x0
    ^error,msg=”No registers.”
    -gdb-set $s18=0x0
    ^error,msg=”No registers.”
    -gdb-set $s19=0x0
    ^error,msg=”No registers.”
    -gdb-set $s20=0x0
    ^error,msg=”No registers.”
    -gdb-set $s21=0x0
    ^error,msg=”No registers.”
    -gdb-set $s22=0x0
    ^error,msg=”No registers.”
    -gdb-set $s23=0x0
    ^error,msg=”No registers.”
    -gdb-set $s24=0x0
    ^error,msg=”No registers.”
    -gdb-set $s25=0x0
    ^error,msg=”No registers.”
    -gdb-set $s26=0x0
    ^error,msg=”No registers.”
    -gdb-set $s27=0x0
    ^error,msg=”No registers.”
    -gdb-set $s28=0x0
    ^error,msg=”No registers.”
    -gdb-set $s29=0x0
    ^error,msg=”No registers.”
    -gdb-set $s30=0x0
    ^error,msg=”No registers.”
    -stack-list-frames
    ^error,msg=”No registers.”
    -stack-list-frames 0 0
    ^error,msg=”No registers.”
    -data-evaluate-expression “\$pc”
    ^error,msg=”No registers.”
    -stack-list-frames
    ^error,msg=”No registers.”
    -stack-list-frames 0 0
    ^error,msg=”No registers.”
    -data-evaluate-expression “\$pc”
    ^error,msg=”No registers.”

     

    The log doesn’t show anything, it just gets the stacked values or registers, then try to set them to the real registers to change context, but first register it tries to set, it disconnects. Then everything is replied with error “No registers.”.

    If I don’t use the plugin to get threads from my RTOS, everything works fine, so it has to be related, but how ???? I’m stuck on this one for days now …

    Thomas.

    in reply to: Custom RTOS support fails at stack-list-frames #12228
    Otatiaro
    Participant

    I just tried RealTime Watch, and as soon as I enable “Allow tracing function calls in Real-time Watch”, I get the same kind of errors (locks up but release with errors after a few seconds).

    in reply to: Custom RTOS support fails at stack-list-frames #12227
    Otatiaro
    Participant

    Ok some more debug on this, I start to see a pattern, it seems to always go into error when it sets back R7 to its original value, then the GDB console gets an error “PC not available”, all commands thereafter are replied with “No registers.”

    I am now almost 100% certain my code is correct, as I can see the values injected in the registers are ok (I even changed my code to send them in a increasing sequence from R0 to R15, then the S0-S31 registers if needed), using Ozone from SEGGER if I manually inject the register values I correctly switch from one task to another and get the correct stack frames.

    Also, when the command is working, I can see GDB sends a register cache flush, sends now registers values, THEN call -stack-list-frames, but when it fails, the -stack-list-frames is sent BEFORE the registers are fully set.

    Working:

    1003-interpreter-exec console flushregs
    1004-gdb-set $r0=0x3e8
    1005-gdb-set $r1=0xffffffff
    1006-gdb-set $r2=0x1000
    1007-gdb-set $r3=0x3e8
    1008-gdb-set $r4=0x0
    1009-gdb-set $r5=0x0
    1010-gdb-set $r6=0x0
    1011-gdb-set $r7=0x2000434c
    1012-gdb-set $r8=0x0
    1013-gdb-set $r9=0x0
    1014-gdb-set $r10=0x0
    1015-gdb-set $r11=0x0
    1016-gdb-set $r12=0x0
    1017-gdb-set $r13=0x20004328
    1018-gdb-set $r14=0x8015cf7
    1019-gdb-set $r15=0x801333a
    Register cache flushed.
    1003^done
    1004^done
    1005^done
    1006^done
    1007^done
    1008^done
    1009^done
    1010^done
    1011^done
    1012^done
    1013^done
    1014^done
    1015^done
    1016^done
    1017^done
    1018^done
    1019^done
    -stack-list-frames
    ^done,stack=[frame={level=”0″,addr=”0x0801333a”,func=”opsy::kernel::scheduler::sleep”,file=”src/opsy/Kernel/scheduler.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Kernel\\scheduler.hpp”,line=”369″},frame={level=”1″,addr=”0x08015cf6″,func=”<lambda(uint32_t)>::operator()(uint32_t) const”,file=”src/main.cpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\main.cpp”,line=”55″},frame={level=”2″,addr=”0x08015d88″,func=”<lambda(uint32_t)>::_FUN(uint32_t)”,file=”src/main.cpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\main.cpp”,line=”78″},frame={level=”3″,addr=”0x080138be”,func=”opsy::kernel::scheduler::terminate_current_task”,file=”src/opsy/Kernel/scheduler.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Kernel\\scheduler.hpp”,line=”677″}]

     

    Non working:

    1020-interpreter-exec console flushregs
    1021-gdb-set $r0=0x1f4
    1022-gdb-set $r1=0x0
    1023-gdb-set $r2=0x0
    1024-gdb-set $r3=0x1f4
    1025-gdb-set $r4=0x0
    1026-gdb-set $r5=0x0
    1027-gdb-set $r6=0x0
    1028-gdb-set $r7=0x200083b4
    1029-gdb-set $r8=0x0
    1030-gdb-set $r9=0x0
    1031-gdb-set $r10=0x0
    1032-gdb-set $r11=0x0
    1033-gdb-set $r12=0x0
    1034-gdb-set $r13=0x200083b4
    1035-gdb-set $r14=0x8015df9
    1036-gdb-set $r15=0x8015df8
    Register cache flushed.
    1020^done
    1021^done
    1022^done
    1023^done
    1024^done
    1025^done
    1026^done
    1027^done
    1028^done
    1029^done
    -stack-list-frames
    -stack-list-frames 0 0
    The target is not responding to GDB commands.

     

    Could this be the problem ? This would explain the “PC not available” error message, because it is not set yet, and the subsequent “no registers”, because the register set is not full.

    Then this would be a problem on GDB timings/synchronization? Could you confirm (and fix if it’s a problem on your side)?

    The weird thing is … it was working the first day (I did a huge refactoring in between to comply with ReSharper naming conventions), I even showed my co-workers the result, could it be a bug introduced in a recent update?

    Is there a way to make GDB to validate each command before sending the next one? This would be very slow, but would prove this is the issue.

    Thomas.

    in reply to: Custom RTOS support fails at stack-list-frames #12226
    Otatiaro
    Participant

    The problem really seems to be when it gets back to the idle task stack frame …

    in reply to: Custom RTOS support fails at stack-list-frames #12225
    Otatiaro
    Participant

    I removed xPSR and CONTROL from the saved registers list, now I get different errors, but this one seems interesting:

    -stack-list-frames
    Ignoring packet error, continuing…
    &”Reply contains invalid hex digit 116\n”
    1048^done
    &”Quit (expect signal SIGINT when the program is resumed)\n”
    ../../gdb-7.12/gdb/findvar.c:291: internal-error: value* value_of_register_lazy(frame_info*, int): Assertion `frame_id_p (get_frame_id (frame))’ failed.
    A problem internal to GDB has been detected,
    further debugging may prove unreliable.
    Quit this debugging session?
    (y or n) [answered Y; input not from terminal]
    &”\nThis is a bug, please report it.”
    &”  For instructions, see:\n<http://www.gnu.org/software/gdb/bugs/&gt;.”
    &”\n\n”
    ../../gdb-7.12/gdb/findvar.c:291: internal-error: value* value_of_register_lazy(frame_info*, int): Assertion `frame_id_p (get_frame_id (frame))’ failed.
    A problem internal to GDB has been detected,
    further debugging may prove unreliable.
    Create a core file of GDB?
    (y or n) [answered Y; input not from terminal]
    This application has requested the Runtime to terminate it in an unusual way.
    Please contact the application’s support team for more information.

    in reply to: Custom RTOS support fails at stack-list-frames #12224
    Otatiaro
    Participant

    Hello,

    I’m afraid my problem is not fixed in 1759 🙁

    Here is the log:

    e:\SysGCC\arm-eabi\bin\arm-eabi-gdb.exe –interpreter mi D:\GIT\remote\Firmware\VisualGDB\Debug\MantaRemote.elf
    [       0 ms] -gdb-version
    [      27 ms] =thread-group-added,id=”i1″
    [      37 ms] ~”GNU gdb (GDB) 7.12\n”
    [      37 ms] ~”Copyright (C) 2016 Free Software Foundation, Inc.\n”
    [      37 ms] ~”License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html&gt;\nThis is free software: you are free to change and redistribute it.\nThere is NO WARRANTY, to the extent permitted by law.  Type \”show copying\”\nand \”show warranty\” for details.\n”
    [      37 ms] ~”This GDB was configured as \”–host=i686-pc-mingw32 –target=arm-eabi\”.\nType \”show configuration\” for configuration details.”
    [      37 ms] ~”\nFor bug reporting instructions, please see:\n”
    [      37 ms] ~”<http://www.gnu.org/software/gdb/bugs/&gt;.\n”
    [      37 ms] ~”Find the GDB manual and other documentation resources online at:\n<http://www.gnu.org/software/gdb/documentation/&gt;.\n”
    [      37 ms] ~”For help, type \”help\”.\n”
    [      37 ms] ~”Type \”apropos word\” to search for commands related to \”word\”…\n”
    [      37 ms] ~”Reading symbols from D:\\GIT\\remote\\Firmware\\VisualGDB\\Debug\\MantaRemote.elf…”
    [      39 ms] ~”done.\n”
    [      51 ms] ~”GNU gdb (GDB) 7.12\n”
    [      51 ms] ~”Copyright (C) 2016 Free Software Foundation, Inc.\n”
    [      52 ms] ~”License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html&gt;\nThis is free software: you are free to change and redistribute it.\nThere is NO WARRANTY, to the extent permitted by law.  Type \”show copying\”\nand \”show warranty\” for details.\n”
    [      52 ms] ~”This GDB was configured as \”–host=i686-pc-mingw32 –target=arm-eabi\”.\nType \”show configuration\” for configuration details.”
    [      52 ms] ~”\nFor bug reporting instructions, please see:\n”
    [      52 ms] ~”<http://www.gnu.org/software/gdb/bugs/&gt;.\n”
    [      53 ms] ~”Find the GDB manual and other documentation resources online at:\n<http://www.gnu.org/software/gdb/documentation/&gt;.\n”
    [      53 ms] ~”For help, type \”help\”.\n”
    [      53 ms] ~”Type \”apropos word\” to search for commands related to \”word\”.\n”
    [      53 ms] ^done
    [      55 ms] -list-features
    [      63 ms] ^done,features=[“frozen-varobjs”,”pending-breakpoints”,”thread-info”,”data-read-memory-bytes”,”breakpoint-notifications”,”ada-task-info”,”language-option”,”info-gdb-mi-command”,”undefined-command-error-code”,”exec-run-start-option”]
    [      66 ms] -gdb-set disassembly-flavor intel
    [      75 ms] ^error,msg=”No symbol \”disassembly\” in current context.”
    [      75 ms] -gdb-set print demangle off
    [      75 ms] ^done
    [     164 ms] -break-insert -f main
    [     166 ms] ^done,bkpt={number=”1″,type=”breakpoint”,disp=”keep”,enabled=”y”,addr=”0x08015eb8″,func=”main()”,file=”src/main.cpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\main.cpp”,line=”92″,thread-groups=[“i1″],times=”0″,original-location=”main”}
    [     178 ms] target remote :53339
    [     186 ms] &”target remote :53339\n”
    [     196 ms] ~”Remote debugging using :53339\n”
    [     201 ms] =thread-group-started,id=”i1″,pid=”42000″
    [     202 ms] =thread-created,id=”1″,group-id=”i1″
    [     215 ms] ~”<lambda()>::operator()(void) const (__closure=0x0) at src/main.cpp:35\n”
    [     215 ms] ~”35\t\t\t__NOP();\n”
    [     215 ms] *stopped,frame={addr=”0x08015c6e”,func=”<lambda()>::operator()(void) const”,args=[{name=”__closure”,value=”0x0″}],file=”src/main.cpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\main.cpp”,line=”35″},thread-id=”1″,stopped-threads=”all”
    [     225 ms] ^done
    [     225 ms] mon reset
    [     235 ms] &”mon reset\n”
    [     306 ms] @”Resetting target\r\n”
    [     306 ms] ^done
    [     306 ms] info shared
    [     314 ms] &”info shared\n”
    [     314 ms] ~”No shared libraries loaded at this time.\n”
    [     314 ms] ^done
    [     314 ms] load
    [     324 ms] &”load\n”
    [     324 ms] ~”Loading section boot_vector, size 0x10000 lma 0x8000000\n”
    [     326 ms] +download,{section=”boot_vector”,section-size=”65536″,total-size=”585694″}
    [     326 ms] +download,{section=”boot_vector”,section-sent=”16352″,section-size=”65536″,total-sent=”16352″,total-size=”585694″}
    [     328 ms] ~”Loading section .text, size 0x87a8 lma 0x8010000\n”
    [     329 ms] +download,{section=”.text”,section-size=”34728″,total-size=”585694″}
    [     331 ms] ~”Loading section .rodata, size 0x8f34 lma 0x80187a8\n”
    [     332 ms] +download,{section=”.rodata”,section-size=”36660″,total-size=”585694″}
    [     333 ms] ~”Loading section .ARM, size 0x8 lma 0x80216dc\n”
    [     333 ms] +download,{section=”.ARM”,section-size=”8″,total-size=”585694″}
    [     333 ms] ~”Loading section .init_array, size 0x14 lma 0x80216e4\n”
    [     334 ms] +download,{section=”.init_array”,section-size=”20″,total-size=”585694″}
    [     334 ms] ~”Loading section .fini_array, size 0x4 lma 0x80216f8\n”
    [     334 ms] +download,{section=”.fini_array”,section-size=”4″,total-size=”585694″}
    [     334 ms] ~”Loading section .data, size 0x70 lma 0x80216fc\n”
    [     335 ms] +download,{section=”.data”,section-size=”112″,total-size=”585694″}
    [     335 ms] ~”Start address 0x8015eb4, load size 137068\n”
    [    1027 ms] ~”Transfer rate: 12168 KB/sec, 9137 bytes/write.\n”
    [    1027 ms] ^done
    [    1029 ms] mon reset
    [    1037 ms] &”mon reset\n”
    [    1106 ms] @”Resetting target\r\n”
    [    1106 ms] ^done
    [    1121 ms] -data-evaluate-expression “sizeof(void *)”
    [    1127 ms] ^done,value=”4″
    [    1127 ms] -data-evaluate-expression “sizeof(int)”
    [    1138 ms] ^done,value=”4″
    [    1138 ms] ^done,value=”4″
    [    1138 ms] -data-evaluate-expression “sizeof(short)”
    [    1138 ms] ^done,value=”2″
    [    1138 ms] -data-evaluate-expression “sizeof(long)”
    [    1138 ms] ^done,value=”4″
    [    1138 ms] -data-evaluate-expression “sizeof(long long)”
    [    1138 ms] ^done,value=”8″
    [    1138 ms] ^done,value=”8″
    [    1138 ms] -data-evaluate-expression “sizeof(char)”
    [    1138 ms] ^done,value=”1″
    [    1138 ms] -data-evaluate-expression “sizeof(wchar_t)”
    [    1149 ms] ^done,value=”4″
    [    1149 ms] ^done,value=”4″
    [    1149 ms] -data-evaluate-expression “sizeof(float)”
    [    1149 ms] ^done,value=”4″
    [    1149 ms] -data-evaluate-expression “sizeof(double)”
    [    1149 ms] ^done,value=”8″
    [    1149 ms] -data-evaluate-expression “sizeof(long double)”
    [    1150 ms] ^done,value=”8″
    [    1600 ms] info target
    [    1601 ms] &”info target\n”
    [    1601 ms] ~”Symbols from \”D:\\GIT\\remote\\Firmware\\VisualGDB\\Debug\\MantaRemote.elf\”.\n”
    [    1601 ms] ~”Remote serial target in gdb-specific protocol:\n”
    [    1601 ms] ~”Debugging a target over a serial line.\n”
    [    1602 ms] ~”\tWhile running this, GDB does not access memory from…\n”
    [    1602 ms] ~”Local exec file:\n”
    [    1602 ms] ~”\t`D:\\GIT\\remote\\Firmware\\VisualGDB\\Debug\\MantaRemote.elf’, file type elf32-littlearm.\n”
    [    1603 ms] ~”\tEntry point: 0x8015eb4\n”
    [    1603 ms] ~”\t0x08000000 – 0x08010000 is boot_vector\n”
    [    1603 ms] ~”\t0x08010000 – 0x080187a8 is .text\n”
    [    1603 ms] ~”\t0x080187a8 – 0x080216dc is .rodata\n”
    [    1603 ms] ~”\t0x080216dc – 0x080216e4 is .ARM\n”
    [    1603 ms] ~”\t0x080216e4 – 0x080216f8 is .init_array\n”
    [    1604 ms] ~”\t0x080216f8 – 0x080216fc is .fini_array\n”
    [    1604 ms] ~”\t0x20000000 – 0x20000070 is .data\n”
    [    1604 ms] ~”\t0x20000200 – 0x20006174 is .bss\n”
    [    1604 ms] ^done
    [    1616 ms] -break-insert -f *0x080130c0
    [    1627 ms] ^done,bkpt={number=”2″,type=”breakpoint”,disp=”keep”,enabled=”y”,addr=”0x080130c0″,func=”opsy::kernel::scheduler::start(unsigned long, unsigned long, unsigned long*, opsy::kernel::idle_task&)”,file=”src/opsy/Kernel/scheduler.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Kernel\\scheduler.hpp”,line=”63″,thread-groups=[“i1″],times=”0″,original-location=”*0x080130c0″}
    [    1639 ms] -break-after 2 0
    [    1649 ms] ^done
    [    1650 ms] -break-disable 2
    [    1659 ms] ^done
    [    1678 ms] info symbol 0x80130c0
    [    1679 ms] &”info symbol 0x80130c0\n”
    [    1679 ms] ~”_ZN4opsy6kernel9scheduler5startEmmPmRNS0_9idle_taskE + 92 in section .text\n”
    [    1679 ms] ^done
    [    1683 ms] info line *0x80130c0
    [    1689 ms] &”info line *0x80130c0\n”
    [    1691 ms] ~”Line 63 of \”src/opsy/Kernel/scheduler.hpp\” starts at address 0x80130a8 <opsy::kernel::scheduler::start(unsigned long, unsigned long, unsigned long*, opsy::kernel::idle_task&)+68> and ends at 0x80130c2 <opsy::kernel::scheduler::start(unsigned long, unsigned long, unsigned long*, opsy::kernel::idle_task&)+94>.\n”
    [    1691 ms] ^done
    [    1695 ms] -file-list-exec-source-files
    [    1798 ms] ^done,files=[{file=”src/main.cpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\main.cpp”},{file=”src/opsy/Vendor/STM32/../core_cm4.h”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Vendor\\core_cm4.h”},{file=”src/opsy/Kernel/task.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Kernel\\task.hpp”},{file=”src/opsy/Kernel/../util.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\util.hpp”},{file=”src/opsy/Kernel/systemView.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Kernel\\systemView.hpp”},{file=”E:/SysGCC/arm-eabi/arm-eabi/include/c++/6.2.0/arm-eabi/bits/gthr-default.h”,fullname=”E:\\SysGCC\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\arm-eabi\\bits\\gthr-default.h”},{file=”src/opsy/Kernel/../Logs/ListenerBase.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Logs\\ListenerBase.hpp”},{file=”src/opsy/Kernel/../Logs/logger.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Logs\\logger.hpp”},{file=”src/opsy/Kernel/scheduler.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Kernel\\scheduler.hpp”},{file=”src/opsy/Vendor/STM32/../cmsis_gcc.h”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Vendor\\cmsis_gcc.h”},{file=”src/opsy/Logs/breakOnSeverity.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Logs\\breakOnSeverity.hpp”},{file=”src/drivers/btnInputs.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\drivers\\btnInputs.hpp”},{file=”src/drivers/buzzer.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\drivers\\buzzer.hpp”},{file=”src/drivers/power.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\drivers\\power.hpp”},{file=”src/opsy/Kernel/Impl/singleWaiterEvent.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Kernel\\Impl\\singleWaiterEvent.hpp”},{file=”src/drivers/screen.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\drivers\\screen.hpp”},{file=”src/opsy/Matrix/vector3D.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Matrix\\vector3D.hpp”},{file=”src/opsy/Matrix/Matrix.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Matrix\\Matrix.hpp”},{file=”src/opsy/Matrix/vector.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Matrix\\vector.hpp”},{file=”src/drivers/imu.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\drivers\\imu.hpp”},{file=”src/userInterface.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\userInterface.hpp”},{file=”src/opsy/Logs/sysviewListener.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Logs\\sysviewListener.hpp”},{file=”src/graphics/imageBuffer.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\graphics\\imageBuffer.hpp”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0/array”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\array”},{file=”src/opsy/Vendor/STM32/stm32l471xx.h”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Vendor\\STM32\\stm32l471xx.h”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include\\machine/_default_types.h”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include\\machine\\_default_types.h”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include\\sys/_stdint.h”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include\\sys\\_stdint.h”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include/stdint.h”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include\\stdint.h”},{file=”src/opsy/Kernel/svcCallEnum.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Kernel\\svcCallEnum.hpp”},{file=”src/opsy/Kernel/waitable.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Kernel\\waitable.hpp”},{file=”src/opsy/Kernel/../Logs/Severity.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Logs\\Severity.hpp”},{file=”src/opsy/Matrix/point.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Matrix\\point.hpp”},{file=”src/opsy/Kernel/../Vendor/Segger/SEGGER_SYSVIEW.h”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Vendor\\Segger\\SEGGER_SYSVIEW.h”},{file=”src/opsy/Kernel/../Data/fifo.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Data\\fifo.hpp”},{file=”E:/SysGCC/arm-eabi/arm-eabi/include/c++/6.2.0/arm-eabi/bits/c++config.h”,fullname=”E:\\SysGCC\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\arm-eabi\\bits\\c++config.h”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\bits/cpp_type_traits.h”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\bits\\cpp_type_traits.h”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0/cmath”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\cmath”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0/type_traits”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\type_traits”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\bits/stl_pair.h”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\bits\\stl_pair.h”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\bits/exception_ptr.h”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\bits\\exception_ptr.h”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\debug/debug.h”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\debug\\debug.h”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0/cwchar”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\cwchar”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0/cstdint”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\cstdint”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0/new”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\new”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0/clocale”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\clocale”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0/cstdlib”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\cstdlib”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0/cstdio”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\cstdio”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\bits/basic_string.h”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\bits\\basic_string.h”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\bits/predefined_ops.h”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\bits\\predefined_ops.h”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\ext/new_allocator.h”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\ext\\new_allocator.h”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\ext/numeric_traits.h”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\ext\\numeric_traits.h”},{file=”e:\\sysgcc\\arm-eabi\\lib\\gcc\\arm-eabi\\6.2.0\\include/stddef.h”,fullname=”e:\\sysgcc\\arm-eabi\\lib\\gcc\\arm-eabi\\6.2.0\\include\\stddef.h”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include\\sys/lock.h”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include\\sys\\lock.h”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include\\sys/_types.h”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include\\sys\\_types.h”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include\\sys/reent.h”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include\\sys\\reent.h”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include/math.h”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include\\math.h”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0/math.h”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\math.h”},{file=”e:\\sysgcc\\arm-eabi\\lib\\gcc\\arm-eabi\\6.2.0\\include/stdarg.h”,fullname=”e:\\sysgcc\\arm-eabi\\lib\\gcc\\arm-eabi\\6.2.0\\include\\stdarg.h”},{file=”<built-in>”,fullname=”D:\\GIT\\remote\\Firmware/<built-in>”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include/wchar.h”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include\\wchar.h”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include/locale.h”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include\\locale.h”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include/ctype.h”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include\\ctype.h”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include/stdlib.h”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include\\stdlib.h”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include/stdio.h”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include\\stdio.h”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include\\sys/errno.h”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\sys-include\\sys\\errno.h”},{file=”src/graphics/color.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\graphics\\color.hpp”},{file=”../../../../../../../../newlib-nano-2016q3/newlib/libc/reent/reent.c”,fullname=”/q/gnu/newlib-nano/build-2016q3/arm-eabi/thumb/fpu/cortex_m4/newlib/libc/reent/../../../../../../../../newlib-nano-2016q3/newlib/libc/reent/reent.c”},{file=”../../../../../../../../newlib-nano-2016q3/newlib/libc/stdlib/mlock.c”,fullname=”/q/gnu/newlib-nano/build-2016q3/arm-eabi/thumb/fpu/cortex_m4/newlib/libc/stdlib/../../../../../../../../newlib-nano-2016q3/newlib/libc/stdlib/mlock.c”},{file=”../../../../../../../../newlib-nano-2016q3/newlib/libc/string/strnlen.c”,fullname=”/q/gnu/newlib-nano/build-2016q3/arm-eabi/thumb/fpu/cortex_m4/newlib/libc/string/../../../../../../../../newlib-nano-2016q3/newlib/libc/string/strnlen.c”},{file=”../../../../../../../../newlib-nano-2016q3/newlib/libc/reent/sbrkr.c”,fullname=”/q/gnu/newlib-nano/build-2016q3/arm-eabi/thumb/fpu/cortex_m4/newlib/libc/reent/../../../../../../../../newlib-nano-2016q3/newlib/libc/reent/sbrkr.c”},{file=”../../../../../../../../newlib-nano-2016q3/newlib/libc/stdlib/nano-mallocr.c”,fullname=”/q/gnu/newlib-nano/build-2016q3/arm-eabi/thumb/fpu/cortex_m4/newlib/libc/stdlib/../../../../../../../../newlib-nano-2016q3/newlib/libc/stdlib/nano-mallocr.c”},{file=”../../../../../../../../newlib-nano-2016q3/newlib/libc/stdlib/nano-mallocr.c”,fullname=”/q/gnu/newlib-nano/build-2016q3/arm-eabi/thumb/fpu/cortex_m4/newlib/libc/stdlib/../../../../../../../../newlib-nano-2016q3/newlib/libc/stdlib/nano-mallocr.c”},{file=”../../../../../../../../newlib-nano-2016q3/newlib/libc/string/memset.c”,fullname=”/q/gnu/newlib-nano/build-2016q3/arm-eabi/thumb/fpu/cortex_m4/newlib/libc/string/../../../../../../../../newlib-nano-2016q3/newlib/libc/string/memset.c”},{file=”../../../../../../../../../newlib-nano-2016q3/newlib/libc/machine/arm/memcpy-armv7m.S”,fullname=”/q/gnu/newlib-nano/build-2016q3/arm-eabi/thumb/fpu/cortex_m4/newlib/libc/machine/arm/../../../../../../../../../newlib-nano-2016q3/newlib/libc/machine/arm/memcpy-armv7m.S”},{file=”../../../../../../../../newlib-nano-2016q3/newlib/libc/stdlib/malloc.c”,fullname=”/q/gnu/newlib-nano/build-2016q3/arm-eabi/thumb/fpu/cortex_m4/newlib/libc/stdlib/../../../../../../../../newlib-nano-2016q3/newlib/libc/stdlib/malloc.c”},{file=”../../../../../../../../newlib-nano-2016q3/newlib/libc/misc/init.c”,fullname=”/q/gnu/newlib-nano/build-2016q3/arm-eabi/thumb/fpu/cortex_m4/newlib/libc/misc/../../../../../../../../newlib-nano-2016q3/newlib/libc/misc/init.c”},{file=”../../../../../../../../newlib-nano-2016q3/newlib/libc/reent/impure.c”,fullname=”/q/gnu/newlib-nano/build-2016q3/arm-eabi/thumb/fpu/cortex_m4/newlib/libc/reent/../../../../../../../../newlib-nano-2016q3/newlib/libc/reent/impure.c”},{file=”../../../../../../../../newlib-nano-2016q3/newlib/libc/errno/errno.c”,fullname=”/q/gnu/newlib-nano/build-2016q3/arm-eabi/thumb/fpu/cortex_m4/newlib/libc/errno/../../../../../../../../newlib-nano-2016q3/newlib/libc/errno/errno.c”},{file=”../../../../../../../../newlib-nano-2016q3/newlib/libc/stdlib/cxa_atexit.c”,fullname=”/q/gnu/newlib-nano/build-2016q3/arm-eabi/thumb/fpu/cortex_m4/newlib/libc/stdlib/../../../../../../../../newlib-nano-2016q3/newlib/libc/stdlib/cxa_atexit.c”},{file=”../../../../../../gcc-6.2.0/libgcc/config/arm/lib1funcs.S”,fullname=”/q/gnu/auto/gcc-bu-2.27+gcc-6.2.0+gmp-5.1.3+mpfr-3.1.2+mpc-1.0.2+newlib-2.4.0.20160923-arm-eabi/arm-eabi/thumb/fpu/cortex_m4/libgcc/../../../../../../gcc-6.2.0/libgcc/config/arm/lib1funcs.S”},{file=”../../../../../../gcc-6.2.0/libgcc/libgcc2.c”,fullname=”/q/gnu/auto/gcc-bu-2.27+gcc-6.2.0+gmp-5.1.3+mpfr-3.1.2+mpc-1.0.2+newlib-2.4.0.20160923-arm-eabi/arm-eabi/thumb/fpu/cortex_m4/libgcc/../../../../../../gcc-6.2.0/libgcc/libgcc2.c”},{file=”../../../../../../gcc-6.2.0/libgcc/config/arm/bpabi.S”,fullname=”/q/gnu/auto/gcc-bu-2.27+gcc-6.2.0+gmp-5.1.3+mpfr-3.1.2+mpc-1.0.2+newlib-2.4.0.20160923-arm-eabi/arm-eabi/thumb/fpu/cortex_m4/libgcc/../../../../../../gcc-6.2.0/libgcc/config/arm/bpabi.S”},{file=”../../../../../../gcc-6.2.0/libgcc/config/arm/ieee754-sf.S”,fullname=”/q/gnu/auto/gcc-bu-2.27+gcc-6.2.0+gmp-5.1.3+mpfr-3.1.2+mpc-1.0.2+newlib-2.4.0.20160923-arm-eabi/arm-eabi/thumb/fpu/cortex_m4/libgcc/../../../../../../gcc-6.2.0/libgcc/config/arm/ieee754-sf.S”},{file=”../../../../../../gcc-6.2.0/libgcc/config/arm/ieee754-df.S”,fullname=”/q/gnu/auto/gcc-bu-2.27+gcc-6.2.0+gmp-5.1.3+mpfr-3.1.2+mpc-1.0.2+newlib-2.4.0.20160923-arm-eabi/arm-eabi/thumb/fpu/cortex_m4/libgcc/../../../../../../gcc-6.2.0/libgcc/config/arm/ieee754-df.S”},{file=”../../../../../../gcc-6.2.0/libgcc/config/arm/ieee754-df.S”,fullname=”/q/gnu/auto/gcc-bu-2.27+gcc-6.2.0+gmp-5.1.3+mpfr-3.1.2+mpc-1.0.2+newlib-2.4.0.20160923-arm-eabi/arm-eabi/thumb/fpu/cortex_m4/libgcc/../../../../../../gcc-6.2.0/libgcc/config/arm/ieee754-df.S”},{file=”../../../../../../gcc-6.2.0/libgcc/config/arm/ieee754-df.S”,fullname=”/q/gnu/auto/gcc-bu-2.27+gcc-6.2.0+gmp-5.1.3+mpfr-3.1.2+mpc-1.0.2+newlib-2.4.0.20160923-arm-eabi/arm-eabi/thumb/fpu/cortex_m4/libgcc/../../../../../../gcc-6.2.0/libgcc/config/arm/ieee754-df.S”},{file=”../../../../../../gcc-6.2.0/libgcc/config/arm/ieee754-df.S”,fullname=”/q/gnu/auto/gcc-bu-2.27+gcc-6.2.0+gmp-5.1.3+mpfr-3.1.2+mpc-1.0.2+newlib-2.4.0.20160923-arm-eabi/arm-eabi/thumb/fpu/cortex_m4/libgcc/../../../../../../gcc-6.2.0/libgcc/config/arm/ieee754-df.S”},{file=”../../../../../../../../newlib-2.4.0.20160923/newlib/libm/common/sf_copysign.c”,fullname=”/q/gnu/auto/newlib-bu-2.27+gcc-6.2.0+gmp-5.1.3+mpfr-3.1.2+mpc-1.0.2+newlib-2.4.0.20160923-arm-eabi/arm-eabi/thumb/fpu/cortex_m4/newlib/libm/common/../../../../../../../../newlib-2.4.0.20160923/newlib/libm/common/sf_copysign.c”},{file=”../../../../../../../../newlib-2.4.0.20160923/newlib/libm/math/ef_log.c”,fullname=”/q/gnu/auto/newlib-bu-2.27+gcc-6.2.0+gmp-5.1.3+mpfr-3.1.2+mpc-1.0.2+newlib-2.4.0.20160923-arm-eabi/arm-eabi/thumb/fpu/cortex_m4/newlib/libm/math/../../../../../../../../newlib-2.4.0.20160923/newlib/libm/math/ef_log.c”},{file=”../../../../../../../../newlib-2.4.0.20160923/newlib/libm/common/sf_scalbn.c”,fullname=”/q/gnu/auto/newlib-bu-2.27+gcc-6.2.0+gmp-5.1.3+mpfr-3.1.2+mpc-1.0.2+newlib-2.4.0.20160923-arm-eabi/arm-eabi/thumb/fpu/cortex_m4/newlib/libm/common/../../../../../../../../newlib-2.4.0.20160923/newlib/libm/common/sf_scalbn.c”},{file=”../../../../../../../../newlib-2.4.0.20160923/newlib/libm/common/sf_nan.c”,fullname=”/q/gnu/auto/newlib-bu-2.27+gcc-6.2.0+gmp-5.1.3+mpfr-3.1.2+mpc-1.0.2+newlib-2.4.0.20160923-arm-eabi/arm-eabi/thumb/fpu/cortex_m4/newlib/libm/common/../../../../../../../../newlib-2.4.0.20160923/newlib/libm/common/sf_nan.c”},{file=”../../../../../../../../newlib-2.4.0.20160923/newlib/libm/common/sf_finite.c”,fullname=”/q/gnu/auto/newlib-bu-2.27+gcc-6.2.0+gmp-5.1.3+mpfr-3.1.2+mpc-1.0.2+newlib-2.4.0.20160923-arm-eabi/arm-eabi/thumb/fpu/cortex_m4/newlib/libm/common/../../../../../../../../newlib-2.4.0.20160923/newlib/libm/common/sf_finite.c”},{file=”../../../../../../../../newlib-2.4.0.20160923/newlib/libm/math/sf_fabs.c”,fullname=”/q/gnu/auto/newlib-bu-2.27+gcc-6.2.0+gmp-5.1.3+mpfr-3.1.2+mpc-1.0.2+newlib-2.4.0.20160923-arm-eabi/arm-eabi/thumb/fpu/cortex_m4/newlib/libm/math/../../../../../../../../newlib-2.4.0.20160923/newlib/libm/math/sf_fabs.c”},{file=”/cygdrive/q/gnu/auto/newlib-2.4.0.20160923/newlib/libm/common/s_rint.c”,fullname=”/cygdrive/q/gnu/auto/newlib-2.4.0.20160923/newlib/libm/common/s_rint.c”},{file=”../../../../../../../../../newlib-2.4.0.20160923/newlib/libm/machine/arm/s_rint.c”,fullname=”/q/gnu/auto/newlib-bu-2.27+gcc-6.2.0+gmp-5.1.3+mpfr-3.1.2+mpc-1.0.2+newlib-2.4.0.20160923-arm-eabi/arm-eabi/thumb/fpu/cortex_m4/newlib/libm/machine/arm/../../../../../../../../../newlib-2.4.0.20160923/newlib/libm/machine/arm/s_rint.c”},{file=”../../../../../../../../newlib-2.4.0.20160923/newlib/libm/common/s_nan.c”,fullname=”/q/gnu/auto/newlib-bu-2.27+gcc-6.2.0+gmp-5.1.3+mpfr-3.1.2+mpc-1.0.2+newlib-2.4.0.20160923-arm-eabi/arm-eabi/thumb/fpu/cortex_m4/newlib/libm/common/../../../../../../../../newlib-2.4.0.20160923/newlib/libm/common/s_nan.c”},{file=”../../../../../../../../newlib-2.4.0.20160923/newlib/libm/common/s_matherr.c”,fullname=”/q/gnu/auto/newlib-bu-2.27+gcc-6.2.0+gmp-5.1.3+mpfr-3.1.2+mpc-1.0.2+newlib-2.4.0.20160923-arm-eabi/arm-eabi/thumb/fpu/cortex_m4/newlib/libm/common/../../../../../../../../newlib-2.4.0.20160923/newlib/libm/common/s_matherr.c”},{file=”../../../../../../../../newlib-2.4.0.20160923/newlib/libm/common/s_lib_ver.c”,fullname=”/q/gnu/auto/newlib-bu-2.27+gcc-6.2.0+gmp-5.1.3+mpfr-3.1.2+mpc-1.0.2+newlib-2.4.0.20160923-arm-eabi/arm-eabi/thumb/fpu/cortex_m4/newlib/libm/common/../../../../../../../../newlib-2.4.0.20160923/newlib/libm/common/s_lib_ver.c”},{file=”../../../../../../../../newlib-2.4.0.20160923/newlib/libm/math/ef_sqrt.c”,fullname=”/q/gnu/auto/newlib-bu-2.27+gcc-6.2.0+gmp-5.1.3+mpfr-3.1.2+mpc-1.0.2+newlib-2.4.0.20160923-arm-eabi/arm-eabi/thumb/fpu/cortex_m4/newlib/libm/math/../../../../../../../../newlib-2.4.0.20160923/newlib/libm/math/ef_sqrt.c”},{file=”../../../../../../../../newlib-2.4.0.20160923/newlib/libm/math/ef_pow.c”,fullname=”/q/gnu/auto/newlib-bu-2.27+gcc-6.2.0+gmp-5.1.3+mpfr-3.1.2+mpc-1.0.2+newlib-2.4.0.20160923-arm-eabi/arm-eabi/thumb/fpu/cortex_m4/newlib/libm/math/../../../../../../../../newlib-2.4.0.20160923/newlib/libm/math/ef_pow.c”},{file=”../../../../../../../../newlib-2.4.0.20160923/newlib/libm/math/ef_log10.c”,fullname=”/q/gnu/auto/newlib-bu-2.27+gcc-6.2.0+gmp-5.1.3+mpfr-3.1.2+mpc-1.0.2+newlib-2.4.0.20160923-arm-eabi/arm-eabi/thumb/fpu/cortex_m4/newlib/libm/math/../../../../../../../../newlib-2.4.0.20160923/newlib/libm/math/ef_log10.c”},{file=”../../../../../../../../newlib-2.4.0.20160923/newlib/libm/math/ef_fmod.c”,fullname=”/q/gnu/auto/newlib-bu-2.27+gcc-6.2.0+gmp-5.1.3+mpfr-3.1.2+mpc-1.0.2+newlib-2.4.0.20160923-arm-eabi/arm-eabi/thumb/fpu/cortex_m4/newlib/libm/math/../../../../../../../../newlib-2.4.0.20160923/newlib/libm/math/ef_fmod.c”},{file=”../../../../../../../../newlib-2.4.0.20160923/newlib/libm/math/wf_pow.c”,fullname=”/q/gnu/auto/newlib-bu-2.27+gcc-6.2.0+gmp-5.1.3+mpfr-3.1.2+mpc-1.0.2+newlib-2.4.0.20160923-arm-eabi/arm-eabi/thumb/fpu/cortex_m4/newlib/libm/math/../../../../../../../../newlib-2.4.0.20160923/newlib/libm/math/wf_pow.c”},{file=”../../../../../../../../newlib-2.4.0.20160923/newlib/libm/math/wf_log10.c”,fullname=”/q/gnu/auto/newlib-bu-2.27+gcc-6.2.0+gmp-5.1.3+mpfr-3.1.2+mpc-1.0.2+newlib-2.4.0.20160923-arm-eabi/arm-eabi/thumb/fpu/cortex_m4/newlib/libm/math/../../../../../../../../newlib-2.4.0.20160923/newlib/libm/math/wf_log10.c”},{file=”../../../../../../../../newlib-2.4.0.20160923/newlib/libm/math/wf_fmod.c”,fullname=”/q/gnu/auto/newlib-bu-2.27+gcc-6.2.0+gmp-5.1.3+mpfr-3.1.2+mpc-1.0.2+newlib-2.4.0.20160923-arm-eabi/arm-eabi/thumb/fpu/cortex_m4/newlib/libm/math/../../../../../../../../newlib-2.4.0.20160923/newlib/libm/math/wf_fmod.c”},{file=”/cygdrive/q/gnu/auto/newlib-2.4.0.20160923/newlib/libm/math/sf_floor.c”,fullname=”/cygdrive/q/gnu/auto/newlib-2.4.0.20160923/newlib/libm/math/sf_floor.c”},{file=”../../../../../../../../../newlib-2.4.0.20160923/newlib/libm/machine/arm/sf_floor.c”,fullname=”/q/gnu/auto/newlib-bu-2.27+gcc-6.2.0+gmp-5.1.3+mpfr-3.1.2+mpc-1.0.2+newlib-2.4.0.20160923-arm-eabi/arm-eabi/thumb/fpu/cortex_m4/newlib/libm/machine/arm/../../../../../../../../../newlib-2.4.0.20160923/newlib/libm/machine/arm/sf_floor.c”},{file=”../../../../../../../gcc-6.2.0/libstdc++-v3/libsupc++/del_op.cc”,fullname=”/q/gnu/auto/noexceptgcc-6.2/arm-eabi/thumb/fpu/cortex_m4/libstdc++-v3/libsupc++/../../../../../../../gcc-6.2.0/libstdc++-v3/libsupc++/del_op.cc”},{file=”../../../../../../../gcc-6.2.0/libstdc++-v3/libsupc++/del_ops.cc”,fullname=”/q/gnu/auto/noexceptgcc-6.2/arm-eabi/thumb/fpu/cortex_m4/libstdc++-v3/libsupc++/../../../../../../../gcc-6.2.0/libstdc++-v3/libsupc++/del_ops.cc”},{file=”../../../../../../../gcc-6.2.0/libstdc++-v3/libsupc++/atexit_arm.cc”,fullname=”/q/gnu/auto/noexceptgcc-6.2/arm-eabi/thumb/fpu/cortex_m4/libstdc++-v3/libsupc++/../../../../../../../gcc-6.2.0/libstdc++-v3/libsupc++/atexit_arm.cc”},{file=”src/opsy/Vendor/Segger/SEGGER_SYSVIEW.c”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Vendor\\Segger\\SEGGER_SYSVIEW.c”},{file=”src/opsy/Vendor/Segger/SEGGER_RTT.c”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Vendor\\Segger\\SEGGER_RTT.c”},{file=”src/opsy/Logs/logger.cpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Logs\\logger.cpp”},{file=”src/opsy/Kernel/systemView.cpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Kernel\\systemView.cpp”},{file=”src/opsy/Kernel/../Vendor/STM32/../cmsis_gcc.h”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Vendor\\cmsis_gcc.h”},{file=”src/opsy/Kernel/scheduler.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Kernel\\scheduler.hpp”},{file=”src/opsy/Kernel/../Logs/logger.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Logs\\logger.hpp”},{file=”E:/SysGCC/arm-eabi/arm-eabi/include/c++/6.2.0/arm-eabi/bits/gthr-default.h”,fullname=”E:\\SysGCC\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\arm-eabi\\bits\\gthr-default.h”},{file=”src/opsy/Kernel/systemView.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Kernel\\systemView.hpp”},{file=”src/opsy/Kernel/../util.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\util.hpp”},{file=”src/opsy/Kernel/scheduler.cpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Kernel\\scheduler.cpp”},{file=”src/opsy/Kernel/scheduler.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Kernel\\scheduler.hpp”},{file=”E:/SysGCC/arm-eabi/arm-eabi/include/c++/6.2.0/arm-eabi/bits/gthr-default.h”,fullname=”E:\\SysGCC\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\arm-eabi\\bits\\gthr-default.h”},{file=”src/opsy/Kernel/systemView.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Kernel\\systemView.hpp”},{file=”src/opsy/Kernel/Impl/singleWaiterEvent.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Kernel\\Impl\\singleWaiterEvent.hpp”},{file=”src/opsy/Kernel/Impl/../waitable.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Kernel\\waitable.hpp”},{file=”src/drivers/screen.cpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\drivers\\screen.cpp”},{file=”src/opsy/Kernel/scheduler.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Kernel\\scheduler.hpp”},{file=”E:/SysGCC/arm-eabi/arm-eabi/include/c++/6.2.0/arm-eabi/bits/gthr-default.h”,fullname=”E:\\SysGCC\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\arm-eabi\\bits\\gthr-default.h”},{file=”src/opsy/Kernel/systemView.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Kernel\\systemView.hpp”},{file=”src/opsy/Kernel/Impl/singleWaiterEvent.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Kernel\\Impl\\singleWaiterEvent.hpp”},{file=”src/opsy/Kernel/Impl/../waitable.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Kernel\\waitable.hpp”},{file=”src/opsy/Matrix/vector.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Matrix\\vector.hpp”},{file=”src/opsy/Matrix/Matrix.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Matrix\\Matrix.hpp”},{file=”src/opsy/Matrix/vector3D.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Matrix\\vector3D.hpp”},{file=”src/drivers/imu.cpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\drivers\\imu.cpp”},{file=”E:/SysGCC/arm-eabi/arm-eabi/include/c++/6.2.0/arm-eabi/bits/gthr-default.h”,fullname=”E:\\SysGCC\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\arm-eabi\\bits\\gthr-default.h”},{file=”src/drivers/btnInputs.cpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\drivers\\btnInputs.cpp”},{file=”src/graphics/imageBuffer.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\graphics\\imageBuffer.hpp”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0/array”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\array”},{file=”E:/SysGCC/arm-eabi/arm-eabi/include/c++/6.2.0/arm-eabi/bits/gthr-default.h”,fullname=”E:\\SysGCC\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\arm-eabi\\bits\\gthr-default.h”},{file=”src/userInterface.cpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\userInterface.cpp”},{file=”E:/SysGCC/arm-eabi/arm-eabi/include/c++/6.2.0/arm-eabi/bits/gthr-default.h”,fullname=”E:\\SysGCC\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\arm-eabi\\bits\\gthr-default.h”},{file=”src/startup.cpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\startup.cpp”},{file=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0/array”,fullname=”e:\\sysgcc\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\array”},{file=”src/graphics/imageBuffer.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\graphics\\imageBuffer.hpp”},{file=”src/opsy/Logs/sysviewListener.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Logs\\sysviewListener.hpp”},{file=”src/userInterface.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\userInterface.hpp”},{file=”src/drivers/imu.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\drivers\\imu.hpp”},{file=”src/opsy/Matrix/vector.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Matrix\\vector.hpp”},{file=”src/opsy/Matrix/Matrix.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Matrix\\Matrix.hpp”},{file=”src/opsy/Matrix/vector3D.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Matrix\\vector3D.hpp”},{file=”src/drivers/screen.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\drivers\\screen.hpp”},{file=”src/opsy/Kernel/Impl/singleWaiterEvent.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Kernel\\Impl\\singleWaiterEvent.hpp”},{file=”src/drivers/power.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\drivers\\power.hpp”},{file=”src/drivers/buzzer.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\drivers\\buzzer.hpp”},{file=”src/drivers/btnInputs.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\drivers\\btnInputs.hpp”},{file=”src/opsy/Logs/breakOnSeverity.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Logs\\breakOnSeverity.hpp”},{file=”src/opsy/Vendor/STM32/../cmsis_gcc.h”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Vendor\\cmsis_gcc.h”},{file=”src/opsy/Kernel/scheduler.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Kernel\\scheduler.hpp”},{file=”src/opsy/Kernel/../Logs/logger.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Logs\\logger.hpp”},{file=”src/opsy/Kernel/../Logs/ListenerBase.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Logs\\ListenerBase.hpp”},{file=”E:/SysGCC/arm-eabi/arm-eabi/include/c++/6.2.0/arm-eabi/bits/gthr-default.h”,fullname=”E:\\SysGCC\\arm-eabi\\arm-eabi\\include\\c++\\6.2.0\\arm-eabi\\bits\\gthr-default.h”},{file=”src/opsy/Kernel/systemView.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Kernel\\systemView.hpp”},{file=”src/opsy/Kernel/../util.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\util.hpp”},{file=”src/opsy/Kernel/task.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Kernel\\task.hpp”},{file=”src/opsy/Vendor/STM32/../core_cm4.h”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Vendor\\core_cm4.h”}]
    [    1806 ms] -break-insert -f D:/GIT/remote/Firmware/src/main.cpp:35
    [    1811 ms] ^done,bkpt={number=”3″,type=”breakpoint”,disp=”keep”,enabled=”y”,addr=”0x08015c6e”,func=”<lambda()>::operator()(void) const”,file=”src/main.cpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\main.cpp”,line=”35″,thread-groups=[“i1″],times=”0″,original-location=”D:/GIT/remote/Firmware/src/main.cpp:35″}
    [    1811 ms] -break-after 3 0
    [    1811 ms] ^done
    [    1811 ms] info symbol 0x8015c6e
    [    1812 ms] &”info symbol 0x8015c6e\n”
    [    1812 ms] ~”_ZNKUlvE_clEv + 10 in section .text\n”
    [    1812 ms] ^done
    [    1812 ms] info line *0x8015c6e
    [    1813 ms] &”info line *0x8015c6e\n”
    [    1814 ms] ~”Line 35 of \”src/main.cpp\” starts at address 0x8015c6e <<lambda()>::operator()(void) const+10> and ends at 0x8015c70 <<lambda()>::_FUN(void)>.\n”
    [    1814 ms] ^done
    [    1836 ms] -data-evaluate-expression “&_estack”
    [    1850 ms] ^done,value=”0x20017ffc \”$\224ac\”<error: Cannot access memory at address 0x20018000>”
    [    1854 ms] -var-create – * “*((void **)0x20017ff8)”
    [    1861 ms] ^done,name=”var1″,numchild=”0″,value=”0x8013be9 <opsy::kernel::scheduler::pendsv_bootstrap()+40>”,type=”void *”,has_more=”0″
    [    1862 ms] -var-assign “var1″ 0x397296cc
    [    1884 ms] ^done,value=”0x397296cc”
    [    1884 ms] -data-evaluate-expression “\*\(\(void\ \*\*\)0x20017ff8\)”
    [    1885 ms] ^done,value=”0x397296cc”
    [    1897 ms] 1000-interpreter-exec console flushregs
    [    1906 ms] ~”Register cache flushed.\n”
    [    1906 ms] 1000^done
    [    1906 ms] -exec-continue
    [    1917 ms] ^running
    [    1917 ms] *running,thread-id=”all”
    [    1995 ms] =breakpoint-modified,bkpt={number=”1″,type=”breakpoint”,disp=”keep”,enabled=”y”,addr=”0x08015eb8″,func=”main()”,file=”src/main.cpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\main.cpp”,line=”92″,thread-groups=[“i1″],times=”1″,original-location=”main”}
    [    1997 ms] ~”\n”
    [    1998 ms] ~”Breakpoint 1, main () at src/main.cpp:92\n”
    [    1998 ms] ~”92\t\tlogger::register_listener(bos);\n”
    [    1998 ms] *stopped,reason=”breakpoint-hit”,disp=”keep”,bkptno=”1″,frame={addr=”0x08015eb8″,func=”main”,args=[],file=”src/main.cpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\main.cpp”,line=”92″},thread-id=”1″,stopped-threads=”all”
    [    2003 ms] -data-evaluate-expression “opsy::kernel::scheduler::is_started_”
    [    2013 ms] ^done,value=”false”
    [    2040 ms] 1001-interpreter-exec console flushregs
    [    2045 ms] ~”Register cache flushed.\n”
    [    2047 ms] 1001^done
    [    2053 ms] -break-delete 1
    [    2057 ms] ^done
    [    2057 ms] -exec-continue
    [    2057 ms] ^running
    [    2057 ms] *running,thread-id=”all”
    [    2114 ms] =breakpoint-modified,bkpt={number=”3″,type=”breakpoint”,disp=”keep”,enabled=”y”,addr=”0x08015c6e”,func=”<lambda()>::operator()(void) const”,file=”src/main.cpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\main.cpp”,line=”35″,thread-groups=[“i1″],times=”1″,original-location=”D:/GIT/remote/Firmware/src/main.cpp:35″}
    [    2117 ms] ~”\n”
    [    2118 ms] ~”Breakpoint 3, <lambda()>::operator()(void) const (__closure=0x0) at src/main.cpp:35\n”
    [    2118 ms] ~”35\t\t\t__NOP();\n”
    [    2118 ms] *stopped,reason=”breakpoint-hit”,disp=”keep”,bkptno=”3″,frame={addr=”0x08015c6e”,func=”<lambda()>::operator()(void) const”,args=[{name=”__closure”,value=”0x0″}],file=”src/main.cpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\main.cpp”,line=”35″},thread-id=”1″,stopped-threads=”all”
    [    2118 ms] -data-evaluate-expression “opsy::kernel::scheduler::is_started_”
    [    2130 ms] ^done,value=”true”
    [    2131 ms] -data-evaluate-expression “opsy::kernel::scheduler::active_tasks_count_”
    [    2143 ms] ^done,value=”1″
    [    2145 ms] -data-evaluate-expression “opsy::kernel::scheduler::first_task_”
    [    2153 ms] ^done,value=”0x20000328 <check>”
    [    2154 ms] -data-evaluate-expression “\(\(opsy::kernel::task\*\)\(0x20000328\)\)\.name_”
    [    2165 ms] ^done,value=”0x80188a8 \”User Interface\””
    [    2165 ms] -data-evaluate-expression “\(\(opsy::kernel::task\*\)\(0x20000328\)\)\.stack_pointer_”
    [    2178 ms] ^done,value=”0x200042f8 <check+16336>”
    [    2178 ms] -data-evaluate-expression “\(\(opsy::kernel::task\*\)\(0x20000328\)\)\.next_task_”
    [    2181 ms] ^done,value=”0x0″
    [    2181 ms] -data-evaluate-expression “opsy::kernel::scheduler::current_task_”
    [    2192 ms] ^done,value=”0x0″
    [    2192 ms] -data-evaluate-expression “opsy::kernel::scheduler::current_task_”
    [    2193 ms] ^done,value=”0x0″
    [    2216 ms] -break-after 3 0
    [    2225 ms] ^done
    [    2230 ms] 1002-interpreter-exec console flushregs
    [    2235 ms] ~”Register cache flushed.\n”
    [    2236 ms] 1002^done
    [    2236 ms] -stack-list-frames
    [    2239 ms] ^done,stack=[frame={level=”0″,addr=”0x08015c6e”,func=”<lambda()>::operator()(void) const”,file=”src/main.cpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\main.cpp”,line=”35″},frame={level=”1″,addr=”0x08015c7a”,func=”<lambda()>::_FUN(void)”,file=”src/main.cpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\main.cpp”,line=”40″},frame={level=”2″,addr=”0x00000000″,func=”??”}]
    [    2240 ms] -stack-list-arguments 0
    [    2251 ms] ^done,stack-args=[frame={level=”0″,args=[name=”__closure”]},frame={level=”1″,args=[]},frame={level=”2″,args=[]}]
    [   10809 ms] -stack-list-frames
    [   10817 ms] ^done,stack=[frame={level=”0″,addr=”0x08015c6e”,func=”<lambda()>::operator()(void) const”,file=”src/main.cpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\main.cpp”,line=”35″},frame={level=”1″,addr=”0x08015c7a”,func=”<lambda()>::_FUN(void)”,file=”src/main.cpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\main.cpp”,line=”40″},frame={level=”2″,addr=”0x00000000″,func=”??”}]
    [   10903 ms] -stack-list-frames
    [   10910 ms] ^done,stack=[frame={level=”0″,addr=”0x08015c6e”,func=”<lambda()>::operator()(void) const”,file=”src/main.cpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\main.cpp”,line=”35″},frame={level=”1″,addr=”0x08015c7a”,func=”<lambda()>::_FUN(void)”,file=”src/main.cpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\main.cpp”,line=”40″},frame={level=”2″,addr=”0x00000000″,func=”??”}]
    [   10950 ms] -data-evaluate-expression “opsy::kernel::scheduler::current_task_”
    [   10951 ms] ^done,value=”0x0″
    [   10954 ms] -data-evaluate-expression “\(\(uint32_t\*\)\(0x200042F8\)\)\[0]”
    [   10965 ms] ^done,value=”4294967293″
    [   10965 ms] -data-evaluate-expression “\(\(uint32_t\*\)\(0x200042F8\)\)\[1]”
    [   10966 ms] ^done,value=”1″
    [   10967 ms] -data-evaluate-expression “\(\(uint32_t\*\)\(0x200042F8\)\)\[2]”
    [   10977 ms] ^done,value=”0″
    [   10977 ms] -data-evaluate-expression “\(\(uint32_t\*\)\(0x200042F8\)\)\[3]”
    [   10978 ms] ^done,value=”0″
    [   10978 ms] -data-evaluate-expression “\(\(uint32_t\*\)\(0x200042F8\)\)\[4]”
    [   10979 ms] ^done,value=”0″
    [   10979 ms] -data-evaluate-expression “\(\(uint32_t\*\)\(0x200042F8\)\)\[5]”
    [   10979 ms] ^done,value=”536888132″
    [   10979 ms] -data-evaluate-expression “\(\(uint32_t\*\)\(0x200042F8\)\)\[6]”
    [   10979 ms] ^done,value=”0″
    [   10980 ms] -data-evaluate-expression “\(\(uint32_t\*\)\(0x200042F8\)\)\[7]”
    [   10980 ms] ^done,value=”0″
    [   10980 ms] -data-evaluate-expression “\(\(uint32_t\*\)\(0x200042F8\)\)\[8]”
    [   10980 ms] ^done,value=”0″
    [   10980 ms] -data-evaluate-expression “\(\(uint32_t\*\)\(0x200042F8\)\)\[9]”
    [   10980 ms] ^done,value=”0″
    [   10980 ms] -data-evaluate-expression “\(\(uint32_t\*\)\(0x200042F8\)\)\[10]”
    [   10981 ms] ^done,value=”10″
    [   10981 ms] -data-evaluate-expression “\(\(uint32_t\*\)\(0x200042F8\)\)\[11]”
    [   10981 ms] ^done,value=”0″
    [   10981 ms] -data-evaluate-expression “\(\(uint32_t\*\)\(0x200042F8\)\)\[12]”
    [   10981 ms] ^done,value=”262144″
    [   10981 ms] -data-evaluate-expression “\(\(uint32_t\*\)\(0x200042F8\)\)\[13]”
    [   10981 ms] ^done,value=”10″
    [   10981 ms] -data-evaluate-expression “\(\(uint32_t\*\)\(0x200042F8\)\)\[14]”
    [   10982 ms] ^done,value=”0″
    [   10982 ms] -data-evaluate-expression “\(\(uint32_t\*\)\(0x200042F8\)\)\[15]”
    [   10982 ms] ^done,value=”134303567″
    [   10982 ms] -data-evaluate-expression “\(\(uint32_t\*\)\(0x200042F8\)\)\[16]”
    [   10982 ms] ^done,value=”134296378″
    [   10982 ms] -data-evaluate-expression “\(\(uint32_t\*\)\(0x200042F8\)\)\[17]”
    [   10983 ms] ^done,value=”1627390464″
    [   10983 ms] -data-evaluate-expression “\$CONTROL”
    [   10993 ms] ^done,value=”void”
    [   10993 ms] -data-evaluate-expression “\$r4″
    [   10993 ms] ^done,value=”0”
    [   10994 ms] -data-evaluate-expression “\$r5″
    [   11004 ms] ^done,value=”0”
    [   11004 ms] -data-evaluate-expression “\$r6″
    [   11014 ms] ^done,value=”0”
    [   11014 ms] -data-evaluate-expression “\$r7″
    [   11015 ms] ^done,value=”536871696”
    [   11015 ms] -data-evaluate-expression “\$r8″
    [   11015 ms] ^done,value=”0”
    [   11015 ms] -data-evaluate-expression “\$r9″
    [   11015 ms] ^done,value=”0”
    [   11015 ms] -data-evaluate-expression “\$r10″
    [   11015 ms] ^done,value=”0”
    [   11015 ms] -data-evaluate-expression “\$r11″
    [   11016 ms] ^done,value=”0”
    [   11016 ms] -data-evaluate-expression “\$r13″
    [   11016 ms] ^done,value=”0x20000310 <idle+236>”
    [   11016 ms] -data-evaluate-expression “\$r0″
    [   11017 ms] ^done,value=”0”
    [   11017 ms] -data-evaluate-expression “\$r1″
    [   11017 ms] ^done,value=”0”
    [   11017 ms] -data-evaluate-expression “\$r2″
    [   11028 ms] ^done,value=”0”
    [   11028 ms] -data-evaluate-expression “\$r3″
    [   11028 ms] ^done,value=”0”
    [   11028 ms] -data-evaluate-expression “\$r12″
    [   11028 ms] ^done,value=”0”
    [   11028 ms] -data-evaluate-expression “\$lr”
    [   11029 ms] ^done,value=”134306939″
    [   11029 ms] -data-evaluate-expression “\$pc”
    [   11029 ms] ^done,value=”0x8015c6e <<lambda()>::operator()(void) const+10>”
    [   11029 ms] -data-evaluate-expression “\$r15″
    [   11030 ms] ^done,value=”0x8015c6e <<lambda()>::operator()(void) const+10>”
    [   11030 ms] -data-evaluate-expression “\$xPSR”
    [   11041 ms] ^done,value=”void”
    [   11041 ms] 1003-interpreter-exec console flushregs
    [   11041 ms] 1004-gdb-set $r4=0x0
    [   11041 ms] 1005-gdb-set $r5=0x0
    [   11041 ms] 1006-gdb-set $r6=0x0
    [   11041 ms] 1007-gdb-set $r7=0x20004344
    [   11041 ms] 1008-gdb-set $r8=0x0
    [   11041 ms] 1009-gdb-set $r9=0x0
    [   11041 ms] 1010-gdb-set $r10=0x0
    [   11041 ms] 1011-gdb-set $r11=0x0
    [   11041 ms] 1012-gdb-set $r13=0x20004320
    [   11041 ms] 1013-gdb-set $r0=0xa
    [   11041 ms] 1014-gdb-set $r1=0x0
    [   11041 ms] 1015-gdb-set $r2=0x40000
    [   11041 ms] 1016-gdb-set $r3=0xa
    [   11041 ms] 1017-gdb-set $r12=0x0
    [   11041 ms] 1018-gdb-set $lr=0x8014f4f
    [   11041 ms] 1019-gdb-set $pc=0x801333a
    [   11041 ms] 1020-gdb-set $r15=0x801333a
    [   11041 ms] ~”Register cache flushed.\n”
    [   11042 ms] 1003^done
    [   11043 ms] 1004^done
    [   11044 ms] 1005^done
    [   11046 ms] 1006^done
    [   11050 ms] 1007^done
    [   11051 ms] 1008^done
    [   11052 ms] 1009^done
    [   11052 ms] 1010^done
    [   11053 ms] 1011^done
    [   11054 ms] 1012^done
    [   11054 ms] 1013^done
    [   11055 ms] 1014^done
    [   11055 ms] 1015^done
    [   11056 ms] 1016^done
    [   11056 ms] 1017^done
    [   11057 ms] 1018^done
    [   11057 ms] 1019^done
    [   11058 ms] 1020^done
    [   11058 ms] -stack-list-frames
    [   11072 ms] ^done,stack=[frame={level=”0″,addr=”0x0801333a”,func=”opsy::kernel::scheduler::sleep”,file=”src/opsy/Kernel/scheduler.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Kernel\\scheduler.hpp”,line=”369″},frame={level=”1″,addr=”0x08014f4e”,func=”drivers::screen::reset”,file=”src/drivers/screen.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\drivers\\screen.hpp”,line=”95″},frame={level=”2″,addr=”0x08015cca”,func=”<lambda(uint32_t)>::operator()(uint32_t) const”,file=”src/main.cpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\main.cpp”,line=”46″},frame={level=”3″,addr=”0x08015d88″,func=”<lambda(uint32_t)>::_FUN(uint32_t)”,file=”src/main.cpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\main.cpp”,line=”78″},frame={level=”4″,addr=”0x080138be”,func=”opsy::kernel::scheduler::terminate_current_task”,file=”src/opsy/Kernel/scheduler.hpp”,fullname=”D:\\GIT\\remote\\Firmware\\src\\opsy\\Kernel\\scheduler.hpp”,line=”677″}]
    [   11199 ms] 1021-interpreter-exec console flushregs
    [   11199 ms] 1022-gdb-set $r4=0x0
    [   11199 ms] 1023-gdb-set $r5=0x0
    [   11199 ms] 1024-gdb-set $r6=0x0
    [   11199 ms] 1025-gdb-set $r7=0x20000310
    [   11199 ms] 1026-gdb-set $r8=0x0
    [   11199 ms] 1027-gdb-set $r9=0x0
    [   11199 ms] 1028-gdb-set $r10=0x0
    [   11199 ms] 1029-gdb-set $r11=0x0
    [   11199 ms] 1030-gdb-set $r13=0x20000310
    [   11199 ms] 1031-gdb-set $r0=0x0
    [   11199 ms] 1032-gdb-set $r1=0x0
    [   11199 ms] 1033-gdb-set $r2=0x0
    [   11199 ms] 1034-gdb-set $r3=0x0
    [   11199 ms] 1035-gdb-set $r12=0x0
    [   11199 ms] 1036-gdb-set $lr=0x8015c7b
    [   11199 ms] 1037-gdb-set $pc=0x8015c6e
    [   11199 ms] 1038-gdb-set $r15=0x8015c6e
    [   11204 ms] ~”Register cache flushed.\n”
    [   11205 ms] 1021^done
    [   11205 ms] 1022^done
    [   11206 ms] 1023^done
    [   11207 ms] 1024^done
    [   11209 ms] 1025^done
    [   11210 ms] 1026^done
    [   11210 ms] 1027^done
    [   11211 ms] 1028^done
    [   11211 ms] 1029^done
    [   11212 ms] 1030^done
    [   11213 ms] 1031^done
    [   11213 ms] 1032^done
    [   11214 ms] 1033^done
    [   11214 ms] 1034^done
    [   11215 ms] 1035^done
    [   11215 ms] 1036^done
    [   11216 ms] 1037^done
    [   14010 ms] -stack-list-frames
    [   16656 ms] -stack-list-frames 0 0
    [   16656 ms] ~”The target is not responding to GDB commands.\nStop debugging it? ”
    [   16656 ms] ~”(y or n) [answered Y; input not from terminal]\n”
    [   16657 ms] =thread-group-exited,id=”i1″
    [   16657 ms] &”Disconnected from target.\n”
    [   16658 ms] ~”../../gdb-7.12/gdb/thread.c:848: internal-error: int value_in_thread_stack_temporaries(value*, ptid_t): Assertion `tp != NULL && tp->stack_temporaries_enabled’ failed.\nA problem internal to GDB has been detected,\nfurther debugging may prove unreliable.\nQuit this debugging session? ”
    [   16658 ms] ~”(y or n) [answered Y; input not from terminal]\n”
    [   16658 ms] &”\nThis is a bug, please report it.”
    [   16659 ms] &”  For instructions, see:\n<http://www.gnu.org/software/gdb/bugs/&gt;.”
    [   16659 ms] &”\n\n”
    [   16659 ms] ~”../../gdb-7.12/gdb/thread.c:848: internal-error: int value_in_thread_stack_temporaries(value*, ptid_t): Assertion `tp != NULL && tp->stack_temporaries_enabled’ failed.\nA problem internal to GDB has been detected,\nfurther debugging may prove unreliable.\nCreate a core file of GDB? ”
    [   16659 ms] ~”(y or n) [answered Y; input not from terminal]\n”
    [   16659 ms] This application has requested the Runtime to terminate it in an unusual way.
    [   16659 ms] Please contact the application’s support team for more information.

     

    And the GDB server log:
    <div>C:\Program Files (x86)\SEGGER\JLink_V618b\JLinkGDBServerCL.exe -select USB -device STM32L471RE -speed auto -if SWD -port 53339
    SEGGER J-Link GDB Server V6.18b Command Line Version</div>
    <div>JLinkARM.dll V6.18b (DLL compiled Aug 18 2017 19:01:12)</div>
    <div>Command line: -select USB -device STM32L471RE -speed auto -if SWD -port 53339
    —–GDB Server start settings—–
    GDBInit file:                  none
    GDB Server Listening port:     53339
    SWO raw output listening port: 2332
    Terminal I/O port:             2333
    Accept remote connection:      localhost only
    Generate logfile:              off
    Verify download:               off
    Init regs on start:            off
    Silent mode:                   off
    Single run mode:               off
    Target connection timeout:     0 ms
    ——J-Link related settings——
    J-Link Host interface:         USB
    J-Link script:                 none
    J-Link settings file:          none
    ——Target related settings——
    Target device:                 STM32L471RE
    Target interface:              SWD
    Target interface speed:        auto
    Target endian:                 little</div>
    <div>Connecting to J-Link…
    J-Link is connected.
    Firmware: J-Link Ultra V4 compiled Jul 24 2017 17:05:43
    Hardware: V4.00
    S/N: 504401633
    Feature(s): RDI, FlashBP, FlashDL, JFlash, GDB
    Checking target voltage…
    Target voltage: 3.32 V
    Listening on TCP/IP port 53339
    Connecting to target…Connected to target
    Waiting for GDB connection…Connected to 127.0.0.1
    Reading all registers
    Read 2 bytes @ address 0x08015EB8 (Data = 0x4814)
    Read 4 bytes @ address 0x08015F0C (Data = 0x20004380)
    Read 2 bytes @ address 0x08015EB8 (Data = 0x4814)
    Read 4 bytes @ address 0x08015F0C (Data = 0x20004380)
    Read 2 bytes @ address 0x08015EB8 (Data = 0x4814)
    Read 2 bytes @ address 0x080100AA (Data = 0xB480)
    Read 4 bytes @ address 0x08015C6E (Data = 0xB580E7FD)
    Read 4 bytes @ address 0x08015C7A (Data = 0xB480BD80)
    Reading 64 bytes @ address 0x20000300
    Received monitor command: reset
    Resetting target
    Downloading 16352 bytes @ address 0x08000000
    Downloading 16352 bytes @ address 0x08003FE0
    Downloading 16352 bytes @ address 0x08007FC0
    Downloading 16352 bytes @ address 0x0800BFA0
    Downloading 128 bytes @ address 0x0800FF80
    Downloading 16080 bytes @ address 0x08010000
    Downloading 16080 bytes @ address 0x08013ED0
    Downloading 2568 bytes @ address 0x08017DA0
    Downloading 16328 bytes @ address 0x080187A8
    Downloading 16320 bytes @ address 0x0801C770
    Downloading 4012 bytes @ address 0x08020730
    Downloading 8 bytes @ address 0x080216DC
    Downloading 20 bytes @ address 0x080216E4
    Downloading 4 bytes @ address 0x080216F8
    Downloading 112 bytes @ address 0x080216FC
    Writing register (PC = 0x08015EB4)
    Read 2 bytes @ address 0x08015EB8 (Data = 0x4814)
    Read 4 bytes @ address 0x08015F0C (Data = 0x20004380)
    Read 2 bytes @ address 0x08015EB8 (Data = 0x4814)
    Read 4 bytes @ address 0x08015F0C (Data = 0x20004380)
    Read 2 bytes @ address 0x08015EB8 (Data = 0x4814)
    Read 2 bytes @ address 0x080100AA (Data = 0xB480)
    Read 4 bytes @ address 0x08015EB4 (Data = 0xAF00B580)
    Received monitor command: reset
    Resetting target
    Read 2 bytes @ address 0x080130C0 (Data = 0x7A00)
    Read 2 bytes @ address 0x08015C6C (Data = 0xBF00)
    Read 2 bytes @ address 0x08015C6E (Data = 0xE7FD)
    Reading 8 bytes @ address 0x20017FFC
    WARNING: Failed to read memory @ address 0x20017FFC
    Read 1 bytes @ address 0x20017FFC (Data = 0x24)
    Read 1 bytes @ address 0x20017FFD (Data = 0x94)
    Read 1 bytes @ address 0x20017FFE (Data = 0x61)
    Read 1 bytes @ address 0x20017FFF (Data = 0x63)
    WARNING: Failed to read memory @ address 0x20018000
    WARNING: Failed to read memory @ address 0x20018000
    Read 4 bytes @ address 0x20017FF8 (Data = 0x08013BE9)
    Downloading 4 bytes @ address 0x20017FF8
    Reading all registers
    Read 4 bytes @ address 0x080168BC (Data = 0xB082B580)
    WARNING: Failed to read memory @ address 0xFFFFFFFE
    WARNING: Failed to read memory @ address 0xFFFFFFFE
    Read 4 bytes @ address 0x20017FF8 (Data = 0x397296CC)
    Reading all registers
    Read 4 bytes @ address 0x080168BC (Data = 0xB082B580)
    Setting breakpoint @ address 0x08015C6E, Size = 2, BPHandle = 0x0001
    Setting breakpoint @ address 0x08015EB8, Size = 2, BPHandle = 0x0002
    Starting target CPU…
    …Breakpoint reached @ address 0x08015EB8
    Reading all registers
    Read 4 bytes @ address 0x08015EB8 (Data = 0xF7FD4814)
    Removing breakpoint @ address 0x08015C6E, Size = 2
    Removing breakpoint @ address 0x08015EB8, Size = 2
    Read 1 bytes @ address 0x20004538 (Data = 0x00)
    Reading all registers
    Read 4 bytes @ address 0x08015EB8 (Data = 0xF7FD4814)
    Setting breakpoint @ address 0x08015C6E, Size = 2, BPHandle = 0x0003
    Starting target CPU…
    …Breakpoint reached @ address 0x08015C6E
    Reading all registers
    Read 4 bytes @ address 0x08015C6E (Data = 0xB580E7FD)
    Removing breakpoint @ address 0x08015C6E, Size = 2
    Read 4 bytes @ address 0x08015C7A (Data = 0xB480BD80)
    Reading 64 bytes @ address 0x20000300
    Read 1 bytes @ address 0x20004538 (Data = 0x01)
    Read 4 bytes @ address 0x20004788 (Data = 0x00000001)
    Read 4 bytes @ address 0x200047A0 (Data = 0x20000328)
    Read 4 bytes @ address 0x2000033C (Data = 0x080188A8)
    Reading 8 bytes @ address 0x080188A8
    Reading 8 bytes @ address 0x080188B0
    Read 4 bytes @ address 0x20000330 (Data = 0x200042F8)
    Read 4 bytes @ address 0x2000037C (Data = 0x00000000)
    Read 4 bytes @ address 0x2000478C (Data = 0x00000000)
    Read 4 bytes @ address 0x2000478C (Data = 0x00000000)
    Reading all registers
    Read 4 bytes @ address 0x08015C6E (Data = 0xB580E7FD)
    Read 4 bytes @ address 0x08015C7A (Data = 0xB480BD80)
    Read 4 bytes @ address 0x00000000 (Data = 0x20017FFC)
    Read 4 bytes @ address 0x00000000 (Data = 0x20017FFC)
    Read 4 bytes @ address 0x2000478C (Data = 0x00000000)
    Read 4 bytes @ address 0x200042F8 (Data = 0xFFFFFFFD)
    Read 4 bytes @ address 0x200042FC (Data = 0x00000001)
    Read 4 bytes @ address 0x20004300 (Data = 0x00000000)
    Read 4 bytes @ address 0x20004304 (Data = 0x00000000)
    Read 4 bytes @ address 0x20004308 (Data = 0x00000000)</div>
    <div></div>
    <div>The GDB server doesn’t show any visible problem, but the GDB terminal hangs when trying to get the stack frames (whet is weird here is that the task stack frame is ok, it can get it, but going back to the idle task, it hangs).</div>
    <div></div>
    <div>Any advice?</div>
    <div></div>
    <div>Thomas.</div>
     

    in reply to: Switching from Atollic, my evaluation so far. #12223
    Otatiaro
    Participant

    I just installed 1759 😉

    I’ll give it a try as soon as I can (I need to figure out how to configure the SWO to send the data). The issue I can foresee is that I won’t manually generate the data stream from the code, it will be generated from the hardware itself, so I’ll need to somewhat encapsulate the data coming from SWO (sent by the j-link server via telnet socket) into the data packet realtime watch expects.

    It there any documentation about this packet format, or at least some code I could analyse ?

    Is the IGDBSession object something I can use to send and receive data to the GDB server (this would allow me to evaluate variables types, and configure the required registers in the cortex) ?

    If I manage to get it working, I’ll publish the source code and try to make a tutorial.

    Thomas.

    in reply to: Type visualizers and inheritance #12222
    Otatiaro
    Participant

    Hello,

    Adding the possibility to return custom viewer via the VisualGDB interface would be nice, I think I can figure out how to build the GUI when needed (it’s documented).

    And it’s a technology I can reuse on other projects too (not only VisualGDB) which is always nice.

    Thomas.

    in reply to: Custom RTOS support fails at stack-list-frames #12211
    Otatiaro
    Participant

    Ok I did solve one of the problems, having a wrong stack trace from my tasks.

    The answer is pretty funny:

    • when a task is finished (the function returns), the task stack (LR especially) is configured to atuomatically call “terminate_current_task()”, so LR is set at the start of this function.
    • but GDB does not want to know where the LR points, it wants to know where was the branch that lead to the jump
    • so GDB uses the instruction JUST BEFORE the instruction pointer in LR
    • in my case, LR was set to the first instruction of the terminate_current_task() function, so GDB was thinking it was called from the previous instruction, which is not, and which is at the very end of another function (in this case, the default_isr_handler()), but then GDB checks the stack allocation for this -wrong- function, and tries to extract the stack frame
    • and it’s messed up, GDB tries to interpret garbage data as stack frames.

    The solution is … creative:

    • my terminate_current_task() function is a function that only calls an SVC service to kill the current task, so I made it naked (no problem), and added a nop assembly instruction at the very end, this will act as a dummy instruction
    • then when I configure the task to return to terminate_current_task(), I do not point to the function start, but 2 bytes later, just after the nop instruction (nop is 2 bytes long)
    • GDB now thinks the “calling instruction” is the nop, LR works (skips the nop instruction, which is nice …), and I get the correct stack frame, with terminate_current_task() at the very bottom

    That’s one problem solved (I used segger ozone to debug at very low level), but, VisualGDB still hangs when trying to display the thread list (and there is a non-running thread). I really need help here.

    Thomas.

    in reply to: Type visualizers and inheritance #12210
    Otatiaro
    Participant

    Hello,

    I confirm it is fixed on the new version. Thanks.

    Thomas.

     

    in reply to: Type visualizers and inheritance #12191
    Otatiaro
    Participant

    Well if you offer me one paid option and one free option … can I have more info about “let you expert your implementation of the VS interfaces via your type visualizer” ? 😉

    This is not something critical, just it would be very nice to get the visual of what contains an image buffer.

    Thomas.

    PS : so I’ll have to modify my type visualizers accodringly when I switch to the next release. So that I won’t have to create a filter for each template parameter anymore, awesome, thanks.

    in reply to: Switching from Atollic, my evaluation so far. #12190
    Otatiaro
    Participant

    Hello,

    About stack usage, I personnaly don’t need it to be 100% accurate, it just helps pinpoint when you have a function with abnormal high stack usage (probably due to a bug, a missing reference, or something).

    The custom transport for real-time watch seems promising, where can I find more info about how to write this plugin?

    Thomas.

    in reply to: Type visualizers and inheritance #12168
    Otatiaro
    Participant

    Hello,

    Thanks for the insight about why Probe isn’t called (this should be documented somewhere, it is very helpful when you are developing your own visualizers).

    I managed to get pretty much all my classes to visualize correctly, including FIFOs, linked lists, matrices, etc. I do have some lockups when evaluating the default children sometimes, don’t know why.

    A co-worker asked if it was possible to display something else than just text (we are working with screens on some projects, being able to actually display the content of an image buffer would be extra awesome)?

    It is a VERY powerful tool, debugging e.g. a linked list without this can be very time consuming.

    in reply to: Type visualizers and inheritance #12155
    Otatiaro
    Participant

    Now that’s what I’m talking about !

    Attachments:
    You must be logged in to view attached files.
    in reply to: Type visualizers and inheritance #12153
    Otatiaro
    Participant

    Ok we made some progress here !

    The probe method is not virtual, so I could not debug it, having an empty string in the TypeListBasedExpressionFilter constructor didn’t help much, so I implemented my own IExpressionFilter, but then I had to decompile the Record property (for the factory to work) to understand what it was doing. I ended up with:

    public class Vector3D : IExpressionFilter
    {
    public bool Probe(IExpression expr, IExpressionEvaluator evaluator, out int score)
    {
    var t = expr.Type;
    var v = expr.Value;
                score = 0;
    return false;
    }
    public IExpression Attach(IExpression expr, IExpressionEvaluator evaluator)
    {
    var type = expr.Type;
                return new StaticExpressionFilter(expr)
    {
    ValueOverride = new ExpressionValue.Custom("This is a vector"),
    };
    }
     public ExpressionFilterRecord Record => new ExpressionFilterRecord
    {
    Filter = this,
    Triggers = new List<string> {string.Empty}
    };
    }

    Then I could put a breakpoint on both probe and attach methods … I was surprised that the breakpoint in attach was triggered but the probe one never triggered, it seems it is not called.
    Anyway, in the attach method I was able to retrieve the type of the expression, guess what, it is “Opsy::Matrix::Vector3D : public Opsy::Matrix::Vector<3>”.
    And using this for the TypeListBasedExpressionFilter actually works (I get a trigger on the DoAttach breakpoint).

    But I’d like to understand why the probe method is never called, having my own implementation of IExpressionFilter could be good for specific scenarii.

    Thomas.

    • This reply was modified 7 years, 2 months ago by support. Reason: formatting
Viewing 15 posts - 1 through 15 (of 19 total)