Guest User

Untitled

a guest
Jul 12th, 2016
265
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 26.84 KB | None | 0 0
  1. GNU gdb (GDB) 7.11.1
  2. Copyright (C) 2016 Free Software Foundation, Inc.
  3. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
  4. This is free software: you are free to change and redistribute it.
  5. There is NO WARRANTY, to the extent permitted by law. Type "show copying"
  6. and "show warranty" for details.
  7. This GDB was configured as "--host=x86_64-pc-linux-gnu --target=arm-none-eabi".
  8. Type "show configuration" for configuration details.
  9. For bug reporting instructions, please see:
  10. <http://www.gnu.org/software/gdb/bugs/>.
  11. Find the GDB manual and other documentation resources online at:
  12. <http://www.gnu.org/software/gdb/documentation/>.
  13. For help, type "help".
  14. Type "apropos word" to search for commands related to "word"...
  15. Reading symbols from build/ch.elf...done.
  16. 0x1ff0010c in ?? ()
  17. Loading section startup, size 0xc0 lma 0x8000000
  18. Loading section .text, size 0x33d0 lma 0x80000c0
  19. Start address 0x80000c0, load size 13456
  20. Transfer rate: 2 KB/sec, 6728 bytes/write.
  21. Breakpoint 1 at 0x8000260: file main.c, line 23.
  22. Note: automatically using hardware breakpoints for read-only addresses.
  23.  
  24. Breakpoint 1, main () at main.c:24
  25. 24 chThdSleepMilliseconds(500);
  26. 0x08000262 24 chThdSleepMilliseconds(500);
  27. 0x08000264 24 chThdSleepMilliseconds(500);
  28. 0x08000266 24 chThdSleepMilliseconds(500);
  29. chThdSleep (time=8192) at ../../../os/rt/src/chthreads.c:311
  30. 311 void chThdSleep(systime_t time) {
  31. 0x08002a02 311 void chThdSleep(systime_t time) {
  32. 0x08002a04 311 void chThdSleep(systime_t time) {
  33. 0x08002a06 311 void chThdSleep(systime_t time) {
  34. 0x08002a08 311 void chThdSleep(systime_t time) {
  35. 0x08002a0a 311 void chThdSleep(systime_t time) {
  36. 313 chSysLock();
  37. chSysLock () at ../../../os/rt/include/chsys.h:346
  38. 346 static inline void chSysLock(void) {
  39. 348 port_lock();
  40. __disable_irq () at ../../../os/ext/CMSIS/include/core_cmFunc.h:344
  41. 344 __ASM volatile ("cpsid i" : : : "memory");
  42. port_lock () at ../../../os/rt/ports/ARMCMx/chcore_v6m.h:333
  43. 333 }
  44. chSysLock () at ../../../os/rt/include/chsys.h:350
  45. 350 _dbg_check_lock();
  46. _dbg_check_lock () at ../../../os/rt/src/chdebug.c:150
  47. 150 void _dbg_check_lock(void) {
  48. 152 if ((ch.dbg.isr_cnt != (cnt_t)0) || (ch.dbg.lock_cnt != (cnt_t)0)) {
  49. 0x08001c54 152 if ((ch.dbg.isr_cnt != (cnt_t)0) || (ch.dbg.lock_cnt != (cnt_t)0)) {
  50. 0x08001c56 152 if ((ch.dbg.isr_cnt != (cnt_t)0) || (ch.dbg.lock_cnt != (cnt_t)0)) {
  51. 0x08001c58 152 if ((ch.dbg.isr_cnt != (cnt_t)0) || (ch.dbg.lock_cnt != (cnt_t)0)) {
  52. 0x08001c5a 152 if ((ch.dbg.isr_cnt != (cnt_t)0) || (ch.dbg.lock_cnt != (cnt_t)0)) {
  53. 0x08001c5c 152 if ((ch.dbg.isr_cnt != (cnt_t)0) || (ch.dbg.lock_cnt != (cnt_t)0)) {
  54. 0x08001c5e 152 if ((ch.dbg.isr_cnt != (cnt_t)0) || (ch.dbg.lock_cnt != (cnt_t)0)) {
  55. 0x08001c60 152 if ((ch.dbg.isr_cnt != (cnt_t)0) || (ch.dbg.lock_cnt != (cnt_t)0)) {
  56. 155 _dbg_enter_lock();
  57. 0x08001c6c 155 _dbg_enter_lock();
  58. 0x08001c6e 155 _dbg_enter_lock();
  59. 156 }
  60. chSysLock () at ../../../os/rt/include/chsys.h:351
  61. 351 }
  62. chThdSleep (time=500) at ../../../os/rt/src/chthreads.c:314
  63. 314 chThdSleepS(time);
  64. 0x08002a12 314 chThdSleepS(time);
  65. 0x08002a14 314 chThdSleepS(time);
  66. 0x08002a16 314 chThdSleepS(time);
  67. 0x08002a18 314 chThdSleepS(time);
  68. chThdSleepS (time=2048) at ../../../os/rt/include/chthreads.h:264
  69. 264 static inline void chThdSleepS(systime_t time) {
  70. 0x080027c2 264 static inline void chThdSleepS(systime_t time) {
  71. 0x080027c4 264 static inline void chThdSleepS(systime_t time) {
  72. 0x080027c6 264 static inline void chThdSleepS(systime_t time) {
  73. 0x080027c8 264 static inline void chThdSleepS(systime_t time) {
  74. 0x080027ca 264 static inline void chThdSleepS(systime_t time) {
  75. 266 chDbgCheck(time != TIME_IMMEDIATE);
  76. 0x080027ce 266 chDbgCheck(time != TIME_IMMEDIATE);
  77. 0x080027d0 266 chDbgCheck(time != TIME_IMMEDIATE);
  78. 0x080027d2 266 chDbgCheck(time != TIME_IMMEDIATE);
  79. 0x080027d4 266 chDbgCheck(time != TIME_IMMEDIATE);
  80. 268 (void) chSchGoSleepTimeoutS(CH_STATE_SLEEPING, time);
  81. 0x080027e0 268 (void) chSchGoSleepTimeoutS(CH_STATE_SLEEPING, time);
  82. 0x080027e2 268 (void) chSchGoSleepTimeoutS(CH_STATE_SLEEPING, time);
  83. 0x080027e4 268 (void) chSchGoSleepTimeoutS(CH_STATE_SLEEPING, time);
  84. 0x080027e6 268 (void) chSchGoSleepTimeoutS(CH_STATE_SLEEPING, time);
  85. 0x080027e8 268 (void) chSchGoSleepTimeoutS(CH_STATE_SLEEPING, time);
  86. chSchGoSleepTimeoutS (newstate=8 '\b', time=9499) at ../../../os/rt/src/chschd.c:330
  87. 330 msg_t chSchGoSleepTimeoutS(tstate_t newstate, systime_t time) {
  88. 0x08002452 330 msg_t chSchGoSleepTimeoutS(tstate_t newstate, systime_t time) {
  89. 0x08002454 330 msg_t chSchGoSleepTimeoutS(tstate_t newstate, systime_t time) {
  90. 0x08002456 330 msg_t chSchGoSleepTimeoutS(tstate_t newstate, systime_t time) {
  91. 0x08002458 330 msg_t chSchGoSleepTimeoutS(tstate_t newstate, systime_t time) {
  92. 0x0800245a 330 msg_t chSchGoSleepTimeoutS(tstate_t newstate, systime_t time) {
  93. 0x0800245c 330 msg_t chSchGoSleepTimeoutS(tstate_t newstate, systime_t time) {
  94. 0x0800245e 330 msg_t chSchGoSleepTimeoutS(tstate_t newstate, systime_t time) {
  95. 0x08002460 330 msg_t chSchGoSleepTimeoutS(tstate_t newstate, systime_t time) {
  96. 332 chDbgCheckClassS();
  97. chDbgCheckClassS () at ../../../os/rt/src/chdebug.c:250
  98. 250 void chDbgCheckClassS(void) {
  99. 252 if ((ch.dbg.isr_cnt != (cnt_t)0) || (ch.dbg.lock_cnt <= (cnt_t)0)) {
  100. 0x08001dc4 252 if ((ch.dbg.isr_cnt != (cnt_t)0) || (ch.dbg.lock_cnt <= (cnt_t)0)) {
  101. 0x08001dc6 252 if ((ch.dbg.isr_cnt != (cnt_t)0) || (ch.dbg.lock_cnt <= (cnt_t)0)) {
  102. 0x08001dc8 252 if ((ch.dbg.isr_cnt != (cnt_t)0) || (ch.dbg.lock_cnt <= (cnt_t)0)) {
  103. 0x08001dca 252 if ((ch.dbg.isr_cnt != (cnt_t)0) || (ch.dbg.lock_cnt <= (cnt_t)0)) {
  104. 0x08001dcc 252 if ((ch.dbg.isr_cnt != (cnt_t)0) || (ch.dbg.lock_cnt <= (cnt_t)0)) {
  105. 0x08001dce 252 if ((ch.dbg.isr_cnt != (cnt_t)0) || (ch.dbg.lock_cnt <= (cnt_t)0)) {
  106. 0x08001dd0 252 if ((ch.dbg.isr_cnt != (cnt_t)0) || (ch.dbg.lock_cnt <= (cnt_t)0)) {
  107. 255 }
  108. chSchGoSleepTimeoutS (newstate=8 '\b', time=500) at ../../../os/rt/src/chschd.c:334
  109. 334 if (TIME_INFINITE != time) {
  110. 0x08002468 334 if (TIME_INFINITE != time) {
  111. 0x0800246a 334 if (TIME_INFINITE != time) {
  112. 0x0800246c 334 if (TIME_INFINITE != time) {
  113. 0x0800246e 334 if (TIME_INFINITE != time) {
  114. 337 chVTDoSetI(&vt, time, wakeup, currp);
  115. 0x08002472 337 chVTDoSetI(&vt, time, wakeup, currp);
  116. 0x08002474 337 chVTDoSetI(&vt, time, wakeup, currp);
  117. 0x08002476 337 chVTDoSetI(&vt, time, wakeup, currp);
  118. 0x08002478 337 chVTDoSetI(&vt, time, wakeup, currp);
  119. 0x0800247a 337 chVTDoSetI(&vt, time, wakeup, currp);
  120. 0x0800247c 337 chVTDoSetI(&vt, time, wakeup, currp);
  121. 0x0800247e 337 chVTDoSetI(&vt, time, wakeup, currp);
  122. chVTDoSetI (vtp=0x80022fb <chSchReadyI+10>, delay=2048, vtfunc=0x20000600 <ch>, par=0x8001ae1 <_idle_thread>) at ../../../os/rt/src/chvt.c:96
  123. 96 vtfunc_t vtfunc, void *par) {
  124. 0x08001f22 96 vtfunc_t vtfunc, void *par) {
  125. 0x08001f24 96 vtfunc_t vtfunc, void *par) {
  126. 0x08001f26 96 vtfunc_t vtfunc, void *par) {
  127. 0x08001f28 96 vtfunc_t vtfunc, void *par) {
  128. 0x08001f2a 96 vtfunc_t vtfunc, void *par) {
  129. 0x08001f2c 96 vtfunc_t vtfunc, void *par) {
  130. 0x08001f2e 96 vtfunc_t vtfunc, void *par) {
  131. 0x08001f30 96 vtfunc_t vtfunc, void *par) {
  132. 100 chDbgCheckClassI();
  133. chDbgCheckClassI () at ../../../os/rt/src/chdebug.c:235
  134. 235 void chDbgCheckClassI(void) {
  135. 237 if ((ch.dbg.isr_cnt < (cnt_t)0) || (ch.dbg.lock_cnt <= (cnt_t)0)) {
  136. 0x08001d94 237 if ((ch.dbg.isr_cnt < (cnt_t)0) || (ch.dbg.lock_cnt <= (cnt_t)0)) {
  137. 0x08001d96 237 if ((ch.dbg.isr_cnt < (cnt_t)0) || (ch.dbg.lock_cnt <= (cnt_t)0)) {
  138. 0x08001d98 237 if ((ch.dbg.isr_cnt < (cnt_t)0) || (ch.dbg.lock_cnt <= (cnt_t)0)) {
  139. 0x08001d9a 237 if ((ch.dbg.isr_cnt < (cnt_t)0) || (ch.dbg.lock_cnt <= (cnt_t)0)) {
  140. 0x08001d9c 237 if ((ch.dbg.isr_cnt < (cnt_t)0) || (ch.dbg.lock_cnt <= (cnt_t)0)) {
  141. 0x08001d9e 237 if ((ch.dbg.isr_cnt < (cnt_t)0) || (ch.dbg.lock_cnt <= (cnt_t)0)) {
  142. 0x08001da0 237 if ((ch.dbg.isr_cnt < (cnt_t)0) || (ch.dbg.lock_cnt <= (cnt_t)0)) {
  143. 240 }
  144. chVTDoSetI (vtp=0x200005b4, delay=500, vtfunc=0x80023f1 <wakeup>, par=0x20000a3c <ch+1084>) at ../../../os/rt/src/chvt.c:101
  145. 101 chDbgCheck((vtp != NULL) && (vtfunc != NULL) && (delay != TIME_IMMEDIATE));
  146. 0x08001f38 101 chDbgCheck((vtp != NULL) && (vtfunc != NULL) && (delay != TIME_IMMEDIATE));
  147. 0x08001f3a 101 chDbgCheck((vtp != NULL) && (vtfunc != NULL) && (delay != TIME_IMMEDIATE));
  148. 0x08001f3c 101 chDbgCheck((vtp != NULL) && (vtfunc != NULL) && (delay != TIME_IMMEDIATE));
  149. 0x08001f3e 101 chDbgCheck((vtp != NULL) && (vtfunc != NULL) && (delay != TIME_IMMEDIATE));
  150. 0x08001f40 101 chDbgCheck((vtp != NULL) && (vtfunc != NULL) && (delay != TIME_IMMEDIATE));
  151. 0x08001f42 101 chDbgCheck((vtp != NULL) && (vtfunc != NULL) && (delay != TIME_IMMEDIATE));
  152. 0x08001f44 101 chDbgCheck((vtp != NULL) && (vtfunc != NULL) && (delay != TIME_IMMEDIATE));
  153. 0x08001f46 101 chDbgCheck((vtp != NULL) && (vtfunc != NULL) && (delay != TIME_IMMEDIATE));
  154. 0x08001f48 101 chDbgCheck((vtp != NULL) && (vtfunc != NULL) && (delay != TIME_IMMEDIATE));
  155. 0x08001f4a 101 chDbgCheck((vtp != NULL) && (vtfunc != NULL) && (delay != TIME_IMMEDIATE));
  156. 103 vtp->vt_par = par;
  157. 0x08001f56 103 vtp->vt_par = par;
  158. 0x08001f58 103 vtp->vt_par = par;
  159. 104 vtp->vt_func = vtfunc;
  160. 0x08001f5c 104 vtp->vt_func = vtfunc;
  161. 0x08001f5e 104 vtp->vt_func = vtfunc;
  162. 108 systime_t now = chVTGetSystemTimeX();
  163. 0x08001f62 108 systime_t now = chVTGetSystemTimeX();
  164. chVTGetSystemTimeX () at ../../../os/rt/include/chvt.h:228
  165. 228 static inline systime_t chVTGetSystemTimeX(void) {
  166. 233 return port_timer_get_time();
  167. port_timer_get_time () at ../../../os/rt/ports/ARMCMx/chcore_timer.h:105
  168. 105 static inline systime_t port_timer_get_time(void) {
  169. 107 return stGetCounter();
  170. st_lld_get_counter () at ../../../os/hal/ports/STM32/LLD/TIMv1/st_lld.h:141
  171. 141 return (systime_t)STM32_ST_TIM->CNT;
  172. 0x08001e72 141 return (systime_t)STM32_ST_TIM->CNT;
  173. 0x08001e74 141 return (systime_t)STM32_ST_TIM->CNT;
  174. 142 }
  175. 0x08001e78 142 }
  176. 0x08001ed6 in port_timer_get_time () at ../../../os/rt/ports/ARMCMx/chcore_timer.h:107
  177. 107 return stGetCounter();
  178. 108 }
  179. 0x08001eda 108 }
  180. 0x08001ee6 in chVTGetSystemTimeX () at ../../../os/rt/include/chvt.h:233
  181. 233 return port_timer_get_time();
  182. 235 }
  183. 0x08001eea 235 }
  184. 0x08001f66 in chVTDoSetI (vtp=0x200005b4, delay=500, vtfunc=0x80023f1 <wakeup>, par=0x20000a3c <ch+1084>) at ../../../os/rt/src/chvt.c:108
  185. 108 systime_t now = chVTGetSystemTimeX();
  186. 0x08001f68 108 systime_t now = chVTGetSystemTimeX();
  187. 112 if (delay < (systime_t)CH_CFG_ST_TIMEDELTA) {
  188. 0x08001f6c 112 if (delay < (systime_t)CH_CFG_ST_TIMEDELTA) {
  189. 0x08001f6e 112 if (delay < (systime_t)CH_CFG_ST_TIMEDELTA) {
  190. 0x08001f70 112 if (delay < (systime_t)CH_CFG_ST_TIMEDELTA) {
  191. 0x08001f72 112 if (delay < (systime_t)CH_CFG_ST_TIMEDELTA) {
  192. 117 if (&ch.vtlist == (virtual_timers_list_t *)ch.vtlist.vt_next) {
  193. 0x08001f7e 117 if (&ch.vtlist == (virtual_timers_list_t *)ch.vtlist.vt_next) {
  194. 0x08001f80 117 if (&ch.vtlist == (virtual_timers_list_t *)ch.vtlist.vt_next) {
  195. 0x08001f82 117 if (&ch.vtlist == (virtual_timers_list_t *)ch.vtlist.vt_next) {
  196. 0x08001f84 117 if (&ch.vtlist == (virtual_timers_list_t *)ch.vtlist.vt_next) {
  197. 121 ch.vtlist.vt_lasttime = now;
  198. 0x08001f88 121 ch.vtlist.vt_lasttime = now;
  199. 0x08001f8a 121 ch.vtlist.vt_lasttime = now;
  200. 0x08001f8c 121 ch.vtlist.vt_lasttime = now;
  201. 122 ch.vtlist.vt_next = vtp;
  202. 0x08001f90 122 ch.vtlist.vt_next = vtp;
  203. 0x08001f92 122 ch.vtlist.vt_next = vtp;
  204. 123 ch.vtlist.vt_prev = vtp;
  205. 0x08001f96 123 ch.vtlist.vt_prev = vtp;
  206. 0x08001f98 123 ch.vtlist.vt_prev = vtp;
  207. 124 vtp->vt_next = (virtual_timer_t *)&ch.vtlist;
  208. 0x08001f9c 124 vtp->vt_next = (virtual_timer_t *)&ch.vtlist;
  209. 0x08001f9e 124 vtp->vt_next = (virtual_timer_t *)&ch.vtlist;
  210. 125 vtp->vt_prev = (virtual_timer_t *)&ch.vtlist;
  211. 0x08001fa2 125 vtp->vt_prev = (virtual_timer_t *)&ch.vtlist;
  212. 0x08001fa4 125 vtp->vt_prev = (virtual_timer_t *)&ch.vtlist;
  213. 126 vtp->vt_delta = delay;
  214. 0x08001fa8 126 vtp->vt_delta = delay;
  215. 0x08001faa 126 vtp->vt_delta = delay;
  216. 0x08001fac 126 vtp->vt_delta = delay;
  217. 0x08001fae 126 vtp->vt_delta = delay;
  218. 129 port_timer_start_alarm(ch.vtlist.vt_lasttime + delay);
  219. 0x08001fb2 129 port_timer_start_alarm(ch.vtlist.vt_lasttime + delay);
  220. 0x08001fb4 129 port_timer_start_alarm(ch.vtlist.vt_lasttime + delay);
  221. 0x08001fb6 129 port_timer_start_alarm(ch.vtlist.vt_lasttime + delay);
  222. 0x08001fb8 129 port_timer_start_alarm(ch.vtlist.vt_lasttime + delay);
  223. 0x08001fba 129 port_timer_start_alarm(ch.vtlist.vt_lasttime + delay);
  224. 0x08001fbc 129 port_timer_start_alarm(ch.vtlist.vt_lasttime + delay);
  225. 0x08001fbe 129 port_timer_start_alarm(ch.vtlist.vt_lasttime + delay);
  226. 0x08001fc0 129 port_timer_start_alarm(ch.vtlist.vt_lasttime + delay);
  227. port_timer_start_alarm (time=2048) at ../../../os/rt/ports/ARMCMx/chcore_timer.h:71
  228. 71 static inline void port_timer_start_alarm(systime_t time) {
  229. 0x08001e82 71 static inline void port_timer_start_alarm(systime_t time) {
  230. 0x08001e84 71 static inline void port_timer_start_alarm(systime_t time) {
  231. 0x08001e86 71 static inline void port_timer_start_alarm(systime_t time) {
  232. 0x08001e88 71 static inline void port_timer_start_alarm(systime_t time) {
  233. 0x08001e8a 71 static inline void port_timer_start_alarm(systime_t time) {
  234. 73 stStartAlarm(time);
  235. 0x08001e8e 73 stStartAlarm(time);
  236. 0x08001e90 73 stStartAlarm(time);
  237. 0x08001e92 73 stStartAlarm(time);
  238. 0x08001e94 73 stStartAlarm(time);
  239. stStartAlarm (abstime=21845) at ../../../os/hal/src/st.c:77
  240. 77 void stStartAlarm(systime_t abstime) {
  241. 0x08000bc2 77 void stStartAlarm(systime_t abstime) {
  242. 0x08000bc4 77 void stStartAlarm(systime_t abstime) {
  243. 0x08000bc6 77 void stStartAlarm(systime_t abstime) {
  244. 0x08000bc8 77 void stStartAlarm(systime_t abstime) {
  245. 0x08000bca 77 void stStartAlarm(systime_t abstime) {
  246. 79 osalDbgAssert(stIsAlarmActive() == false, "already active");
  247. st_lld_is_alarm_active () at ../../../os/hal/ports/STM32/LLD/TIMv1/st_lld.h:205
  248. 205 return (bool)((STM32_ST_TIM->DIER & STM32_TIM_DIER_CC1IE) != 0);
  249. 0x08000b92 205 return (bool)((STM32_ST_TIM->DIER & STM32_TIM_DIER_CC1IE) != 0);
  250. 0x08000b94 205 return (bool)((STM32_ST_TIM->DIER & STM32_TIM_DIER_CC1IE) != 0);
  251. 0x08000b96 205 return (bool)((STM32_ST_TIM->DIER & STM32_TIM_DIER_CC1IE) != 0);
  252. 0x08000b98 205 return (bool)((STM32_ST_TIM->DIER & STM32_TIM_DIER_CC1IE) != 0);
  253. 0x08000b9a 205 return (bool)((STM32_ST_TIM->DIER & STM32_TIM_DIER_CC1IE) != 0);
  254. 0x08000b9c 205 return (bool)((STM32_ST_TIM->DIER & STM32_TIM_DIER_CC1IE) != 0);
  255. 206 }
  256. 0x08000ba0 206 }
  257. 0x08000bd0 in stStartAlarm (abstime=33423) at ../../../os/hal/src/st.c:79
  258. 79 osalDbgAssert(stIsAlarmActive() == false, "already active");
  259. 0x08000bd2 79 osalDbgAssert(stIsAlarmActive() == false, "already active");
  260. 81 st_lld_start_alarm(abstime);
  261. 0x08000bde 81 st_lld_start_alarm(abstime);
  262. 0x08000be0 81 st_lld_start_alarm(abstime);
  263. 0x08000be2 81 st_lld_start_alarm(abstime);
  264. 0x08000be4 81 st_lld_start_alarm(abstime);
  265. st_lld_start_alarm (time=21845) at ../../../os/hal/ports/STM32/LLD/TIMv1/st_lld.h:153
  266. 153 static inline void st_lld_start_alarm(systime_t time) {
  267. 0x08000b32 153 static inline void st_lld_start_alarm(systime_t time) {
  268. 0x08000b34 153 static inline void st_lld_start_alarm(systime_t time) {
  269. 0x08000b36 153 static inline void st_lld_start_alarm(systime_t time) {
  270. 0x08000b38 153 static inline void st_lld_start_alarm(systime_t time) {
  271. 155 STM32_ST_TIM->CCR[0] = (uint32_t)time;
  272. 0x08000b3c 155 STM32_ST_TIM->CCR[0] = (uint32_t)time;
  273. 0x08000b3e 155 STM32_ST_TIM->CCR[0] = (uint32_t)time;
  274. 0x08000b40 155 STM32_ST_TIM->CCR[0] = (uint32_t)time;
  275. 0x08000b42 155 STM32_ST_TIM->CCR[0] = (uint32_t)time;
  276. 156 STM32_ST_TIM->SR = 0;
  277. 0x08000b46 156 STM32_ST_TIM->SR = 0;
  278. 0x08000b48 156 STM32_ST_TIM->SR = 0;
  279. 157 STM32_ST_TIM->DIER = STM32_TIM_DIER_CC1IE;
  280. 0x08000b4c 157 STM32_ST_TIM->DIER = STM32_TIM_DIER_CC1IE;
  281. 0x08000b4e 157 STM32_ST_TIM->DIER = STM32_TIM_DIER_CC1IE;
  282. 158 }
  283. 0x08000b52 in st_lld_start_alarm (time=33423) at ../../../os/hal/ports/STM32/LLD/TIMv1/st_lld.h:158
  284. 158 }
  285. stStartAlarm (abstime=33423) at ../../../os/hal/src/st.c:82
  286. 82 }
  287. 0x08000bea in stStartAlarm (abstime=8192) at ../../../os/hal/src/st.c:82
  288. 82 }
  289. port_timer_start_alarm (time=33423) at ../../../os/rt/ports/ARMCMx/chcore_timer.h:74
  290. 74 }
  291. 0x08001e9a in port_timer_start_alarm (time=8192) at ../../../os/rt/ports/ARMCMx/chcore_timer.h:74
  292. 74 }
  293. 0x08001fc4 in chVTDoSetI (vtp=0x200005b4, delay=500, vtfunc=0x80023f1 <wakeup>, par=0x20000a3c <ch+1084>) at ../../../os/rt/src/chvt.c:129
  294. 129 port_timer_start_alarm(ch.vtlist.vt_lasttime + delay);
  295. 167 }
  296. 0x08002076 in chVTDoSetI (vtp=0x80001f4, delay=2048, vtfunc=0x8002483 <chSchGoSleepTimeoutS+50>, par=0x20000a3c <ch+1084>) at ../../../os/rt/src/chvt.c:167
  297. 167 }
  298. chSchGoSleepTimeoutS (newstate=8 '\b', time=500) at ../../../os/rt/src/chschd.c:338
  299. 338 chSchGoSleepS(newstate);
  300. 0x08002484 338 chSchGoSleepS(newstate);
  301. 0x08002486 338 chSchGoSleepS(newstate);
  302. 0x08002488 338 chSchGoSleepS(newstate);
  303. 0x0800248a 338 chSchGoSleepS(newstate);
  304. chSchGoSleepS (newstate=32 ' ') at ../../../os/rt/src/chschd.c:250
  305. 250 void chSchGoSleepS(tstate_t newstate) {
  306. 0x08002372 250 void chSchGoSleepS(tstate_t newstate) {
  307. 0x08002374 250 void chSchGoSleepS(tstate_t newstate) {
  308. 0x08002376 250 void chSchGoSleepS(tstate_t newstate) {
  309. 0x08002378 250 void chSchGoSleepS(tstate_t newstate) {
  310. 0x0800237a 250 void chSchGoSleepS(tstate_t newstate) {
  311. 253 chDbgCheckClassS();
  312. chDbgCheckClassS () at ../../../os/rt/src/chdebug.c:250
  313. 250 void chDbgCheckClassS(void) {
  314. 252 if ((ch.dbg.isr_cnt != (cnt_t)0) || (ch.dbg.lock_cnt <= (cnt_t)0)) {
  315. 0x08001dc4 252 if ((ch.dbg.isr_cnt != (cnt_t)0) || (ch.dbg.lock_cnt <= (cnt_t)0)) {
  316. 0x08001dc6 252 if ((ch.dbg.isr_cnt != (cnt_t)0) || (ch.dbg.lock_cnt <= (cnt_t)0)) {
  317. 0x08001dc8 252 if ((ch.dbg.isr_cnt != (cnt_t)0) || (ch.dbg.lock_cnt <= (cnt_t)0)) {
  318. 0x08001dca 252 if ((ch.dbg.isr_cnt != (cnt_t)0) || (ch.dbg.lock_cnt <= (cnt_t)0)) {
  319. 0x08001dcc 252 if ((ch.dbg.isr_cnt != (cnt_t)0) || (ch.dbg.lock_cnt <= (cnt_t)0)) {
  320. 0x08001dce 252 if ((ch.dbg.isr_cnt != (cnt_t)0) || (ch.dbg.lock_cnt <= (cnt_t)0)) {
  321. 0x08001dd0 252 if ((ch.dbg.isr_cnt != (cnt_t)0) || (ch.dbg.lock_cnt <= (cnt_t)0)) {
  322. 255 }
  323. chSchGoSleepS (newstate=8 '\b') at ../../../os/rt/src/chschd.c:255
  324. 255 otp = currp;
  325. 0x08002382 255 otp = currp;
  326. 0x08002384 255 otp = currp;
  327. 256 otp->p_state = newstate;
  328. 0x08002388 256 otp->p_state = newstate;
  329. 0x0800238a 256 otp->p_state = newstate;
  330. 0x0800238c 256 otp->p_state = newstate;
  331. 0x0800238e 256 otp->p_state = newstate;
  332. 0x08002390 256 otp->p_state = newstate;
  333. 262 setcurrp(queue_fifo_remove(&ch.rlist.r_queue));
  334. 0x08002394 262 setcurrp(queue_fifo_remove(&ch.rlist.r_queue));
  335. 0x08002396 262 setcurrp(queue_fifo_remove(&ch.rlist.r_queue));
  336. queue_fifo_remove (tqp=0x8001fc5 <chVTDoSetI+164>) at ../../../os/rt/include/chschd.h:671
  337. 671 static inline thread_t *queue_fifo_remove(threads_queue_t *tqp) {
  338. 0x08002212 671 static inline thread_t *queue_fifo_remove(threads_queue_t *tqp) {
  339. 672 thread_t *tp = tqp->p_next;
  340. 0x08002216 672 thread_t *tp = tqp->p_next;
  341. 0x08002218 672 thread_t *tp = tqp->p_next;
  342. 674 tqp->p_next = tp->p_next;
  343. 0x0800221c 674 tqp->p_next = tp->p_next;
  344. 0x0800221e 674 tqp->p_next = tp->p_next;
  345. 0x08002220 674 tqp->p_next = tp->p_next;
  346. 675 tqp->p_next->p_prev = (thread_t *)tqp;
  347. 0x08002224 675 tqp->p_next->p_prev = (thread_t *)tqp;
  348. 0x08002226 675 tqp->p_next->p_prev = (thread_t *)tqp;
  349. 0x08002228 675 tqp->p_next->p_prev = (thread_t *)tqp;
  350. 677 return tp;
  351. 678 }
  352. 0x0800222e 678 }
  353. 0x08002230 in queue_fifo_remove (tqp=0x80005b4 <osalOsTimerHandlerI+4>) at ../../../os/rt/include/chschd.h:678
  354. 678 }
  355. 0x0800239a in chSchGoSleepS (newstate=8 '\b') at ../../../os/rt/src/chschd.c:262
  356. 262 setcurrp(queue_fifo_remove(&ch.rlist.r_queue));
  357. 0x0800239c 262 setcurrp(queue_fifo_remove(&ch.rlist.r_queue));
  358. 0x0800239e 262 setcurrp(queue_fifo_remove(&ch.rlist.r_queue));
  359. 268 currp->p_state = CH_STATE_CURRENT;
  360. 0x080023a2 268 currp->p_state = CH_STATE_CURRENT;
  361. 0x080023a4 268 currp->p_state = CH_STATE_CURRENT;
  362. 0x080023a6 268 currp->p_state = CH_STATE_CURRENT;
  363. 0x080023a8 268 currp->p_state = CH_STATE_CURRENT;
  364. 269 chSysSwitch(currp, otp);
  365. 0x080023ac 269 chSysSwitch(currp, otp);
  366. 0x080023ae 269 chSysSwitch(currp, otp);
  367. _dbg_trace (otp=0x20000600 <ch>) at ../../../os/rt/src/chdebug.c:277
  368. 277 void _dbg_trace(thread_t *otp) {
  369. 0x08001e12 277 void _dbg_trace(thread_t *otp) {
  370. 0x08001e14 277 void _dbg_trace(thread_t *otp) {
  371. 279 ch.dbg.trace_buffer.tb_ptr->se_time = chVTGetSystemTimeX();
  372. 0x08001e18 279 ch.dbg.trace_buffer.tb_ptr->se_time = chVTGetSystemTimeX();
  373. 0x08001e1a 279 ch.dbg.trace_buffer.tb_ptr->se_time = chVTGetSystemTimeX();
  374. chVTGetSystemTimeX () at ../../../os/rt/include/chvt.h:228
  375. 228 static inline systime_t chVTGetSystemTimeX(void) {
  376. 233 return port_timer_get_time();
  377. port_timer_get_time () at ../../../os/rt/ports/ARMCMx/chcore_timer.h:105
  378. 105 static inline systime_t port_timer_get_time(void) {
  379. 107 return stGetCounter();
  380. st_lld_get_counter () at ../../../os/hal/ports/STM32/LLD/TIMv1/st_lld.h:141
  381. 141 return (systime_t)STM32_ST_TIM->CNT;
  382. 0x08001bf2 141 return (systime_t)STM32_ST_TIM->CNT;
  383. 0x08001bf4 141 return (systime_t)STM32_ST_TIM->CNT;
  384. 142 }
  385. 0x08001bf8 142 }
  386. 0x08001c06 in port_timer_get_time () at ../../../os/rt/ports/ARMCMx/chcore_timer.h:107
  387. 107 return stGetCounter();
  388. 108 }
  389. 0x08001c0a 108 }
  390. 0x08001c16 in chVTGetSystemTimeX () at ../../../os/rt/include/chvt.h:233
  391. 233 return port_timer_get_time();
  392. 235 }
  393. 0x08001c1a 235 }
  394. 0x08001e1e in _dbg_trace (otp=0x20000a3c <ch+1084>) at ../../../os/rt/src/chdebug.c:279
  395. 279 ch.dbg.trace_buffer.tb_ptr->se_time = chVTGetSystemTimeX();
  396. 0x08001e20 279 ch.dbg.trace_buffer.tb_ptr->se_time = chVTGetSystemTimeX();
  397. 280 ch.dbg.trace_buffer.tb_ptr->se_tp = currp;
  398. 0x08001e24 280 ch.dbg.trace_buffer.tb_ptr->se_tp = currp;
  399. 0x08001e26 280 ch.dbg.trace_buffer.tb_ptr->se_tp = currp;
  400. 0x08001e28 280 ch.dbg.trace_buffer.tb_ptr->se_tp = currp;
  401. 0x08001e2a 280 ch.dbg.trace_buffer.tb_ptr->se_tp = currp;
  402. 281 ch.dbg.trace_buffer.tb_ptr->se_wtobjp = otp->p_u.wtobjp;
  403. 0x08001e2e 281 ch.dbg.trace_buffer.tb_ptr->se_wtobjp = otp->p_u.wtobjp;
  404. 0x08001e30 281 ch.dbg.trace_buffer.tb_ptr->se_wtobjp = otp->p_u.wtobjp;
  405. 0x08001e32 281 ch.dbg.trace_buffer.tb_ptr->se_wtobjp = otp->p_u.wtobjp;
  406. 0x08001e34 281 ch.dbg.trace_buffer.tb_ptr->se_wtobjp = otp->p_u.wtobjp;
  407. 282 ch.dbg.trace_buffer.tb_ptr->se_state = (uint8_t)otp->p_state;
  408. 0x08001e38 282 ch.dbg.trace_buffer.tb_ptr->se_state = (uint8_t)otp->p_state;
  409. 0x08001e3a 282 ch.dbg.trace_buffer.tb_ptr->se_state = (uint8_t)otp->p_state;
  410. 0x08001e3c 282 ch.dbg.trace_buffer.tb_ptr->se_state = (uint8_t)otp->p_state;
  411. 0x08001e3e 282 ch.dbg.trace_buffer.tb_ptr->se_state = (uint8_t)otp->p_state;
  412. 0x08001e40 282 ch.dbg.trace_buffer.tb_ptr->se_state = (uint8_t)otp->p_state;
  413. 283 if (++ch.dbg.trace_buffer.tb_ptr >=
  414. 0x08001e44 283 if (++ch.dbg.trace_buffer.tb_ptr >=
  415. 0x08001e46 283 if (++ch.dbg.trace_buffer.tb_ptr >=
  416. 0x08001e48 283 if (++ch.dbg.trace_buffer.tb_ptr >=
  417. 0x08001e4a 283 if (++ch.dbg.trace_buffer.tb_ptr >=
  418. 0x08001e4c 283 if (++ch.dbg.trace_buffer.tb_ptr >=
  419. 0x08001e4e 283 if (++ch.dbg.trace_buffer.tb_ptr >=
  420. 0x08001e50 283 if (++ch.dbg.trace_buffer.tb_ptr >=
  421. 0x08001e52 283 if (++ch.dbg.trace_buffer.tb_ptr >=
  422. 0x08001e54 283 if (++ch.dbg.trace_buffer.tb_ptr >=
  423. 0x08001e56 283 if (++ch.dbg.trace_buffer.tb_ptr >=
  424. 287 }
  425. 0x08001e60 in _dbg_trace (otp=0x80023b3 <chSchGoSleepS+66>) at ../../../os/rt/src/chdebug.c:287
  426. 287 }
  427. __get_PSP () at ../../../os/ext/CMSIS/include/core_cmFunc.h:430
  428. 430 __ASM volatile ("MRS %0, psp\n" : "=r" (result) );
  429. 0x080023b6 430 __ASM volatile ("MRS %0, psp\n" : "=r" (result) );
  430. 431 return(result);
  431. chSchGoSleepS (newstate=8 '\b') at ../../../os/rt/src/chschd.c:269
  432. 269 chSysSwitch(currp, otp);
  433. 0x080023bc 269 chSysSwitch(currp, otp);
  434. 0x080023be 269 chSysSwitch(currp, otp);
  435. 0x080023c0 269 chSysSwitch(currp, otp);
  436. 0x080023c2 269 chSysSwitch(currp, otp);
  437. 0x080023c4 269 chSysSwitch(currp, otp);
  438. 0x080023c6 269 chSysSwitch(currp, otp);
  439. 0x080023c8 269 chSysSwitch(currp, otp);
  440. 0x080023d2 269 chSysSwitch(currp, otp);
  441. 0x080023d4 269 chSysSwitch(currp, otp);
  442. 0x080023d6 269 chSysSwitch(currp, otp);
  443. 0x080023d8 269 chSysSwitch(currp, otp);
  444. 0x080023da 269 chSysSwitch(currp, otp);
  445. 0x080023dc 269 chSysSwitch(currp, otp);
  446. _port_switch () at ../../../os/rt/ports/ARMCMx/compilers/GCC/chcoreasm_v6m.s:59
  447. 59 push {r4, r5, r6, r7, lr}
  448. 60 mov r4, r8
  449. 61 mov r5, r9
  450. 62 mov r6, r10
  451. 63 mov r7, r11
  452. 64 push {r4, r5, r6, r7}
  453. 66 mov r3, sp
  454. 67 str r3, [r1, #CONTEXT_OFFSET]
  455. 68 ldr r3, [r0, #CONTEXT_OFFSET]
  456. 69 mov sp, r3
  457. _port_switch () at ../../../os/rt/ports/ARMCMx/compilers/GCC/chcoreasm_v6m.s:71
  458. 71 pop {r4, r5, r6, r7}
  459. _port_switch () at ../../../os/rt/ports/ARMCMx/compilers/GCC/chcoreasm_v6m.s:72
  460. 72 mov r8, r4
  461. 73 mov r9, r5
  462. 74 mov r10, r6
  463. 75 mov r11, r7
  464. 76 pop {r4, r5, r6, r7, pc}
  465. _port_thread_start () at ../../../os/rt/ports/ARMCMx/compilers/GCC/chcoreasm_v6m.s:90
  466. 90 bl _dbg_check_unlock
  467. _dbg_check_unlock () at ../../../os/rt/src/chdebug.c:163
  468. 163 void _dbg_check_unlock(void) {
  469. 165 if ((ch.dbg.isr_cnt != (cnt_t)0) || (ch.dbg.lock_cnt <= (cnt_t)0)) {
  470. 0x08001c84 165 if ((ch.dbg.isr_cnt != (cnt_t)0) || (ch.dbg.lock_cnt <= (cnt_t)0)) {
  471. 0x08001c86 165 if ((ch.dbg.isr_cnt != (cnt_t)0) || (ch.dbg.lock_cnt <= (cnt_t)0)) {
  472. 0x08001c88 165 if ((ch.dbg.isr_cnt != (cnt_t)0) || (ch.dbg.lock_cnt <= (cnt_t)0)) {
  473. 0x08001c8a 165 if ((ch.dbg.isr_cnt != (cnt_t)0) || (ch.dbg.lock_cnt <= (cnt_t)0)) {
  474. 0x08001c8c 165 if ((ch.dbg.isr_cnt != (cnt_t)0) || (ch.dbg.lock_cnt <= (cnt_t)0)) {
  475. 0x08001c8e 165 if ((ch.dbg.isr_cnt != (cnt_t)0) || (ch.dbg.lock_cnt <= (cnt_t)0)) {
  476. 0x08001c90 165 if ((ch.dbg.isr_cnt != (cnt_t)0) || (ch.dbg.lock_cnt <= (cnt_t)0)) {
  477. 168 _dbg_leave_lock();
  478. 0x08001c9c 168 _dbg_leave_lock();
  479. 0x08001c9e 168 _dbg_leave_lock();
  480. 169 }
  481. _port_thread_start () at ../../../os/rt/ports/ARMCMx/compilers/GCC/chcoreasm_v6m.s:95
  482. 95 cpsie i
  483. 0x60412106 in ?? ()
  484. 0x1ff00230 in ?? ()
  485. 0x1ff00232 in ?? ()
  486. 0x1ff00074 in ?? ()
  487. 0x1ff00076 in ?? ()
  488. 0x1ff00078 in ?? ()
  489. 0x1ff00238 in ?? ()
  490. 0x1ff0023a in ?? ()
  491. 0x1ff00040 in ?? ()
Advertisement
Add Comment
Please, Sign In to add comment