Перейти к содержанию
    

wiggler, linux, openocd и доступ к LPT

Доброго времени суток.

Решил заняться МК 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 отключен то же самое.

Как можно решить проблему?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На прямые адреса без рутовых полномочий он не долезет.

--enable-parport_ppdev - возможность обращения к /dev/parport0 вместо прямого адреса.

Группа для /dev/parport0 должна быть lp и включить пользователя в эту группу, тогда можно обойтись без рутовых полномочий.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На прямые адреса без рутовых полномочий он не долезет.

--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, я ж никакие брейки не ставил, или это он говорит про физические ограничения?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Тю, интересно. Может, он число 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

Первое число — базовый адрес в десятичном формате.

 

А почему hardware has 6 breakpoints, 4 watchpoints, я ж никакие брейки не ставил, или это он говорит про физические ограничения?
Да, это возможности отлдочной аппаратуры в кристалле.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Тю, интересно. Может, он число 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
>

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сейчас еще проблема, у меня камень не хочет входить в состояние halted.

 

Проблема решена, корпус кнопки коротил RESET на землю.

Заливка программы и отладка работает! Всем спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...