OpenOCD: какое HW выбрать для отладки ARM ?
взял из svn последнюю версию (1282)
в конфиге сборки есть такие строчки:
Код
--enable-ioutil Enable ioutil functions - useful for standalone OpenOCD implementations
--enable-httpd Enable builtin httpd server - useful for standalone OpenOCD implementations
конфигурю:
./configure --enable-ioutil --enable-httpd
собираю:
make
получаю:
CODE
...
...
httpd.c:50:24: error: microhttpd.h: No such file or directory
httpd.c:200: warning: ‘enum MHD_RequestTerminationCode’ declared inside parameter list
httpd.c:200: warning: its scope is only this definition or declaration, which is probably not what you want
httpd.c:200: warning: ‘struct MHD_Connection’ declared inside parameter list
httpd.c:200: error: parameter 4 (‘toe’) has incomplete type
httpd.c: In function ‘request_completed’:
httpd.c:209: warning: implicit declaration of function ‘MHD_destroy_post_processor’
httpd.c: At top level:
httpd.c:247: warning: ‘enum MHD_ValueKind’ declared inside parameter list
httpd.c:244: error: parameter 2 (‘kind’) has incomplete type
httpd.c: In function ‘iterate_post’:
httpd.c:253: error: ‘MHD_YES’ undeclared (first use in this function)
httpd.c:253: error: (Each undeclared identifier is reported only once
httpd.c:253: error: for each function it appears in.)
httpd.c: At top level:
httpd.c:257: warning: ‘enum MHD_ValueKind’ declared inside parameter list
httpd.c:256: error: parameter 2 (‘kind’) has incomplete type
httpd.c: In function ‘record_arg’:
httpd.c:261: error: ‘MHD_YES’ undeclared (first use in this function)
httpd.c: At top level:
httpd.c:265: warning: ‘struct MHD_Connection’ declared inside parameter list
httpd.c: In function ‘handle_request’:
httpd.c:288: error: ‘MHD_NO’ undeclared (first use in this function)
httpd.c:290: warning: implicit declaration of function ‘MHD_create_response_from_data’
httpd.c:291: error: ‘MHD_YES’ undeclared (first use in this function)
httpd.c:291: warning: assignment makes pointer from integer without a cast
httpd.c:292: warning: implicit declaration of function ‘MHD_queue_response’
httpd.c:293: error: ‘MHD_HTTP_INTERNAL_SERVER_ERROR’ undeclared (first use in this function)
httpd.c:294: warning: implicit declaration of function ‘MHD_destroy_response’
httpd.c:306: warning: assignment makes pointer from integer without a cast
httpd.c:318: warning: implicit declaration of function ‘loadFile’
httpd.c:324: warning: assignment makes pointer from integer without a cast
httpd.c:325: error: ‘MHD_HTTP_NOT_FOUND’ undeclared (first use in this function)
httpd.c:332: warning: assignment makes pointer from integer without a cast
httpd.c:333: warning: implicit declaration of function ‘MHD_add_response_header’
httpd.c:335: error: ‘MHD_HTTP_OK’ undeclared (first use in this function)
httpd.c: At top level:
httpd.c:345: warning: ‘struct MHD_Connection’ declared inside parameter list
httpd.c: In function ‘ahc_echo’:
httpd.c:358: error: ‘MHD_NO’ undeclared (first use in this function)
httpd.c:378: warning: implicit declaration of function ‘MHD_get_connection_values’
httpd.c:378: error: ‘MHD_GET_ARGUMENT_KIND’ undeclared (first use in this function)
httpd.c:383: warning: implicit declaration of function ‘MHD_create_post_processor’
httpd.c:384: warning: assignment makes pointer from integer without a cast
httpd.c:387: error: ‘MHD_YES’ undeclared (first use in this function)
httpd.c:397: warning: implicit declaration of function ‘MHD_post_process’
httpd.c:426: warning: passing argument 1 of ‘handle_request’ from incompatible pointer type
httpd.c: In function ‘httpd_start’:
httpd.c:438: warning: implicit declaration of function ‘pthread_mutexattr_init’
httpd.c:439: warning: implicit declaration of function ‘pthread_mutex_init’
httpd.c:443: warning: implicit declaration of function ‘MHD_start_daemon’
httpd.c:443: error: ‘MHD_USE_SELECT_INTERNALLY’ undeclared (first use in this function)
httpd.c:445: error: ‘MHD_OPTION_NOTIFY_COMPLETED’ undeclared (first use in this function)
httpd.c:446: error: ‘MHD_OPTION_END’ undeclared (first use in this function)
httpd.c:446: warning: assignment makes pointer from integer without a cast
httpd.c: In function ‘httpd_stop’:
httpd.c:468: warning: implicit declaration of function ‘MHD_stop_daemon’
httpd.c:469: warning: implicit declaration of function ‘pthread_mutex_destroy’
httpd.c: In function ‘openocd_sleep_prelude’:
httpd.c:474: warning: implicit declaration of function ‘pthread_mutex_unlock’
httpd.c: In function ‘openocd_sleep_postlude’:
httpd.c:479: warning: implicit declaration of function ‘pthread_mutex_lock’
make[3]: *** [httpd.o] Error 1
make[3]: Leaving directory `/hdd/500/download/soft/openocd/src/server'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/hdd/500/download/soft/openocd/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/hdd/500/download/soft/openocd'
make: *** [all] Error 2
т.о. судя по всему в этом пресловутом httpd сырой функционал, если не указывать в конфиге, то всё успешно собирается и даже запускается:
Код
$ openocd
Open On-Chip Debugger 1.0 (2008-12-28-02:43) svn:1282
вопроса 2 :
1. насколько действительно "useful for standalone OpenOCD implementations" этот пресловутый веб-сервер? (в документации комментариев на этот счёт не обнаружил)
2. как определить ревизию последнего успешного коммита??
полазил по репозитарию - бранчей по номерам релизов у них нет.. как определить какую ревизию брать из репозитария, чтобы это гарантированно собралось без ошибок??