реклама на сайте
подробности

 
 
> Как настроить GDB для ARM в Sublime Text?
r44083
сообщение Sep 26 2015, 08:56
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 25
Регистрация: 13-09-15
Пользователь №: 88 376



Сделал в Sublime Text 3 что-то похожее на IDE для ARM на основе arm-none-eabi-*, make, clang и ST-LINK_CLI. Теперь дело дошло для отладчика.
Установил плагин SublimeGDB, (PATH для GDB уже прописан). Ниже привожу настройки только для SublimeGDB, которые указал в настройках проекта:
Код
"settings":
  {
    "sublimegdb_commandline": "arm-none-eabi-gdb --interpreter=mi ARM-test0.elf",
    "sublimegdb_workingdir": "${folder:${project_path:ARM-test0.elf}}"
  }

Нажимаю в Sublime F5 и появляются вкладки плагина SublimeGDB:

Вот лог вывода во вкладке "GDB Session":
CODE

1-gdb-show interpreter
=thread-group-added,id="i1"
~"GNU gdb (GNU Tools for ARM Embedded Processors) 7.8.0.20150604-cvs\n"
~"Copyright © 2014 Free Software Foundation, Inc.\n"
~"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\nThis is free software: you are free to change and redistribute it.\nThere is NO WARRANTY, to the extent permitted by law. Type \"show copying\"\nand \"show warranty\" for details.\n"
~"This GDB was configured as \"--host=i686-w64-mingw32 --target=arm-none-eabi\".\nType \"show configuration\" for configuration details."
~"\nFor bug reporting instructions, please see:\n"
~"<http://www.gnu.org/software/gdb/bugs/>.\n"
~"Find the GDB manual and other documentation resources online at:\n<http://www.gnu.org/software/gdb/documentation/>.\n"
~"For help, type \"help\".\n"
~"Type \"apropos word\" to search for commands related to \"word\"...\n"
~"Reading symbols from ARM-test0.elf..."
~"done.\n"
(gdb)
1^error,msg="Undefined show command: \"interpreter\". Try \"help show\"."
(gdb)
2-inferior-tty-set c:\users\pc1\appdata\local\temp\tmpoh0opi
2^done
(gdb)
3-gdb-set target-async 1
4-gdb-set pagination off
5-gdb-set disassembly-flavor intel
6-break-insert "\"d:/4 electronics/soft/sublime text projects/arm-test0/user-code/main.cpp\":36"
3^done
(gdb)
4^done
(gdb)
5^error,msg="No symbol \"disassembly\" in current context."
(gdb)
6^done,bkpt={number="1",type="breakpoint",disp="keep",enabled="y",addr="0x080002f4",func="main()",file=".\\user-code/main.cpp",fullname="D:\\4 electronics\\soft\\Sublime Text projects\\ARM-test0\\user-code\\main.cpp",line="36",thread-groups=["i1"],times="0",original-location="d:/4 electronics/soft/sublime text projects/arm-test0/user-code/main.cpp:36"}
(gdb)
7-exec-run
7^error,msg="Don't know how to run. Try \"help target\"."
(gdb)

И на этом всё. "gdb_step_over" (F10), "gdb_step_into" (F11) и остальные команды не работают.
Я подозреваю, что в строке GDB "5^error,msg="No symbol \"disassembly\" in current context." кроется ошибка в вызове GDB.
Также интересует, можно ли будет просматривать в реальном времени регистры периферии с помощью GDB?
Нашел скриншот в интернете с настроенным GDB для Sublime, всё должно выглядеть примерно так:


Вот ссылка на сборку Sublime Text для ARM (она полностью портабельная для Windows): https://copy.com/kJIDxc8rIJenEWm4
Вот ссылка на проект на гитхаб: https://github.com/r44083/ARM-test0
Заранее спасибо.

Сообщение отредактировал r44083 - Sep 26 2015, 17:57
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
smalcom
сообщение Sep 26 2015, 14:40
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 292
Регистрация: 26-06-07
Пользователь №: 28 718



странно. у некоторых получается:

http://libusb.6.n5.nabble.com/LIBUSB-ERROR...-td5711826.html
http://stackoverflow.com/questions/2585651...ed-on-windows-8
http://andybrown.me.uk/2014/09/09/stlinkv2/
Go to the top of the page
 
+Quote Post
r44083
сообщение Sep 26 2015, 15:05
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 25
Регистрация: 13-09-15
Пользователь №: 88 376



Цитата(smalcom @ Sep 26 2015, 17:40) *

Получилось! (после переключения драйвера, я обновил в диспетчере устройств текущий драйвер ST Link на тот, что скачал с сайта ST)
Но вот что дальше
написал простой скрипт для openocd:
Код
telnet_port 4444
gdb_port 3333
source [find interface/stlink-v1.cfg]
transport select hla_swd
set WORKAREASIZE 0x2000
source [find target/stm32f1x.cfg]
reset_config srst_only

