In transport.c:
1. I use "transport select jtag", in jim_transport_select, argv[0]->bytes is
"select", so argv[1]->bytes should be used.
2. In allow_transports function:
[code]
while (*vector)
LOG_DEBUG("allow transport '%s'", *vector++);
[/code]
LOG_DEBUG is:
[code]
#define LOG_DEBUG(expr ...) \
do { \
if (debug_level >= LOG_LVL_DEBUG) \
log_printf_lf(LOG_LVL_DEBUG, \
__FILE__, __LINE__, __func__, \
expr); \
} while (0)
[/code]
such code will be expanded to:
[code]
while (*vector)
do { \
if (debug_level >= ) \
log_printf_lf(LOG_LVL_DEBUG, \
__FILE__, __LINE__, __func__, \
("allow transport '%s'", *vector++); \
} while (0);
[/code]
The problem is that, if debug_level < LOG_LVL_DEBUG, vector++ will not
execute, and the program dies here.
It should be:
[code]
while (*vector)
{
LOG_DEBUG("allow transport '%s'", *vector);
vector++;
}
[/code]
--
Best Regards, SimonQian
http://www.SimonQian.com
_______________________________________________
Openocd-development mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/openocd-development