1 /***************************************************************************
2 * Copyright 2016,2017 Sony Video & Sound Products Inc. *
3 * Masatoshi Tateishi - Masatoshi.Tateishi@jp.sony.com *
4 * Masayuki Ishikawa - Masayuki.Ishikawa@jp.sony.com *
6 * This program is free software; you can redistribute it and/or modify *
7 * it under the terms of the GNU General Public License as published by *
8 * the Free Software Foundation; either version 2 of the License, or *
9 * (at your option) any later version. *
11 * This program is distributed in the hope that it will be useful, *
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
14 * GNU General Public License for more details. *
16 * You should have received a copy of the GNU General Public License *
17 * along with this program. If not, see <http://www.gnu.org/licenses/>. *
18 ***************************************************************************/
20 #ifndef OPENOCD_RTOS_NUTTX_HEADER_H
21 #define OPENOCD_RTOS_NUTTX_HEADER_H
23 /* gdb script to update the header file
24 according to kernel version and build option
25 before executing function awareness
26 kernel symbol must be loaded : symbol nuttx
30 set logging file nuttx_header.h
33 printf "#define PID %p\n",&((struct tcb_s *)(0))->pid
34 printf "#define XCPREG %p\n",&((struct tcb_s *)(0))->xcp.regs
35 printf "#define STATE %p\n",&((struct tcb_s *)(0))->task_state
36 printf "#define NAME %p\n",&((struct tcb_s *)(0))->name
37 printf "#define NAME_SIZE %d\n",sizeof(((struct tcb_s *)(0))->name)
47 eval "monitor nuttx.pid_offset %d", &((struct tcb_s *)(0))->pid
48 eval "monitor nuttx.xcpreg_offset %d", &((struct tcb_s *)(0))->xcp.regs
49 eval "monitor nuttx.state_offset %d", &((struct tcb_s *)(0))->task_state
50 eval "monitor nuttx.name_offset %d", &((struct tcb_s *)(0))->name
51 eval "monitor nuttx.name_size %d", sizeof(((struct tcb_s *)(0))->name)
65 /* defconfig of nuttx */
66 /* #define CONFIG_DISABLE_SIGNALS */
67 #define CONFIG_DISABLE_MQUEUE
68 /* #define CONFIG_PAGING */
71 #endif /* OPENOCD_RTOS_NUTTX_HEADER_H */