ðåêëàìà íà ñàéòå
ïîäðîáíîñòè

 
 
> VS Code + gcc/gdb, Ïðèêðóòèë VS Code ê gcc/gdb (èëè íàîáîðîò :))
Øàìàíú
ñîîáùåíèå Dec 24 2016, 19:29
Ñîîáùåíèå #1


Çíàþùèé
****

Ãðóïïà: Ó÷àñòíèê
Ñîîáùåíèé: 758
Ðåãèñòðàöèÿ: 27-08-08
Ïîëüçîâàòåëü ¹: 39 839



Ïðèâåòñòâóþ âñåõ!

"Ïðèêðóòèë" ê Visual Studio Code gcc/gdb (äëÿ ARM). Âñå âåñüìà íåäóðíî ðàáîòàåò (îòëàäêà ÷åðåç OOCD). Äîâîëüíî óäîáíî, êîìïàêòíî è ðàáîòàåò øóñòðî.

Êîìó-òî èíòåðåñíî? Ðàññêàçûâàòü êàê ïðèêðóòèòü?

Ñîîáùåíèå îòðåäàêòèðîâàë Øàìàíú - Dec 24 2016, 19:31
Go to the top of the page
 
+Quote Post
 
Start new topic
Îòâåòîâ
AHTOXA
ñîîáùåíèå Dec 24 2016, 19:51
Ñîîáùåíèå #2


ôàíàò äèâàíà
******

Ãðóïïà: Ñâîé
Ñîîáùåíèé: 3 387
Ðåãèñòðàöèÿ: 9-08-07
Èç: Óôà
Ïîëüçîâàòåëü ¹: 29 684



Öèòàòà(Øàìàíú @ Dec 25 2016, 00:29) *
Êîìó-òî èíòåðåñíî? Ðàññêàçûâàòü êàê ïðèêðóòèòü?

Êîíå÷íî èíòåðåñíî! È íå òîëüêî êàê ïðèêðóòèòü, íî è âîîáùå, êàê âïå÷àòëåíèÿ îò ýòîé ñòóäèè. Íå òîðìîçèò? Ìîæíî ëè ïðûãàòü ïî êîäó? Õîðîøî ëè ïàðñèò êîä c/c++?
Îòïðàâëÿåò ëè îíà "òåëåìåòðèþ" â ìèêðîñîôò? (À òî ÿ ÷èòàë, ÷òî äàæå åñëè îòêëþ÷èòü, òî âñ¸ ðàâíî îòïðàâëÿåò).
Íó è âñ¸ òàêîå.


--------------------
Åñëè áû ÿ çíàë, ÷òî òàêîå ýëåêòðè÷åñòâî...
Go to the top of the page
 
+Quote Post
Øàìàíú
ñîîáùåíèå Dec 24 2016, 21:14
Ñîîáùåíèå #3


Çíàþùèé
****

Ãðóïïà: Ó÷àñòíèê
Ñîîáùåíèé: 758
Ðåãèñòðàöèÿ: 27-08-08
Ïîëüçîâàòåëü ¹: 39 839



Öèòàòà(AHTOXA @ Dec 24 2016, 22:51) *
Êîíå÷íî èíòåðåñíî!


