|
|
  |
wiggler, linux, openocd и доступ к LPT, wiggler linux openocd cannot open device |
|
|
|
Dec 10 2010, 19:48
|
Участник

Группа: Участник
Сообщений: 65
Регистрация: 28-08-09
Пользователь №: 52 078

|
Доброго времени суток. Решил заняться МК stm32 под ubuntu 10.10. Собрал openocd с флагами --enable-parport_ppdev --enable-parport --enable-maintainer-mode. Запускаю и вижу следующее: Код $ sudo openocd -f interface/parport.cfg -f target/stm32.cfg Open On-Chip Debugger 0.4.0 (2010-12-10-15:43) Licensed under GNU GPL v2 For bug reports, read http://openocd.berlios.de/doc/doxygen/bugs.html parport port = 0x378 100 kHz jtag_nsrst_delay: 100 jtag_ntrst_delay: 100 Error: cannot open device. check it exists and that user read and write rights are set. errno=2 Command handler execution failed Я так понимаю, что openocd не может получить доступ к LPT. Пробовал адреса 0x378 и 0x278, эффект такой же. Когда wiggler отключен то же самое. Как можно решить проблему?
|
|
|
|
|
Dec 10 2010, 20:42
|
Участник

Группа: Участник
Сообщений: 65
Регистрация: 28-08-09
Пользователь №: 52 078

|
Цитата(ReAl @ Dec 10 2010, 23:35)  На прямые адреса без рутовых полномочий он не долезет. --enable-parport_ppdev - возможность обращения к /dev/parport0 вместо прямого адреса. Группа для /dev/parport0 должна быть lp и включить пользователя в эту группу, тогда можно обойтись без рутовых полномочий. Так я вроде с рутовскими лезу... Исправил в parport.cfg адрес на 0, он мне выдал Код sudo openocd -f interface/parport.cfg -f target/stm32.cfg -f /home/brain/myopenocd.cfg Open On-Chip Debugger 0.4.0 (2010-12-10-15:43) Licensed under GNU GPL v2 For bug reports, read http://openocd.berlios.de/doc/doxygen/bugs.html parport port = 0x0 100 kHz jtag_nsrst_delay: 100 jtag_ntrst_delay: 100 Info : clock speed 100 kHz Info : JTAG tap: stm32.cpu tap/device found: 0x3ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x3) Info : JTAG tap: stm32.bs tap/device found: 0x16410041 (mfg: 0x020, part: 0x6410, ver: 0x1) Info : stm32.cpu: hardware has 6 breakpoints, 4 watchpoints Ща полезу в даташит узнавать те ли это значения. А с /dev/parport0 надо будет попробовать, ето удобнее. А почему hardware has 6 breakpoints, 4 watchpoints, я ж никакие брейки не ставил, или это он говорит про физические ограничения?
|
|
|
|
|
Dec 11 2010, 12:25
|

Нечётный пользователь.
     
Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417

|
Тю, интересно. Может, он число 0 именно как просьбу полезть на /dev/parport0 и воспринял, у меня в avreal в ключе -p числа 1,2,3 означают номер LPT, а «большие» числа — адрес. И, возможно, у Вас LPT и не на 0x378 и не на 0x278 и в Цитата Error: cannot open device. check it exists and that user read and write rights are set. errno=2 проблема не в правах была, а в отсутствии утсройства на заданном адресе. Гляньте Код cat /proc/sys/dev/parport/parport0/base-addr Первое число — базовый адрес в десятичном формате. Цитата(Brain13 @ Dec 10 2010, 22:42)  А почему hardware has 6 breakpoints, 4 watchpoints, я ж никакие брейки не ставил, или это он говорит про физические ограничения? Да, это возможности отлдочной аппаратуры в кристалле.
--------------------
Ну, я пошёл… Если что – звоните…
|
|
|
|
|
Dec 11 2010, 13:33
|
Участник

Группа: Участник
Сообщений: 65
Регистрация: 28-08-09
Пользователь №: 52 078

|
Цитата(ReAl @ Dec 11 2010, 15:25)  Тю, интересно. Может, он число 0 именно как просьбу полезть на /dev/parport0 и воспринял, у меня в avreal в ключе -p числа 1,2,3 означают номер LPT, а «большие» числа — адрес. И, возможно, у Вас LPT и не на 0x378 и не на 0x278 и в проблема не в правах была, а в отсутствии утсройства на заданном адресе. Гляньте Код cat /proc/sys/dev/parport/parport0/base-addr Первое число — базовый адрес в десятичном формате. Да, это возможности отлдочной аппаратуры в кристалле. Адрес 0x378. Код $ cat /proc/sys/dev/parport/parport0/base-addr 888 1912 Сейчас еще проблема, у меня камень не хочет входить в состояние halted. Консоль с openocd. Код sudo openocd -f interface/parport.cfg -f target/stm32.cfg -f /home/brain/myopenocd.cfg [sudo] password for brain: Open On-Chip Debugger 0.4.0 (2010-12-10-15:43) Licensed under GNU GPL v2 For bug reports, read http://openocd.berlios.de/doc/doxygen/bugs.html parport port = 0x0 100 kHz jtag_nsrst_delay: 333 jtag_ntrst_delay: 333 Info : clock speed 100 kHz Info : JTAG tap: stm32.cpu tap/device found: 0x3ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x3) Info : JTAG tap: stm32.bs tap/device found: 0x16410041 (mfg: 0x020, part: 0x6410, ver: 0x1) Info : stm32.cpu: hardware has 6 breakpoints, 4 watchpoints Консоль telnet. Код $ telnet 127.0.0.1 4444 Trying 127.0.0.1... Connected to 127.0.0.1. Escape character is '^]'. Open On-Chip Debugger > > targets TargetName Type Endian TapName State -- ------------------ ---------- ------ ------------------ ------------ 0* stm32.cpu cortex_m3 little stm32.cpu reset > halt Halt timed out, wake up GDB. timed out while waiting for target halted Command handler execution failed in procedure 'halt' called at file "command.c", line 650 called at file "command.c", line 361 > targets TargetName Type Endian TapName State -- ------------------ ---------- ------ ------------------ ------------ 0* stm32.cpu cortex_m3 little stm32.cpu reset >
|
|
|
|
|
Dec 12 2010, 17:43
|
Участник

Группа: Участник
Сообщений: 65
Регистрация: 28-08-09
Пользователь №: 52 078

|
Код Сейчас еще проблема, у меня камень не хочет входить в состояние halted. Проблема решена, корпус кнопки коротил RESET на землю. Заливка программы и отладка работает! Всем спасибо!
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|