При запуске openocd в папке проекта, в консоль выводится следующее:

Когда я из Sublime Text запускаю отладку с помощью GDB, и в диалоге GDB пишу "target remote localhost:3333",
то в консоли openocd появляется сообщение: "undefined debug reason 7 - target needs reset" и в консоли GDB появляется следующее:
CODE

10target remote localhost:3333
&"target remote localhost:3333\n"
~"Remote debugging using localhost:3333\n"
=thread-group-started,id="i1",pid="42000"
=thread-created,id="1",group-id="i1"
~"0x00000000 in ?? ()\n"
*stopped,frame={addr="0x00000000",func="??",args=[]},thread-id="1",stopped-threads="all"
11-thread-select 1
10^done
(gdb)
12-stack-info-frame
11^done,new-thread-id="1",frame={level="0",addr="0x00000000",func="??",args=[]}
(gdb)
12^done,frame={level="0",addr="0x00000000",func="??"}
(gdb)
13-stack-list-frames
13^done,stack=[frame={level="0",addr="0x00000000",func="??"},frame={level="1",addr="0x00000000",func="??"}]
(gdb)
14-stack-list-arguments 1
14^done,stack-args=[frame={level="0",args=[]},frame={level="1",args=[]}]
(gdb)
15-thread-info
15^done,threads=[{id="1",target-id="Remote target",frame={level="0",addr="0x00000000",func="??",args=[]},state="stopped"}],current-thread-id="1"
(gdb)
16-thread-list-ids
16^done,thread-ids={thread-id="1"},current-thread-id="1",number-of-threads="1"
(gdb)
17-stack-list-arguments 0 0 0
17^done,stack-args=[frame={level="0",args=[]}]
(gdb)
18-stack-list-locals 0
18^done,locals=[]
(gdb)

Но ходить по шагам или точкам останова не получается (в логе GDB возникает ошибка: "
23-exec-next
23^error,msg="Cannot find bounds of current function"
(gdb)
") в окне дизассемблера (плагина SublimeGDB) по-прежнему ничего нет, и все регистры равны нулю:




Сообщение отредактировал r44083 - Sep 26 2015, 18:00
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- r44083   Как настроить GDB для ARM в Sublime Text?   Sep 26 2015, 08:56
- - r44083   На сколько я понял, для отладки в GDB нужно запуст...   Sep 26 2015, 10:43
- - smalcom   как видите, что-то там не поддерживается. может пр...   Sep 26 2015, 12:43
|- - r44083   Цитата(smalcom @ Sep 26 2015, 15:43) как ...   Sep 26 2015, 14:06
- - r44083   Спешу сообщить, что всё получилось. Всего то надо ...   Sep 26 2015, 16:59
- - smalcom   ЦитатаЧто я делаю не так? если вы с картинками раз...   Sep 26 2015, 17:14
|- - r44083   Цитата(smalcom @ Sep 26 2015, 20:14) если...   Sep 26 2015, 18:02
- - smalcom   Zadig не имеет возможности вернуть драйвера ...   Sep 27 2015, 04:36
|- - r44083   Цитата(smalcom @ Sep 27 2015, 07:36) Zadi...   Sep 27 2015, 05:08
- - smalcom   Цитатавы бы ещё ардуино эдитор посоветовали или no...   Sep 27 2015, 06:42
|- - r44083   Цитата(smalcom @ Sep 27 2015, 09:42) ню-н...   Sep 27 2015, 07:46
- - Nixon   Не отвлекайтесь. Лучше напишите методику получения...   Sep 27 2015, 19:29
|- - zltigo   QUOTE (Nixon @ Sep 27 2015, 22:29) Не отв...   Sep 27 2015, 20:01
- - smalcom   В результате сомнений нет. Можно средой программир...   Sep 27 2015, 20:19
|- - zltigo   QUOTE (smalcom @ Sep 27 2015, 23:19) реко...   Sep 27 2015, 20:29
- - smalcom   Ну не так же буквально следует понимать слова. Вы ...   Sep 27 2015, 20:34
|- - zltigo   QUOTE (smalcom @ Sep 27 2015, 23:34) Ну н...   Sep 27 2015, 20:49
- - smalcom   *верхняяконечностьфронтальнаячастьлица*   Sep 27 2015, 20:58
- - r44083   В скором времени я выложу я ютуб видео, в котором ...   Sep 28 2015, 13:38
- - r44083   Вот видео Sublime Text как IDE для STM32, кому инт...   Nov 11 2015, 09:08


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 3rd July 2025 - 17:49
Рейтинг@Mail.ru


Страница сгенерированна за 0.01407 секунд с 7
ELECTRONIX ©2004-2016