ÎÊ. Òîãäà íà÷íåì ñ òîãî, êàê ïðèêðóòèòü:
1.Ñîáñòâåííî ñêà÷àòü è óñòàíîâèòü VS Code
2. VS Code äëÿ ïîäñâåòêè ñèíòàêñèñà, àâòîêîìïëèòà, ïîäñêàçîê è ò.ï. íóæíî äîáàâèòü ðàñøèðåíèå cpptools ( https://marketplace.visualstudio.com/items?...vscode.cpptools ). Ýòî ðàñøèðåíèå ìîæåò ðàáîòàòü ñ gdb, íî òîëüêî äëÿ îòëàäêè íà ÏÊ. Ïîýòîìó îòëàä÷èê â íåì ìû êîíôèãóðèðîâàòü íå áóäåì.
3. ýòîì ðàñøèðåíèè åñòü êàêîé-òî çàòûê - îíî äîëæíî ðàáîòàòü ñðàçó, íî áåç ïèíêà íå âûõîäèò. ×òîáû çàðàáîòàëî íóæíî â êàòàëîãå .vscode (îí ñîäàåòñÿ VS Code âíóòðè ãëàâíîãî êàòàëîãà Âàøåãî ïðîåêòà) ñîçäàòü ôàéë c_cpp_properties.json ñëåäóþùåãî ñîäåðæàíèÿ:
CODE

{
"configurations": [
{
"name": "ARM",
"includePath":
[
"C:/Include",
"${workspaceRoot}/Include"
],
"browse" :
{
"limitSymbolsToIncludedHeaders" : true,
"databaseFilename" : "${workspaceRoot}/.vscode/.browse.VC.db"
}
}
]
}


Ïóòè ê çàãîëîâêàì óêàçûâàþòñÿ àáñîëþòíûå. Äëÿ çàäàíèÿ ïóòè îòíîñèòåëüíî ãëàâíîãî êàòàëîãà ïðîåêòà ìîæíî èñïîëüçîâàòü ${workspaceRoot}
Ïîñëå ýòîãî ðàñøèðåíèå íà÷èíàåò íîðìàëüíî ðàáîòàòü.
4.×òîáû ðàáîòàëà êîìïèëÿöèÿ íóæíî ñîçäàòü ôàéë "çàäà÷" (â êàòàëîãå .vscode). Ó ìåíÿ îí âûãëÿäèò òàê (óñòàíîâëåíû gcc/gdb/mingw), ÷òî-ãäå äîëæíî áûòü ïîíÿòíî:
CODE

{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "0.1.0",
"command": "sh.exe",
"isShellCommand": true,
"args": ["-c"],
"showOutput": "always",
"suppressTaskName": false,
"tasks":
[
{
"isBuildCommand": true,
"suppressTaskName": true,
"taskName": "make",
"args": ["make"],
"isWatching": false,
"problemMatcher":
{
"owner": "c",
"fileLocation": ["relative", "${workspaceRoot}"],
"pattern":
{
"regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
}
}
},
{
"isBuildCommand": false,
"isTestCommand": true,
"suppressTaskName": true,
"taskName": "flash",
"args": ["make flash"],
"isWatching": false,
},
{
"taskName": "clean",
"suppressTaskName": true,
"args": ["make clean"]
},
{
"taskName": "rebuild",
"suppressTaskName": true,
"args": ["make clean all"],
"isWatching": false,
"problemMatcher":
{
"owner": "c",
"fileLocation": ["relative", "${workspaceRoot}"],
"pattern":
{
"regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
}
}
},
{
"taskName": "oocd",
"suppressTaskName": true,
"args" : ["c:/openocd-0.9.0/bin-x64/openocd.exe -f interface/olimex-arm-usb-ocd.cfg -f target/stm32f1x.cfg -f cfg/debug.cfg"]
}
]
}


Ïîñëå ýòîãî ñáîðêà ìîæåò áûòü çàïóùåíà ÷åðåç Ctrl+Shift+B (ñî÷åòàíèå ìîæíî ñìåíèòü íà ïðèâû÷íîå, ÿ ïîñòàâèë áîëåå ïðèâû÷íîå ìíå Shift+F8) èëè ÷åðåç "ñòðîêó êîìàíä" èëè êàê îíî ïðàâèëüíî íàçûâàåòñÿ ó íèõ - âûçûâàåòñÿ ïî Ctrl+Shift+P. Ïðîøèâêà çàïóñêàåòñÿ ÷åðåç êîìàíäó òåñòèðîâàíèÿ Ctrl+Shift+T, åñòåñòâåííî ñî÷åòàíèÿ ìîæíî ñìåíèòü.
5.Ïðèêðó÷èâàåì gdb. Äëÿ ýòîãî íóæíî äîáàâèòü ðàñøèðåíèå Native debug ( https://marketplace.visualstudio.com/items?...=webfreak.debug ). Ïîòîì íàæàòü íà êíîïêó Îòëàäêè íà áîêîâîé ïàíåëè, ïîòîì íà øåñòåðåíêó ââåðõó ñïðàâà è âûáðàòü GDB â ñïèñêå. Îòêðîåòñÿ ôàéë êîíôèãóðàöèè çàïóñêà GDB (îí íàõîäèòñÿ â .vscode/launch.json). Ó ìåíÿ îí âûãëÿäèò òàê:
CODE

{
"version": "0.4.2",
"configurations": [
{
"name": "Debug gdb",
"type": "gdb",
"request": "attach",
"executable": "${workspaceRoot}\\Debug\\Main.elf",
"target": "localhost:3333",
"cwd": "${workspaceRoot}",
"gdbpath": "C:\\arm\\bin\\arm-kgp-eabi-gdb.exe",
"remote": true,
"autorun": [
"load ./Debug/Main.elf",
"break main",
"monitor reset"
]
}
]
}

Íàçíà÷åíèÿ ïîëåé äóìàþ ïîíÿòíû ïî èõ èìåíàì (êðîìå òîãî ïðè ðåäàêòèðîâàíèè êîíôèãîâ ñèëàìè vs code âûäàþòñÿ âñïëûâàþùèå ïîäñêàçêè). Çàïèñûâàåì ôàéë è âîò ñîáñòâåííî è âñå - ïîñëå ýòîãî äîëæíà ðàáîòàòü îòëàäêà/ñáîðêà/ïðîøèâêà/ðåäàêòèðîâàíèå. Ïåðåä îòëàäêîé íóæíî çàïóñòèòü OOCD, ñäåëàòü ýòî ìîæíî ñêîíôèãóðèðîâàííîé íàìè êîìàíäîé task->oocd, ìîæíî è âðó÷íóþ.
6.Äëÿ íàâåäåíèÿ êðàñèâîñòåé ìîæíî óñòàíîâèòü ïàêåò èêîíîê è ïîïðàâèòü ïîä ñåáÿ ðàñêðàñêó. Íó è äàëüøå äðóãèå ðàñøèðåíèÿ "ïî âêóñó".

Öèòàòà
È íå òîëüêî êàê ïðèêðóòèòü, íî è âîîáùå, êàê âïå÷àòëåíèÿ îò ýòîé ñòóäèè.

Âïå÷àòëåíèé ïîêà ìàëî - âðåìåíè ïðîøëî ìàëî, äà è ñåé÷àñ çàíÿò íåìíîãî äðóãèì. Èçíà÷àëüíî ÿ ñòàâèë åå ñ äðóãîé öåëüþ - èíîãäà ïèøó ïîä DSP56300 è êàê-òî íè îäèí ðåäàêòîð, õîòü ñ ïëàãèíàìè, õîòü áåç íå ïîäñâå÷èâàåò íîðìàëüíî ñèíòàêñèñ àññåìáëåðà DSP56300, è íå ïðåäëàãàåò autocomplete äàæå â "òóïîé" ôîðìå (êîãäà äëÿ ïîäñòàíîâêè ïðåäëàãàþòñÿ ïðîñòî âñå èäåíòèôèêàòîðû èç òåêóùåãî äîêóìåíòà).
VS Code èç êîðîáêè ýòîãî òîæå íå ïðåäëàãàåò, íî çà ïîë äíÿ ÿ ðàçîáðàëñÿ êàê è íàïèñàë ê íåìó ðàñøèðåíèå ñ ïîäñâåòêîé ñèíòàêñèñà è íåêîòîðûìè ôè÷àìè ïî ââîäó/ôîðìàòèðîâàíèþ êîäà. Ïëþñ autocomplete ðàáîòàåò (ïóñòü è â "íåèíòåëëåêòóàëüíîì" âèäå, íî â àññåìáëåðå ýòî î÷åíü óäîáíî). Èíòåðåñíî, ÷òî äëÿ íàïèñàíèÿ ðàñøèðåíèÿ íè÷åãî êðîìå ñàìîé VS Code íå ïîòðåáîâàëîñü :)

Öèòàòà
Íå òîðìîçèò?

Íåò, òîðìîçîâ íåò.
Öèòàòà
Ìîæíî ëè ïðûãàòü ïî êîäó?

Äà.
Öèòàòà
Õîðîøî ëè ïàðñèò êîä c/c++?

Íîðìàëüíàÿ ñòóäèÿ ýòî äåëàåò ëó÷øå, õîòÿ äëÿ èñïîëüçîâàíèÿ ãîäåí è òàêîé âàðèàíò (ïðàâäà ïðîåêò íà ÷èñòîì Ñ, ÷òî áóäåò íà ïëþñàõ íå çíàþ). c/c++ ðàñøèðåíèå íàõîäèòñÿ â ñòàäèè "ïðåâüþ" è åãî àêòèâíî äîïèëèâàþò, ÷òî äàåò íàäåæäû íà "ñ÷àñòëèâûé ôèíàë".

Öèòàòà
Îòïðàâëÿåò ëè îíà "òåëåìåòðèþ" â ìèêðîñîôò? (À òî ÿ ÷èòàë, ÷òî äàæå åñëè îòêëþ÷èòü, òî âñ¸ ðàâíî îòïðàâëÿåò).

ß îòêëþ÷èë. Íà ñ÷åò îòïðàâëÿåò ëè â òàêîì âèäå íå èíòåðåñîâàëñÿ - ó ìåíÿ íè÷åãî îñîáî ñåêðåòíîãî íåò :) Âðîäå ðàñøèðåíèÿ ìîãóò îòïðàâëÿòü ñâîþ "òåëåìåòðèþ" è åå íóæíî îòêëþ÷àòü îòäåëüíî.

