FreeCalypso > hg > fc-tourmaline
comparison src/cs/services/etm/etm_tmcore.c @ 209:e4d70b3367be
new ETM debug command for KPD_PWR testing
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Thu, 22 Apr 2021 07:22:59 +0000 |
parents | 4e78acac3d88 |
children | 7e225a4cd537 |
comparison
equal
deleted
inserted
replaced
208:6fb17a32c5bd | 209:e4d70b3367be |
---|---|
30 | 30 |
31 #include "abb/abb.h" | 31 #include "abb/abb.h" |
32 | 32 |
33 #include "spi/spi_drv.h" | 33 #include "spi/spi_drv.h" |
34 extern void tr_etm_init(unsigned int mask); | 34 extern void tr_etm_init(unsigned int mask); |
35 | |
36 /* FreeCalypso addition for KPD_PWR testing */ | |
37 #include "kpd/kpd_power_api.h" | |
35 | 38 |
36 // Version of the ETM CORE module | 39 // Version of the ETM CORE module |
37 // See the file etm_version.h | 40 // See the file etm_version.h |
38 | 41 |
39 /****************************************************************************** | 42 /****************************************************************************** |
303 *****************************************************************************/ | 306 *****************************************************************************/ |
304 | 307 |
305 int etm_debug(T_ETM_PKT *pkt, uint8 *buf) | 308 int etm_debug(T_ETM_PKT *pkt, uint8 *buf) |
306 { | 309 { |
307 int type, error, data; | 310 int type, error, data; |
308 | 311 char *p; |
309 static char *p; | 312 extern T_KPD_KEYPAD Kp; |
310 | 313 |
311 type = *buf & 0x0F; | 314 type = *buf & 0x0F; |
312 buf++; | 315 buf++; |
313 | 316 |
314 data = etm_get32(buf); | 317 data = etm_get32(buf); |
315 | 318 |
316 tr_etm(TgTrCore, "ETM CORE: _debug: type(%d) data(0x%x)", type, data); | 319 tr_etm(TgTrCore, "ETM CORE: _debug: type(%d) data(0x%x)", type, data); |
317 | 320 |
321 error = 0; | |
318 switch (type) { | 322 switch (type) { |
319 case 0: // (0x00) Allocate Test Buffer | 323 case 0: // (0x00) Allocate Test Buffer |
320 if ((p = etm_malloc(data)) == NULL) | 324 if ((p = etm_malloc(data)) == NULL) |
321 error = ETM_NOMEM; | 325 error = ETM_NOMEM; |
322 error = etm_pkt_put32(pkt, (int) p); | 326 else |
327 error = etm_pkt_put32(pkt, (int) p); | |
323 break; | 328 break; |
324 case 1: // (0x01) Free Test Buffer. | 329 case 1: // (0x01) Free Test Buffer. |
325 p = (char *) data; | 330 p = (char *) data; |
326 etm_free(p); | 331 etm_free(p); |
327 break; | 332 break; |
330 break; | 335 break; |
331 case 3: // (0x03) Set read all mem banks stat | 336 case 3: // (0x03) Set read all mem banks stat |
332 rvf_dump_mem(); | 337 rvf_dump_mem(); |
333 rvf_dump_pool(); | 338 rvf_dump_pool(); |
334 rvf_dump_tasks(); | 339 rvf_dump_tasks(); |
340 break; | |
341 /* FreeCalypso addition for KPD_PWR testing */ | |
342 case 4: | |
343 (Kp.pressed)(KPD_PWR); | |
344 rvf_delay(5); | |
345 (Kp.released)(); | |
335 break; | 346 break; |
336 default: | 347 default: |
337 error = ETM_NOSYS; | 348 error = ETM_NOSYS; |
338 } | 349 } |
339 | 350 |