Öèòàòà
Íó è âñ¸ òàêîå

Êàê ðàáîòàåò ñ gdb ïîíðàâèëîñü. Ñàì ðåäàêòîð íåñêîëüêî àñêåòè÷íûé íà ïåðâûé âçãëÿä, íî â íåì âñå ðàáîòàåò è â íåì, â ïðèíöèïå, âñå åñòü (ïî êðàéíåé ìåðå ïîêà íè÷åãî òàêîãî, ÷åãî áû êðèòè÷åñêè íå õâàòàëî íå îáíàðóæèë). Ïðè íåîáõîäèìîñòè âñå íàñòðàèâàåòñÿ, äåëàåòñÿ ïðàâäà ýòî íå ÷åðåç ìåíþ è äèàëîãè, à ðåäàêòèðîâàíèåì êîíôèãà, êîòîðûé â âèäå json ôàéëîâ. Ïîíðàâèëîñü, ÷òî â îòëè÷èè îò ïîëíîöåííîé ñòóäèè vs code íå çàãàæèâàåò êàòàëîã ïðîåêòà êó÷åé ñâîèõ ôàéëîâ - âñå ñâîå îíà õðàíèò â îäíîì êàòàëîãå .vscode

Äà, åñòü ïîäñâåòêà ñèíòàêñèñà shell, makefile è äàæå matlab (ÿ óæå íå ãîâîðþ ïðî áîëåå ïîïóëÿðíûå).

Ñîîáùåíèå îòðåäàêòèðîâàë Øàìàíú - Dec 24 2016, 21:17
Go to the top of the page
 
+Quote Post

Ñîîáùåíèé â ýòîé òåìå
- Øàìàíú   VS Code + gcc/gdb   Dec 24 2016, 19:29
|- - AHTOXA   Ñïàñèáî, î÷åíü ïîäðîáíî è äîõîä÷èâî. Ñ îäíîé ñòî...   Dec 25 2016, 07:45
|- - Øàìàíú   Öèòàòà(AHTOXA @ Dec 25 2016, 10:45) Ñ îäí...   Dec 25 2016, 10:52
- - darlock   Óâàæàåìûé øàìàíú, à ìîæíî ïîïîäðîáíåå ïî 56 ñåðèè?   Jan 19 2017, 11:38
|- - Øàìàíú   Öèòàòà(darlock @ Jan 19 2017, 14:38) Óâàæ...   Jan 19 2017, 11:59
- - darlock   Åñòü EVB è ïðèìåðû êîäà. Õî÷åòñÿ äëÿ íà÷àëà ñêîìïè...   Jan 19 2017, 12:56
|- - Øàìàíú   Öèòàòà(darlock @ Jan 19 2017, 15:56) Åñòü...   Jan 19 2017, 15:49
- - Øàìàíú   Ïîþçàë ÿ áîëåå-ìåíåå èíòåíñèâíî îòëàäêó ïîä Cortex...   Feb 6 2017, 04:40
- - Radmir   Åñòü ëè ñïîñîá äîáàâëÿòü ôàéëû â tasks.json/makefi...   May 28 2017, 09:54
|- - Øàìàíú   Öèòàòà(Radmir @ May 28 2017, 12:54) Åñòü ...   Jun 18 2017, 10:11
- - x893   Íàâåðíîå ÿ ÷åãî-òî íå äîãîíÿþ, íî ðàçâå â Platform...   Jun 18 2017, 11:57
|- - Øàìàíú   Öèòàòà(x893 @ Jun 18 2017, 14:57) ðàçâå â...   Jun 18 2017, 16:23
- - x893   https://www.google.ru/?q=PlatformIO Ïðîñòî íàæàòü ...   Jun 18 2017, 17:30
|- - Øàìàíú   Öèòàòà(x893 @ Jun 18 2017, 20:30) https:/...   Jun 19 2017, 09:34
|- - x893   Öèòàòà(Øàìàíú @ Jun 19 2017, 12:34) Äà ÿ ...   Jun 19 2017, 09:57
- - РўРёРјСѓСЂ Ð ÑžÐ Â°Ð Ñ   Ó ìåíÿ òàê è íå ðàáîòàåò ïîëíîöåííî îòëàäêà: âî ...   Jun 19 2017, 10:01
- - Øàìàíú   Öèòàòà(x893 @ Jun 19 2017, 12:57) Àðäóèíî...   Jun 19 2017, 14:40
- - timurey   Ñìåíà âåðñèè gcc äî 6.3.1 íå ïîâëèÿëà íà ðåçóëüòàò...   Jun 19 2017, 15:58
|- - Øàìàíú   Öèòàòà(timurey @ Jun 19 2017, 18:58) Òàê ...   Jun 20 2017, 12:28
- - p_v   Öèòàòà(Øàìàíú @ Jun 19 2017, 17:40) Íó åñ...   Jun 19 2018, 05:43


Reply to this topicStart new topic
1 ÷åë. ÷èòàþò ýòó òåìó (ãîñòåé: 1, ñêðûòûõ ïîëüçîâàòåëåé: 0)
Ïîëüçîâàòåëåé: 0

 


RSS Òåêñòîâàÿ âåðñèÿ Ñåé÷àñ: 29th July 2025 - 03:48
Ðåéòèíã@Mail.ru


Ñòðàíèöà ñãåíåðèðîâàííà çà 0.01367 ñåêóíä ñ 7
ELECTRONIX ©2004-2016