{"id":386031,"date":"2024-06-29T06:28:18","date_gmt":"2024-06-29T06:28:18","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=386031"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=386031","title":{"rendered":"<span>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u041f\u043e\u0448\u0430\u0433\u043e\u0432\u043e\u0439 \u041e\u0442\u043b\u0430\u0434\u043a\u0438 JLink+Eclipse<\/span>"},"content":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u041a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f. \u0417\u0430\u043f\u0438\u0441\u0430\u043b\u0438 \u0447\u0435\u0440\u0435\u0437 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 SWD \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0443 \u0438&#8230; \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442. HeartBeat LED \u043d\u0435 \u043c\u0438\u0433\u0430\u0435\u0442. Boot \u043b\u043e\u0433 \u0432 UART(\u0435) \u043d\u0435 \u043f\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f. CLI \u043d\u0435 \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442. \u0412\u0435\u0440\u043e\u044f\u0442\u043d\u043e \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0430 \u0433\u0434\u0435-\u0442\u043e \u0441\u0432\u0430\u043b\u0438\u043b\u0430\u0441\u044c \u0432 Hard Fault Handler. \u041f\u0440\u0438\u0447\u0435\u043c \u043f\u0440\u044f\u043c\u043e \u0432 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0435\u0449\u0435 \u0434\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0441\u0443\u043f\u0435\u0440 \u0446\u0438\u043a\u043b\u0430 \u0432\u043d\u0443\u0442\u0440\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 main(). \u041e\u0431\u0440\u0430\u0442\u0438\u043b\u0430\u0441\u044c \u043a \u043d\u0435\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0439 \u043f\u0430\u043c\u044f\u0442\u0438. \u0427\u0442\u043e \u0436\u0435 \u0434\u0435\u043b\u0430\u0442\u044c? \u041a\u0430\u043a \u043f\u043e\u043d\u044f\u0442\u044c, \u0433\u0434\u0435 \u043e\u0448\u0438\u0431\u043a\u0430, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u0438\u043d\u044f\u0442\u044c \u043c\u0435\u0440\u044b? <\/p>\n<p>\u041c\u043e\u0436\u043d\u043e \u043a\u043e\u043d\u0435\u0447\u043d\u043e \u0432\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u0438 \u0438\u0441\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u043f\u0435\u0440\u0435\u0434 \u0441\u0431\u043e\u0440\u043a\u043e\u0439 \u043a\u0443\u0441\u043a\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0438 \u043f\u0440\u043e\u0448\u0438\u0432\u0430\u0442\u044c \u043f\u043e\u043a\u0430 \u043d\u0435 \u0432\u044b\u044f\u0441\u043d\u0438\u043c \u0442\u0443 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u043d\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e. \u041d\u043e \u044d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0437\u0430\u043d\u044f\u0442\u044c \u043e\u0447\u0435\u043d\u044c \u043c\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438. \u0426\u0435\u043b\u044b\u0439 \u0434\u0435\u043d\u044c.<\/p>\n<p>\u0415\u0441\u0442\u044c \u043b\u0438 \u0431\u043e\u043b\u0435\u0435 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431? \u0414\u0430. \u0422\u0443\u0442 \u0432\u044b\u0440\u0443\u0447\u0438\u0442 \u043f\u043e\u0448\u0430\u0433\u043e\u0432\u0430\u044f GDB \u043e\u0442\u043b\u0430\u0434\u043a\u0430. \u0410 \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0430\u0434\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c GDB \u0441\u0435\u0440\u0432\u0435\u0440 \u0438 GDB \u043a\u043b\u0438\u0435\u043d\u0442.<\/p>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/694708\/\" rel=\"noopener noreferrer nofollow\">\u041f\u0440\u043e \u043f\u043e\u0448\u0430\u0433\u043e\u0432\u0443\u044e \u043e\u0442\u043b\u0430\u0434\u043a\u0443 \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u0438 \u0443 \u043c\u0435\u043d\u044f \u0435\u0441\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u043e\u0441\u0442<\/a>. <\/p>\n<p>\u041e\u0434\u043d\u0430\u043a\u043e \u043f\u043e\u0448\u0430\u0433\u043e\u0432\u0430\u044f \u043e\u0442\u043b\u0430\u0434\u043a\u0430 \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u0438 \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c\u0441\u044f \u0443\u0442\u043e\u043c\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439. \u041a\u0443\u0434\u0430 \u043f\u0440\u043e\u0449\u0435 \u043f\u043e\u0448\u0430\u0433\u043e\u0432\u043e \u043e\u0442\u043b\u0430\u0436\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u043f\u0440\u044f\u043c\u043e \u0432 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u043c \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0435, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0432 Eclipse.<\/p>\n<h3>\u0427\u0442\u043e \u043d\u0430\u0434\u043e \u0438\u0437 \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u044f?<\/h3>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td data-colwidth=\"209\" width=\"209\">\n<p align=\"left\"><strong>\u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u0435<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>\u041d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"209\" width=\"209\">\n<p align=\"left\">\u043a\u0430\u0431\u0435\u043b\u044c USB-A USB micro<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0414\u043b\u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430\u0442\u043e\u0440\u0430 \u043a NetTop PC<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"209\" width=\"209\">\n<p align=\"left\">\u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u0430\u044f \u043f\u043b\u0430\u0442\u0430 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 nrf5340-DK)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0434\u043b\u044f \u043f\u043e\u0448\u0430\u0433\u043e\u0432\u043e\u0439 \u043e\u0442\u043b\u0430\u0434\u043a\u0438 \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0438 \u0432 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0435<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"209\" width=\"209\">\n<p align=\"left\">\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430\u0442\u043e\u0440 J-Link<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0434\u043b\u044f \u043f\u043e\u0448\u0430\u0433\u043e\u0432\u043e\u0439 \u043e\u0442\u043b\u0430\u0434\u043a\u0438 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"209\" width=\"209\">\n<p align=\"left\">LapTop<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0443\u0442\u0438\u043b\u0438\u0442<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h3>\u0427\u0442\u043e \u043d\u0430\u0434\u043e \u0438\u0437 \u0441\u043e\u0444\u0442\u0432\u0435\u0440\u0430?<\/h3>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td data-colwidth=\"197\" width=\"197\">\n<p align=\"left\"><strong>\u0423\u0442\u0438\u043b\u0438\u0442\u0430<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>\u041d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"197\" width=\"197\">\n<p align=\"left\">JVM  <\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0412\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0430\u044f \u043c\u0430\u0448\u0438\u043d\u0430 \u0434\u043b\u044f \u043f\u0440\u043e\u043a\u0440\u0443\u0442\u043a\u0438 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0430 eclipse<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"197\" width=\"197\">\n<p align=\"left\">JLinkGDBServer.exe<\/p>\n<\/td>\n<td>\n<p align=\"left\">GDB \u0441\u0435\u0440\u0432\u0435\u0440<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"197\" width=\"197\">\n<p align=\"left\">nrfjprog.exe  <\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0443\u0442\u0438\u043b\u0438\u0442\u0430, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0448\u0438\u0442\u044c \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 \u0441\u0435\u043c\u0435\u0439\u0441\u0442\u0432\u0430 nrf<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"197\" width=\"197\">\n<p align=\"left\">arm-none-eabi-gdb.exe<\/p>\n<\/td>\n<td>\n<p align=\"left\">GDB \u043a\u043b\u0438\u0435\u043d\u0442<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"197\" width=\"197\">\n<p align=\"left\">eclipse.exe<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0422\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0439 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h3>\u0424\u0430\u0437\u0430 1. \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c GNU ToolChain \u0434\u043b\u044f Arm Embedded<\/h3>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/673522\/\" rel=\"noopener noreferrer nofollow\">\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u043f\u0440\u043e \u044d\u0442\u043e \u0442\u0443\u0442 <\/a><\/p>\n<p>\u041d\u0430\u0434\u043e \u043f\u0440\u043e\u043f\u0438\u0441\u0430\u0442\u044c \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e Path \u043f\u0443\u0442\u044c \u043a ARM ToolChain(\u0443): \u043f\u0440\u0435\u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0443, \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0443, \u0430\u0441c\u0435\u043c\u0431\u0440\u0435\u0440\u0443, \u043a\u043e\u043c\u043f\u043e\u043d\u043e\u0432\u0449\u0438\u043a\u0443, binutils(\u0430\u043c), \u043e\u0442\u043b\u0430\u0434\u0447\u0438\u043a\u0443.  <\/p>\n<pre><code>C:\/Program Files (x86)\/GNU Arm Embedded Toolchain\/10 2021.10\/bin<\/code><\/pre>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/01a\/830\/8cc\/01a8308cc98444bc02c08e9301c152c2.png\" width=\"900\" height=\"813\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/01a\/830\/8cc\/01a8308cc98444bc02c08e9301c152c2.png\"\/><\/figure>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0441\u0442\u044c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 GNU Toolchain<strong> <\/strong>\u043c\u043e\u0436\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 <strong>arm-none-eabi-gcc &#8212;version<\/strong> \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u0438 Windows<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/a1f\/59d\/2f1\/a1f59d2f189247259f74ab7895601261.png\" width=\"715\" height=\"183\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/a1f\/59d\/2f1\/a1f59d2f189247259f74ab7895601261.png\"\/><\/figure>\n<h3>\u0424\u0430\u0437\u0430 2. \u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c GDB \u0421\u0435\u0440\u0432\u0435\u0440 \u041e\u0442\u043b\u0430\u0434\u043a\u0438<\/h3>\n<p>\u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043e\u0442\u043b\u0430\u0434\u043a\u0438 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0443\u0442\u0438\u043b\u0438\u0442\u0443 JLinkGDBServer.exe.<br \/>C:\\Program Files (x86)\\SEGGER\\JLink\\JLinkGDBServer.exe<\/p>\n<p>\u041c\u043e\u0436\u043d\u043e \u0434\u0430\u0436\u0435 \u043d\u0430\u043a\u0440\u043e\u043f\u0430\u0442\u044c \u043f\u0440\u043e\u0441\u0442\u0435\u043d\u044c\u043a\u0438\u0439 \u0441\u043a\u0440\u0438\u043f\u0442, \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437 \u043c\u044b\u0448\u043a\u043e\u0439 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 JLink GDB Server(\u0430)<\/p>\n<pre><code class=\"bash\">  echo off cls set GDBServerOpt = -select USB -device nRF5340_xxAA_APP -endian little -if SWD -speed 400 -ir -LocalhostOnly -logtofile -log \"C:\\projects\\code_base_workspace\\code_base_firmware\\tool\\GdbServerLog.txt\"  set GDBServerDir=\"C:\\Program Files (x86)\\SEGGER\\JLink\\\" set GDBServerPath=%GDBServerDir%JLinkGDBServer.exe\" cd %GDBServerDir% call %GDBServerPath% %GDBServerOpt% <\/code><\/pre>\n<p>\u0412 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u0445 JLink GDB Server(\u0430) \u043d\u0430\u0434\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0441 \u043f\u043b\u0430\u0442\u043e\u0439. \u0412 \u0434\u0430\u043d\u043d\u043e\u0439 \u043f\u043b\u0430\u0442\u0435 \u044d\u0442\u043e USB. \u041f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430\u0442\u043e\u0440\u0430 \u0438 \u0446\u0435\u043b\u0435\u0432\u043e\u0433\u043e \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430. \u0412 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0445\u0435\u043c\u043e\u0442\u0435\u0445\u043d\u0438\u043a\u0435 \u044d\u0442\u043e SWD. \u041f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c, \u0447\u0442\u043e \u0432\u044b\u0431\u0440\u0430\u043d\u043e \u043d\u0443\u0436\u043d\u043e\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u043d\u043e\u0435 \u044f\u0434\u0440\u043e. \u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u044d\u0442\u043e nRF5340_xxAA_APP. \u0415\u0441\u043b\u0438 \u0432\u0441\u0451 \u0432\u0435\u0440\u043d\u043e, \u0442\u043e \u043d\u0430\u0436\u0438\u043c\u0430\u0435\u043c \u043e\u043a.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/b2f\/d22\/842\/b2fd228425707d426d262e7626b0a4a1.png\" width=\"1687\" height=\"787\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/b2f\/d22\/842\/b2fd228425707d426d262e7626b0a4a1.png\"\/><\/figure>\n<p>  JLink GDB Server \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442 \u0432 \u0440\u0435\u0436\u0438\u043c \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043a GDB \u043a\u043b\u0438\u0435\u043d\u0442\u0443.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/e62\/8fb\/371\/e628fb371c9b157e285c9a6d302bf992.png\" width=\"846\" height=\"546\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/e62\/8fb\/371\/e628fb371c9b157e285c9a6d302bf992.png\"\/><\/figure>\n<p>\u0412\u043e\u0442 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u044b\u0439 \u043b\u043e\u0433 \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u0433\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 GDB \u043a\u043b\u0438\u0435\u043d\u0442\u0430.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/a52\/6c5\/c15\/a526c5c155193f1a83742da200fe8795.png\" alt=\"\" title=\"\" width=\"1051\" height=\"792\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/a52\/6c5\/c15\/a526c5c155193f1a83742da200fe8795.png\"\/><\/figure>\n<h3>\u0424\u0430\u0437\u0430 3. \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 GDB \u041a\u043b\u0438\u0435\u043d\u0442\u0430<\/h3>\n<p>\u041d\u0430\u0434\u043e \u043e\u0442\u043a\u0440\u044b\u0442\u044c \u043c\u0435\u043d\u044e Debug Configuration, \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u0438 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043f\u0443\u0442\u044c \u043a *.elf \u0444\u0430\u0439\u043b\u0443<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/261\/a5b\/623\/261a5b623f2e7ec2a3804ca3547c516b.png\" width=\"1305\" height=\"772\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/261\/a5b\/623\/261a5b623f2e7ec2a3804ca3547c516b.png\"\/><\/figure>\n<p>\u041d\u0430 \u0432\u043a\u043b\u0430\u0434\u043a\u0435 Debugger \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043f\u0443\u0442\u044c \u043a GDB \u043a\u043b\u0438\u0435\u043d\u0442\u0443 arm-none-eabi-gdb.exe.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/0bd\/9eb\/266\/0bd9eb2660e0616828ff4a30b00f6a76.png\" width=\"1307\" height=\"954\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/0bd\/9eb\/266\/0bd9eb2660e0616828ff4a30b00f6a76.png\"\/><\/figure>\n<p>\u041c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u043f\u0438\u0441\u0430\u0442\u044c \u043f\u043e\u043b\u043d\u044b\u0439 \u043f\u0443\u0442\u044c \u043a GDB \u043a\u043b\u0438\u0435\u043d\u0442\u0443 <br \/>C:\\Program Files (x86)\\GNU Arm Embedded Toolchain\\10 2021.10\\bin\\arm-none-eabi-gdb.exe<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/0ec\/397\/388\/0ec397388ff38b3ec23fbc18973092f7.png\" width=\"1300\" height=\"960\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/0ec\/397\/388\/0ec397388ff38b3ec23fbc18973092f7.png\"\/><\/figure>\n<p>\u041d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0432\u043a\u043b\u0430\u0434\u043a\u0443 Startup.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/09f\/88e\/c24\/09f88ec248c7b1828332ef79baa81238.png\" width=\"1303\" height=\"957\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/09f\/88e\/c24\/09f88ec248c7b1828332ef79baa81238.png\"\/><\/figure>\n<p>\u0441\u0442\u0430\u0432\u0438\u043c, \u0447\u0442\u043e \u043d\u0430\u0434\u043e \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c\u0441\u044f \u043d\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 main<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/5d2\/882\/8af\/5d28828af02f8414bf9ad9b405fb56fb.png\" width=\"1304\" height=\"956\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/5d2\/882\/8af\/5d28828af02f8414bf9ad9b405fb56fb.png\"\/><\/figure>\n<p>\u041d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0432\u043a\u043b\u0430\u0434\u043a\u0443 Common, \u043a\u0430\u043a \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043e \u043d\u0430 \u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442\u0435<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/ead\/0d2\/852\/ead0d28527610064e8b4e0b72edf3295.png\" width=\"1309\" height=\"955\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/ead\/0d2\/852\/ead0d28527610064e8b4e0b72edf3295.png\"\/><\/figure>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043d\u0430\u0436\u0430\u0442\u044c \u043a\u043d\u043e\u043f\u043a\u0443 Debug \u0438 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u044c \u043f\u043e\u0448\u0430\u0433\u043e\u0432\u0443\u044e \u043e\u0442\u043b\u0430\u0434\u043a\u0443<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/fc8\/01f\/a52\/fc801fa522fabaf859c8770cc21c6545.png\" width=\"1715\" height=\"971\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/fc8\/01f\/a52\/fc801fa522fabaf859c8770cc21c6545.png\"\/><\/figure>\n<p>\u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0430\u0441\u044c \u0442\u0430\u043a\u0430\u044f \u0441\u0445\u0435\u043c\u0430 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0443\u0442\u0438\u043b\u0438\u0442<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/46c\/958\/96d\/46c95896debd401a703d5968f85a5fdb.png\" width=\"2291\" height=\"2147\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/46c\/958\/96d\/46c95896debd401a703d5968f85a5fdb.png\"\/><\/figure>\n<p>\u0432\u043e\u0442 \u043a\u0441\u0442\u0430\u0442\u0438 \u0441\u043a\u0440\u0438\u043f\u0442 \u0434\u043b\u044f \u043f\u0435\u0440\u0435 \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0438. \u041c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 Nrf5340 \u043c\u043e\u0436\u043d\u043e \u043f\u0435\u0440\u0435 \u043f\u0440\u043e\u0448\u0438\u0442\u044c \u0443\u0442\u0438\u043b\u0438\u0442\u043e\u0439 nrfjprog.exe.<\/p>\n<pre><code class=\"bash\">echo off cls  set project_name=nrf5340_dk_nortos_decadriver_m set project_dir=%cd% set workspace_dir=%cd%\\..\\..\\..\\ set tool_dir=%cd%\\..\\..\\..\\tool echo project_dir=%project_dir% set artefact_hex=%project_dir%\\build\\%project_name%.hex echo artefact_hex=%artefact_hex% ::set FlashTool=\"C:\\Program Files (x86)\\Nordic Semiconductor\\nrf-command-line-tools\\bin\\nrfjprog.exe\" set FlashTool=nrfjprog  call %project_dir%\\recover.bat  set options=--iface USB --family NRF53 --coprocessor CP_APPLICATION --program %artefact_hex%  --log --chiperase --verify --reset  call %FlashTool% %options% echo workspace_dir=%workspace_dir% echo tools_dir=%tools_dir% call %tool_dir%\\launch_terminal.bat 10 460800 \"nrf5340_dk_nortos_decadriver_m\" <\/code><\/pre>\n<\/p>\n<h3>\u0412\u044b\u0432\u043e\u0434<\/h3>\n<p>\u0415\u0441\u043b\u0438 \u0433\u043e\u0432\u043e\u0440\u0438\u0442\u044c \u043f\u043e \u0447\u0435\u0441\u0442\u043d\u043e\u043c\u0443, \u0442\u043e \u0432\u0441\u0451, \u0447\u0442\u043e \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043e\u0442 \u043f\u043e\u0448\u0430\u0433\u043e\u0432\u043e\u0439 GDB \u043e\u0442\u043b\u0430\u0434\u043a\u0438 \u044d\u0442\u043e \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c \u043e\u0442\u043b\u0430\u0434\u0438\u0442\u044c \u0437\u0430\u043f\u0443\u0441\u043a \u043f\u043e\u043b\u043d\u043e\u0434\u0443\u043f\u043b\u0435\u043a\u0441\u043d\u043e\u0433\u043e UART. \u0414\u0430\u043b\u0435\u0435 \u043f\u0440\u043e\u0441\u0442\u043e <a href=\"https:\/\/habr.com\/ru\/post\/694408\/\" rel=\"noopener noreferrer nofollow\">\u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438<\/a> \u0438 \u0432\u0441\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f \u043e\u0442\u043b\u0430\u0434\u043a\u0430 \u0438\u0434\u0435\u0442 \u0447\u0435\u0440\u0435\u0437 UART-CLI.<\/p>\n<p>\u0410 \u0432 CLI(Shell) \u043a\u0430\u043a \u0440\u0430\u0437 \u0435\u0441\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u0440\u0438\u0446\u0435\u043b\u044c\u043d\u043e \u0432\u044b\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c \u043a\u0443\u0441\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 (\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b, RAM, Flash), \u0438\u0441\u043a\u0430\u0442\u044c \u0430\u0434\u0440\u0435\u0441\u0430 \u043f\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c (\u0430\u043d\u0430\u043b\u043e\u0433 \u0443\u0442\u0438\u043b\u0438\u0442\u044b Art Money), \u0447\u0438\u0442\u0430\u0442\u044c \u0438 \u0434\u0435\u0440\u0433\u0430\u0442\u044c GPIO, \u043f\u0443\u043b\u044f\u0442\u044c \u043f\u0430\u043a\u0435\u0442\u044b \u0432 SPI, I2C, \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044c \u044f\u0434\u0440\u043e, \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0437\u043d\u0430\u044f \u0438\u0437 \u0430\u0434\u0440\u0435\u0441\u0430 \u0438\u0437 *.map \u0444\u0430\u0439\u043b\u0430 \u0434\u0430 \u0438 \u0432\u043e\u043e\u0431\u0449\u0435 \u0434\u0435\u043b\u0430\u0442\u044c \u0432\u0441\u0451, \u0447\u0442\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u0443\u0448\u0430 \u043f\u043e\u0436\u0435\u043b\u0430\u0435\u0442.  <\/p>\n<h3>\u0421\u043b\u043e\u0432\u0430\u0440\u044c<\/h3>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td data-colwidth=\"132\" width=\"132\">\n<p align=\"left\"><strong>\u0410\u043a\u0440\u043e\u043d\u0438\u043c<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>\u0420\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0430<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"132\" width=\"132\">\n<p align=\"left\">CLI<\/p>\n<\/td>\n<td>\n<p align=\"left\">Command-line interface<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"132\" width=\"132\">\n<p align=\"left\">UART<\/p>\n<\/td>\n<td>\n<p align=\"left\">universal asynchronous receiver-transmitter<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"132\" width=\"132\">\n<p align=\"left\">LED\u00a0  <\/p>\n<\/td>\n<td>\n<p align=\"left\">light-emitting diode<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"132\" width=\"132\">\n<p align=\"left\">RISC <\/p>\n<\/td>\n<td>\n<p align=\"left\">reduced instruction set computer<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"132\" width=\"132\">\n<p align=\"left\">JVM  <\/p>\n<\/td>\n<td>\n<p align=\"left\">Java virtual machine  <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"132\" width=\"132\">\n<p align=\"left\">PC<\/p>\n<\/td>\n<td>\n<p align=\"left\">personal computer<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"132\" width=\"132\">\n<p align=\"left\">UNIX<\/p>\n<\/td>\n<td>\n<p align=\"left\">UNiplexed Information Computing System<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"132\" width=\"132\">\n<p align=\"left\">ARM<\/p>\n<\/td>\n<td>\n<p align=\"left\">Advanced RISC Machine<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"132\" width=\"132\">\n<p align=\"left\">SWD <\/p>\n<\/td>\n<td>\n<p align=\"left\">Serial Wire Debug<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"132\" width=\"132\">\n<p align=\"left\">USB<\/p>\n<\/td>\n<td>\n<p align=\"left\">Universal Serial Bus<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"132\" width=\"132\">\n<p align=\"left\">GNU <\/p>\n<\/td>\n<td>\n<p align=\"left\">GNU&#8217;s Not UNIX<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"132\" width=\"132\">\n<p align=\"left\">GDB <\/p>\n<\/td>\n<td>\n<p align=\"left\">GNU Debugger\u00a0  <\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h3>\u0421\u0441\u044b\u043b\u043a\u0438<\/h3>\n<p><a href=\"https:\/\/bitknitting.wordpress.com\/2015\/07\/11\/using-eclipse-to-program-the-nrf51822\/\" rel=\"noopener noreferrer nofollow\">https:\/\/bitknitting.wordpress.com\/2015\/07\/11\/using-eclipse-to-program-the-nrf51822\/<\/a><br \/> <a href=\"https:\/\/dev.px4.io\/v1.10_noredirect\/en\/debug\/eclipse_jlink.html\" rel=\"noopener noreferrer nofollow\">https:\/\/dev.px4.io\/v1.10_noredirect\/en\/debug\/eclipse_jlink.html<\/a><br \/> <a href=\"https:\/\/eclipse-embed-cdt.github.io\/debug\/jlink\/\" rel=\"noopener noreferrer nofollow\">https:\/\/eclipse-embed-cdt.github.io\/debug\/jlink\/<\/a><br \/> <a href=\"https:\/\/habr.com\/ru\/company\/rainbow\/blog\/251053\/\" rel=\"noopener noreferrer nofollow\">https:\/\/habr.com\/ru\/company\/rainbow\/blog\/251053\/<\/a><br \/> <a href=\"https:\/\/habr.com\/ru\/post\/215483\/\" rel=\"noopener noreferrer nofollow\">https:\/\/habr.com\/ru\/post\/215483\/<\/a><br \/> <a href=\"https:\/\/habr.com\/ru\/post\/578830\/\" rel=\"noopener noreferrer nofollow\">https:\/\/habr.com\/ru\/post\/578830\/<\/a><br \/> <a href=\"https:\/\/habr.com\/ru\/post\/673522\/https:\/\/habr.com\/ru\/post\/694708\/https:\/\/habr.com\/ru\/post\/694408\/https:\/\/habr.com\/ru\/post\/681280\/\" rel=\"noopener noreferrer nofollow\">https:\/\/habr.com\/ru\/post\/673522\/https:\/\/habr.com\/ru\/post\/694708\/https:\/\/habr.com\/ru\/post\/694408\/https:\/\/habr.com\/ru\/post\/681280\/<\/a><br \/> <a href=\"https:\/\/karibe.co.ke\/2014\/03\/debugging-arm-freescale-microcontrollers-with-j-link-gdb-server-and-gnu-arm-toolchain-gdb-with-semihosting-in-linux\/\" rel=\"noopener noreferrer nofollow\">https:\/\/karibe.co.ke\/2014\/03\/debugging-arm-freescale-microcontrollers-with-j-link-gdb-server-and-gnu-arm-toolchain-gdb-with-semihosting-in-linux\/<\/a><br \/> <a href=\"https:\/\/mcuoneclipse.com\/2019\/09\/22\/eclipse-jtag-debugging-the-esp32-with-a-segger-j-link\/\" rel=\"noopener noreferrer nofollow\">https:\/\/mcuoneclipse.com\/2019\/09\/22\/eclipse-jtag-debugging-the-esp32-with-a-segger-j-link\/<\/a><br \/> <a href=\"https:\/\/mcuoneclipse.com\/2022\/07\/16\/getting-started-raspberry-pi-pico-rp2040-with-eclipse-and-j-link\/\" rel=\"noopener noreferrer nofollow\">https:\/\/mcuoneclipse.com\/2022\/07\/16\/getting-started-raspberry-pi-pico-rp2040-with-eclipse-and-j-link\/<\/a><\/p>\n<\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><\/p>\n<div class=\"tm-article-poll-container\"><!--[--><\/p>\n<div class=\"tm-article-poll tm-article-poll_variant-bordered\">\n<div class=\"tm-notice tm-notice_positive tm-article-poll__notice\"><!----><\/p>\n<div class=\"tm-notice__inner\"><!----><\/p>\n<div class=\"tm-notice__content\" data-test-id=\"notice-content\"><!--[--><span>\u0422\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u043c\u043e\u0433\u0443\u0442 \u0443\u0447\u0430\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0432 \u043e\u043f\u0440\u043e\u0441\u0435. <a rel=\"nofollow\" href=\"\/kek\/v1\/auth\/habrahabr\/?back=\/ru\/articles\/682498\/&#038;hl=ru\">\u0412\u043e\u0439\u0434\u0438\u0442\u0435<\/a>, \u043f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430.<\/span><!--]--><\/div>\n<\/div>\n<\/div>\n<p><!--[--><\/p>\n<div class=\"tm-article-poll__header\">\u0412\u044b \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043b\u0438 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u044b?<\/div>\n<div class=\"tm-article-poll__answers\"><!--[--><\/p>\n<div class=\"tm-article-poll__answer\">\n<div class=\"tm-article-poll__answer-data\"><span class=\"tm-article-poll__answer-percent tm-article-poll__answer-percent_winning\">86.36% <\/span><span class=\"tm-article-poll__answer-label\">\u0434\u0430<\/span><span class=\"tm-article-poll__answer-votes\">19<\/span><\/div>\n<div class=\"tm-article-poll__answer-bar\">\n<div class=\"tm-article-poll__answer-progress tm-article-poll__answer-progress_winning\" style=\"width: 86.36%\"><\/div>\n<\/div>\n<\/div>\n<div class=\"tm-article-poll__answer\">\n<div class=\"tm-article-poll__answer-data\"><span class=\"tm-article-poll__answer-percent\">13.64% <\/span><span class=\"tm-article-poll__answer-label\">\u043d\u0435\u0442<\/span><span class=\"tm-article-poll__answer-votes\">3<\/span><\/div>\n<div class=\"tm-article-poll__answer-bar\">\n<div class=\"tm-article-poll__answer-progress\" style=\"width: 13.64%\"><\/div>\n<\/div>\n<\/div>\n<p><!--]--><\/div>\n<div class=\"tm-article-poll__stats\"> \u041f\u0440\u043e\u0433\u043e\u043b\u043e\u0441\u043e\u0432\u0430\u043b\u0438 22 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f.    \u0412\u043e\u0437\u0434\u0435\u0440\u0436\u0430\u0432\u0448\u0438\u0445\u0441\u044f \u043d\u0435\u0442. <\/div>\n<p><!--]--><\/div>\n<div class=\"tm-article-poll tm-article-poll_variant-bordered\">\n<div class=\"tm-notice tm-notice_positive tm-article-poll__notice\"><!----><\/p>\n<div class=\"tm-notice__inner\"><!----><\/p>\n<div class=\"tm-notice__content\" data-test-id=\"notice-content\"><!--[--><span>\u0422\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u043c\u043e\u0433\u0443\u0442 \u0443\u0447\u0430\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0432 \u043e\u043f\u0440\u043e\u0441\u0435. <a rel=\"nofollow\" href=\"\/kek\/v1\/auth\/habrahabr\/?back=\/ru\/articles\/682498\/&#038;hl=ru\">\u0412\u043e\u0439\u0434\u0438\u0442\u0435<\/a>, \u043f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430.<\/span><!--]--><\/div>\n<\/div>\n<\/div>\n<p><!--[--><\/p>\n<div class=\"tm-article-poll__header\">\u0412\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435 \u043f\u043e\u0448\u0430\u0433\u043e\u0432\u0443\u044e \u043e\u0442\u043b\u0430\u0434\u043a\u0443 \u043f\u0440\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u043f\u0440\u043e\u0448\u0438\u0432\u043e\u043a?<\/div>\n<div class=\"tm-article-poll__answers\"><!--[--><\/p>\n<div class=\"tm-article-poll__answer\">\n<div class=\"tm-article-poll__answer-data\"><span class=\"tm-article-poll__answer-percent tm-article-poll__answer-percent_winning\">81.82% <\/span><span class=\"tm-article-poll__answer-label\">\u0434\u0430<\/span><span class=\"tm-article-poll__answer-votes\">18<\/span><\/div>\n<div class=\"tm-article-poll__answer-bar\">\n<div class=\"tm-article-poll__answer-progress tm-article-poll__answer-progress_winning\" style=\"width: 81.82%\"><\/div>\n<\/div>\n<\/div>\n<div class=\"tm-article-poll__answer\">\n<div class=\"tm-article-poll__answer-data\"><span class=\"tm-article-poll__answer-percent\">18.18% <\/span><span class=\"tm-article-poll__answer-label\">\u043d\u0435\u0442<\/span><span class=\"tm-article-poll__answer-votes\">4<\/span><\/div>\n<div class=\"tm-article-poll__answer-bar\">\n<div class=\"tm-article-poll__answer-progress\" style=\"width: 18.18%\"><\/div>\n<\/div>\n<\/div>\n<p><!--]--><\/div>\n<div class=\"tm-article-poll__stats\"> \u041f\u0440\u043e\u0433\u043e\u043b\u043e\u0441\u043e\u0432\u0430\u043b\u0438 22 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f.    \u0412\u043e\u0437\u0434\u0435\u0440\u0436\u0430\u0432\u0448\u0438\u0445\u0441\u044f \u043d\u0435\u0442. <\/div>\n<p><!--]--><\/div>\n<div class=\"tm-article-poll tm-article-poll_variant-bordered\">\n<div class=\"tm-notice tm-notice_positive tm-article-poll__notice\"><!----><\/p>\n<div class=\"tm-notice__inner\"><!----><\/p>\n<div class=\"tm-notice__content\" data-test-id=\"notice-content\"><!--[--><span>\u0422\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u043c\u043e\u0433\u0443\u0442 \u0443\u0447\u0430\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0432 \u043e\u043f\u0440\u043e\u0441\u0435. <a rel=\"nofollow\" href=\"\/kek\/v1\/auth\/habrahabr\/?back=\/ru\/articles\/682498\/&#038;hl=ru\">\u0412\u043e\u0439\u0434\u0438\u0442\u0435<\/a>, \u043f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430.<\/span><!--]--><\/div>\n<\/div>\n<\/div>\n<p><!--[--><\/p>\n<div class=\"tm-article-poll__header\">\u041a\u0430\u043a\u043e\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043f\u043e\u0448\u0430\u0433\u043e\u0432\u043e\u0439 \u043e\u0442\u043b\u0430\u0434\u043a\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435 \u0432\u044b?<\/div>\n<div class=\"tm-article-poll__answers\"><!--[--><\/p>\n<div class=\"tm-article-poll__answer\">\n<div class=\"tm-article-poll__answer-data\"><span class=\"tm-article-poll__answer-percent\">4.35% <\/span><span class=\"tm-article-poll__answer-label\">\u0438\u0437 \u043a\u043e\u043d\u0441\u043e\u043b\u0438<\/span><span class=\"tm-article-poll__answer-votes\">1<\/span><\/div>\n<div class=\"tm-article-poll__answer-bar\">\n<div class=\"tm-article-poll__answer-progress\" style=\"width: 4.35%\"><\/div>\n<\/div>\n<\/div>\n<div class=\"tm-article-poll__answer\">\n<div class=\"tm-article-poll__answer-data\"><span class=\"tm-article-poll__answer-percent tm-article-poll__answer-percent_winning\">95.65% <\/span><span class=\"tm-article-poll__answer-label\">\u0438\u0437 IDE<\/span><span class=\"tm-article-poll__answer-votes\">22<\/span><\/div>\n<div class=\"tm-article-poll__answer-bar\">\n<div class=\"tm-article-poll__answer-progress tm-article-poll__answer-progress_winning\" style=\"width: 95.65%\"><\/div>\n<\/div>\n<\/div>\n<p><!--]--><\/div>\n<div class=\"tm-article-poll__stats\"> \u041f\u0440\u043e\u0433\u043e\u043b\u043e\u0441\u043e\u0432\u0430\u043b\u0438 23 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f.    \u0412\u043e\u0437\u0434\u0435\u0440\u0436\u0430\u0432\u0448\u0438\u0445\u0441\u044f \u043d\u0435\u0442. <\/div>\n<p><!--]--><\/div>\n<p><!--]--><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/682498\/\"> https:\/\/habr.com\/ru\/articles\/682498\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u041a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f. \u0417\u0430\u043f\u0438\u0441\u0430\u043b\u0438 \u0447\u0435\u0440\u0435\u0437 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 SWD \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0443 \u0438&#8230; \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442. HeartBeat LED \u043d\u0435 \u043c\u0438\u0433\u0430\u0435\u0442. Boot \u043b\u043e\u0433 \u0432 UART(\u0435) \u043d\u0435 \u043f\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f. CLI \u043d\u0435 \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442. \u0412\u0435\u0440\u043e\u044f\u0442\u043d\u043e \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0430 \u0433\u0434\u0435-\u0442\u043e \u0441\u0432\u0430\u043b\u0438\u043b\u0430\u0441\u044c \u0432 Hard Fault Handler. \u041f\u0440\u0438\u0447\u0435\u043c \u043f\u0440\u044f\u043c\u043e \u0432 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0435\u0449\u0435 \u0434\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0441\u0443\u043f\u0435\u0440 \u0446\u0438\u043a\u043b\u0430 \u0432\u043d\u0443\u0442\u0440\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 main(). \u041e\u0431\u0440\u0430\u0442\u0438\u043b\u0430\u0441\u044c \u043a \u043d\u0435\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0439 \u043f\u0430\u043c\u044f\u0442\u0438. \u0427\u0442\u043e \u0436\u0435 \u0434\u0435\u043b\u0430\u0442\u044c? \u041a\u0430\u043a \u043f\u043e\u043d\u044f\u0442\u044c, \u0433\u0434\u0435 \u043e\u0448\u0438\u0431\u043a\u0430, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u0438\u043d\u044f\u0442\u044c \u043c\u0435\u0440\u044b? <\/p>\n<p>\u041c\u043e\u0436\u043d\u043e \u043a\u043e\u043d\u0435\u0447\u043d\u043e \u0432\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u0438 \u0438\u0441\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u043f\u0435\u0440\u0435\u0434 \u0441\u0431\u043e\u0440\u043a\u043e\u0439 \u043a\u0443\u0441\u043a\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0438 \u043f\u0440\u043e\u0448\u0438\u0432\u0430\u0442\u044c \u043f\u043e\u043a\u0430 \u043d\u0435 \u0432\u044b\u044f\u0441\u043d\u0438\u043c \u0442\u0443 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u043d\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e. \u041d\u043e \u044d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0437\u0430\u043d\u044f\u0442\u044c \u043e\u0447\u0435\u043d\u044c \u043c\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438. \u0426\u0435\u043b\u044b\u0439 \u0434\u0435\u043d\u044c.<\/p>\n<p>\u0415\u0441\u0442\u044c \u043b\u0438 \u0431\u043e\u043b\u0435\u0435 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431? \u0414\u0430. \u0422\u0443\u0442 \u0432\u044b\u0440\u0443\u0447\u0438\u0442 \u043f\u043e\u0448\u0430\u0433\u043e\u0432\u0430\u044f GDB \u043e\u0442\u043b\u0430\u0434\u043a\u0430. \u0410 \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0430\u0434\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c GDB \u0441\u0435\u0440\u0432\u0435\u0440 \u0438 GDB \u043a\u043b\u0438\u0435\u043d\u0442.<\/p>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/694708\/\" rel=\"noopener noreferrer nofollow\">\u041f\u0440\u043e \u043f\u043e\u0448\u0430\u0433\u043e\u0432\u0443\u044e \u043e\u0442\u043b\u0430\u0434\u043a\u0443 \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u0438 \u0443 \u043c\u0435\u043d\u044f \u0435\u0441\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u043e\u0441\u0442<\/a>. <\/p>\n<p>\u041e\u0434\u043d\u0430\u043a\u043e \u043f\u043e\u0448\u0430\u0433\u043e\u0432\u0430\u044f \u043e\u0442\u043b\u0430\u0434\u043a\u0430 \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u0438 \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c\u0441\u044f \u0443\u0442\u043e\u043c\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439. \u041a\u0443\u0434\u0430 \u043f\u0440\u043e\u0449\u0435 \u043f\u043e\u0448\u0430\u0433\u043e\u0432\u043e \u043e\u0442\u043b\u0430\u0436\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u043f\u0440\u044f\u043c\u043e \u0432 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u043c \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0435, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0432 Eclipse.<\/p>\n<h3>\u0427\u0442\u043e \u043d\u0430\u0434\u043e \u0438\u0437 \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u044f?<\/h3>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td data-colwidth=\"209\" width=\"209\">\n<p align=\"left\"><strong>\u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u0435<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>\u041d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"209\" width=\"209\">\n<p align=\"left\">\u043a\u0430\u0431\u0435\u043b\u044c USB-A USB micro<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0414\u043b\u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430\u0442\u043e\u0440\u0430 \u043a NetTop PC<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"209\" width=\"209\">\n<p align=\"left\">\u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u0430\u044f \u043f\u043b\u0430\u0442\u0430 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 nrf5340-DK)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0434\u043b\u044f \u043f\u043e\u0448\u0430\u0433\u043e\u0432\u043e\u0439 \u043e\u0442\u043b\u0430\u0434\u043a\u0438 \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0438 \u0432 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0435<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"209\" width=\"209\">\n<p align=\"left\">\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430\u0442\u043e\u0440 J-Link<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0434\u043b\u044f \u043f\u043e\u0448\u0430\u0433\u043e\u0432\u043e\u0439 \u043e\u0442\u043b\u0430\u0434\u043a\u0438 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"209\" width=\"209\">\n<p align=\"left\">LapTop<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0443\u0442\u0438\u043b\u0438\u0442<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h3>\u0427\u0442\u043e \u043d\u0430\u0434\u043e \u0438\u0437 \u0441\u043e\u0444\u0442\u0432\u0435\u0440\u0430?<\/h3>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td data-colwidth=\"197\" width=\"197\">\n<p align=\"left\"><strong>\u0423\u0442\u0438\u043b\u0438\u0442\u0430<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>\u041d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"197\" width=\"197\">\n<p align=\"left\">JVM  <\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0412\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0430\u044f \u043c\u0430\u0448\u0438\u043d\u0430 \u0434\u043b\u044f \u043f\u0440\u043e\u043a\u0440\u0443\u0442\u043a\u0438 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0430 eclipse<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"197\" width=\"197\">\n<p align=\"left\">JLinkGDBServer.exe<\/p>\n<\/td>\n<td>\n<p align=\"left\">GDB \u0441\u0435\u0440\u0432\u0435\u0440<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"197\" width=\"197\">\n<p align=\"left\">nrfjprog.exe  <\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0443\u0442\u0438\u043b\u0438\u0442\u0430, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0448\u0438\u0442\u044c \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 \u0441\u0435\u043c\u0435\u0439\u0441\u0442\u0432\u0430 nrf<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"197\" width=\"197\">\n<p align=\"left\">arm-none-eabi-gdb.exe<\/p>\n<\/td>\n<td>\n<p align=\"left\">GDB \u043a\u043b\u0438\u0435\u043d\u0442<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"197\" width=\"197\">\n<p align=\"left\">eclipse.exe<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0422\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0439 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h3>\u0424\u0430\u0437\u0430 1. \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c GNU ToolChain \u0434\u043b\u044f Arm Embedded<\/h3>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/673522\/\" rel=\"noopener noreferrer nofollow\">\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u043f\u0440\u043e \u044d\u0442\u043e \u0442\u0443\u0442 <\/a><\/p>\n<p>\u041d\u0430\u0434\u043e \u043f\u0440\u043e\u043f\u0438\u0441\u0430\u0442\u044c \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e Path \u043f\u0443\u0442\u044c \u043a ARM ToolChain(\u0443): \u043f\u0440\u0435\u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0443, \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0443, \u0430\u0441c\u0435\u043c\u0431\u0440\u0435\u0440\u0443, \u043a\u043e\u043c\u043f\u043e\u043d\u043e\u0432\u0449\u0438\u043a\u0443, binutils(\u0430\u043c), \u043e\u0442\u043b\u0430\u0434\u0447\u0438\u043a\u0443.  <\/p>\n<pre><code>C:\/Program Files (x86)\/GNU Arm Embedded Toolchain\/10 2021.10\/bin<\/code><\/pre>\n<figure class=\"full-width\"><\/figure>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0441\u0442\u044c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 GNU Toolchain<strong> <\/strong>\u043c\u043e\u0436\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 <strong>arm-none-eabi-gcc &#8212;version<\/strong> \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u0438 Windows<\/p>\n<figure class=\"full-width\"><\/figure>\n<h3>\u0424\u0430\u0437\u0430 2. \u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c GDB \u0421\u0435\u0440\u0432\u0435\u0440 \u041e\u0442\u043b\u0430\u0434\u043a\u0438<\/h3>\n<p>\u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043e\u0442\u043b\u0430\u0434\u043a\u0438 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0443\u0442\u0438\u043b\u0438\u0442\u0443 JLinkGDBServer.exe.<br \/>C:\\Program Files (x86)\\SEGGER\\JLink\\JLinkGDBServer.exe<\/p>\n<p>\u041c\u043e\u0436\u043d\u043e \u0434\u0430\u0436\u0435 \u043d\u0430\u043a\u0440\u043e\u043f\u0430\u0442\u044c \u043f\u0440\u043e\u0441\u0442\u0435\u043d\u044c\u043a\u0438\u0439 \u0441\u043a\u0440\u0438\u043f\u0442, \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437 \u043c\u044b\u0448\u043a\u043e\u0439 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 JLink GDB Server(\u0430)<\/p>\n<pre><code class=\"bash\">  echo off cls set GDBServerOpt = -select USB -device nRF5340_xxAA_APP -endian little -if SWD -speed 400 -ir -LocalhostOnly -logtofile -log \"C:\\projects\\code_base_workspace\\code_base_firmware\\tool\\GdbServerLog.txt\"  set GDBServerDir=\"C:\\Program Files (x86)\\SEGGER\\JLink\\\" set GDBServerPath=%GDBServerDir%JLinkGDBServer.exe\" cd %GDBServerDir% call %GDBServerPath% %GDBServerOpt% <\/code><\/pre>\n<p>\u0412 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u0445 JLink GDB Server(\u0430) \u043d\u0430\u0434\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0441 \u043f\u043b\u0430\u0442\u043e\u0439. \u0412 \u0434\u0430\u043d\u043d\u043e\u0439 \u043f\u043b\u0430\u0442\u0435 \u044d\u0442\u043e USB. \u041f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430\u0442\u043e\u0440\u0430 \u0438 \u0446\u0435\u043b\u0435\u0432\u043e\u0433\u043e \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430. \u0412 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0445\u0435\u043c\u043e\u0442\u0435\u0445\u043d\u0438\u043a\u0435 \u044d\u0442\u043e SWD. \u041f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c, \u0447\u0442\u043e \u0432\u044b\u0431\u0440\u0430\u043d\u043e \u043d\u0443\u0436\u043d\u043e\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u043d\u043e\u0435 \u044f\u0434\u0440\u043e. \u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u044d\u0442\u043e nRF5340_xxAA_APP. \u0415\u0441\u043b\u0438 \u0432\u0441\u0451 \u0432\u0435\u0440\u043d\u043e, \u0442\u043e \u043d\u0430\u0436\u0438\u043c\u0430\u0435\u043c \u043e\u043a.<\/p>\n<figure class=\"full-width\"><\/figure>\n<p>  JLink GDB Server \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442 \u0432 \u0440\u0435\u0436\u0438\u043c \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043a GDB \u043a\u043b\u0438\u0435\u043d\u0442\u0443.<\/p>\n<figure class=\"full-width\"><\/figure>\n<p>\u0412\u043e\u0442 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u044b\u0439 \u043b\u043e\u0433 \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u0433\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 GDB \u043a\u043b\u0438\u0435\u043d\u0442\u0430.<\/p>\n<figure class=\"full-width\"><\/figure>\n<h3>\u0424\u0430\u0437\u0430 3. \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 GDB \u041a\u043b\u0438\u0435\u043d\u0442\u0430<\/h3>\n<p>\u041d\u0430\u0434\u043e \u043e\u0442\u043a\u0440\u044b\u0442\u044c \u043c\u0435\u043d\u044e Debug Configuration, \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u0438 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043f\u0443\u0442\u044c \u043a *.elf \u0444\u0430\u0439\u043b\u0443<\/p>\n<figure class=\"full-width\"><\/figure>\n<p>\u041d\u0430 \u0432\u043a\u043b\u0430\u0434\u043a\u0435 Debugger \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043f\u0443\u0442\u044c \u043a GDB \u043a\u043b\u0438\u0435\u043d\u0442\u0443 arm-none-eabi-gdb.exe.<\/p>\n<figure class=\"full-width\"><\/figure>\n<p>\u041c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u043f\u0438\u0441\u0430\u0442\u044c \u043f\u043e\u043b\u043d\u044b\u0439 \u043f\u0443\u0442\u044c \u043a GDB \u043a\u043b\u0438\u0435\u043d\u0442\u0443 <br \/>C:\\Program Files (x86)\\GNU Arm Embedded Toolchain\\10 2021.10\\bin\\arm-none-eabi-gdb.exe<\/p>\n<figure class=\"full-width\"><\/figure>\n<p>\u041d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0432\u043a\u043b\u0430\u0434\u043a\u0443 Startup.<\/p>\n<figure class=\"full-width\"><\/figure>\n<p>\u0441\u0442\u0430\u0432\u0438\u043c, \u0447\u0442\u043e \u043d\u0430\u0434\u043e \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c\u0441\u044f \u043d\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 main<\/p>\n<figure class=\"full-width\"><\/figure>\n<p>\u041d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0432\u043a\u043b\u0430\u0434\u043a\u0443 Common, \u043a\u0430\u043a \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043e \u043d\u0430 \u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442\u0435<\/p>\n<figure class=\"full-width\"><\/figure>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043d\u0430\u0436\u0430\u0442\u044c \u043a\u043d\u043e\u043f\u043a\u0443 Debug \u0438 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u044c \u043f\u043e\u0448\u0430\u0433\u043e\u0432\u0443\u044e \u043e\u0442\u043b\u0430\u0434\u043a\u0443<\/p>\n<figure class=\"full-width\"><\/figure>\n<p>\u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0430\u0441\u044c \u0442\u0430\u043a\u0430\u044f \u0441\u0445\u0435\u043c\u0430 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0443\u0442\u0438\u043b\u0438\u0442<\/p>\n<figure class=\"full-width\"><\/figure>\n<p>\u0432\u043e\u0442 \u043a\u0441\u0442\u0430\u0442\u0438 \u0441\u043a\u0440\u0438\u043f\u0442 \u0434\u043b\u044f \u043f\u0435\u0440\u0435 \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0438. \u041c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 Nrf5340 \u043c\u043e\u0436\u043d\u043e \u043f\u0435\u0440\u0435 \u043f\u0440\u043e\u0448\u0438\u0442\u044c \u0443\u0442\u0438\u043b\u0438\u0442\u043e\u0439 nrfjprog.exe.<\/p>\n<pre><code class=\"bash\">echo off cls  set project_name=nrf5340_dk_nortos_decadriver_m set project_dir=%cd% set workspace_dir=%cd%\\..\\..\\..\\ set tool_dir=%cd%\\..\\..\\..\\tool echo project_dir=%project_dir% set artefact_hex=%project_dir%\\build\\%project_name%.hex echo artefact_hex=%artefact_hex% ::set FlashTool=\"C:\\Program Files (x86)\\Nordic Semiconductor\\nrf-command-line-tools\\bin\\nrfjprog.exe\" set FlashTool=nrfjprog  call %project_dir%\\recover.bat  set options=--iface USB --family NRF53 --coprocessor CP_APPLICATION --program %artefact_hex%  --log --chiperase --verify --reset  call %FlashTool% %options% echo workspace_dir=%workspace_dir% echo tools_dir=%tools_dir% call %tool_dir%\\launch_terminal.bat 10 460800 \"nrf5340_dk_nortos_decadriver_m\" <\/code><\/pre>\n<\/p>\n<h3>\u0412\u044b\u0432\u043e\u0434<\/h3>\n<p>\u0415\u0441\u043b\u0438 \u0433\u043e\u0432\u043e\u0440\u0438\u0442\u044c \u043f\u043e \u0447\u0435\u0441\u0442\u043d\u043e\u043c\u0443, \u0442\u043e \u0432\u0441\u0451, \u0447\u0442\u043e \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043e\u0442 \u043f\u043e\u0448\u0430\u0433\u043e\u0432\u043e\u0439 GDB \u043e\u0442\u043b\u0430\u0434\u043a\u0438 \u044d\u0442\u043e \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c \u043e\u0442\u043b\u0430\u0434\u0438\u0442\u044c \u0437\u0430\u043f\u0443\u0441\u043a \u043f\u043e\u043b\u043d\u043e\u0434\u0443\u043f\u043b\u0435\u043a\u0441\u043d\u043e\u0433\u043e UART. \u0414\u0430\u043b\u0435\u0435 \u043f\u0440\u043e\u0441\u0442\u043e <a href=\"https:\/\/habr.com\/ru\/post\/694408\/\" rel=\"noopener noreferrer nofollow\">\u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438<\/a> \u0438 \u0432\u0441\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f \u043e\u0442\u043b\u0430\u0434\u043a\u0430 \u0438\u0434\u0435\u0442 \u0447\u0435\u0440\u0435\u0437 UART-CLI.<\/p>\n<p>\u0410 \u0432 CLI(Shell) \u043a\u0430\u043a \u0440\u0430\u0437 \u0435\u0441\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u0440\u0438\u0446\u0435\u043b\u044c\u043d\u043e \u0432\u044b\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c \u043a\u0443\u0441\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 (\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b, RAM, Flash), \u0438\u0441\u043a\u0430\u0442\u044c \u0430\u0434\u0440\u0435\u0441\u0430 \u043f\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c (\u0430\u043d\u0430\u043b\u043e\u0433 \u0443\u0442\u0438\u043b\u0438\u0442\u044b Art Money), \u0447\u0438\u0442\u0430\u0442\u044c \u0438 \u0434\u0435\u0440\u0433\u0430\u0442\u044c GPIO, \u043f\u0443\u043b\u044f\u0442\u044c \u043f\u0430\u043a\u0435\u0442\u044b \u0432 SPI, I2C, \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044c \u044f\u0434\u0440\u043e, \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0437\u043d\u0430\u044f \u0438\u0437 \u0430\u0434\u0440\u0435\u0441\u0430 \u0438\u0437 *.map \u0444\u0430\u0439\u043b\u0430 \u0434\u0430 \u0438 \u0432\u043e\u043e\u0431\u0449\u0435 \u0434\u0435\u043b\u0430\u0442\u044c \u0432\u0441\u0451, \u0447\u0442\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u0443\u0448\u0430 \u043f\u043e\u0436\u0435\u043b\u0430\u0435\u0442.  <\/p>\n<h3>\u0421\u043b\u043e\u0432\u0430\u0440\u044c<\/h3>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td data-colwidth=\"132\" width=\"132\">\n<p align=\"left\"><strong>\u0410\u043a\u0440\u043e\u043d\u0438\u043c<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>\u0420\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0430<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"132\" width=\"132\">\n<p align=\"left\">CLI<\/p>\n<\/td>\n<td>\n<p align=\"left\">Command-line interface<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"132\" width=\"132\">\n<p align=\"left\">UART<\/p>\n<\/td>\n<td>\n<p align=\"left\">universal asynchronous receiver-transmitter<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"132\" width=\"132\">\n<p align=\"left\">LED\u00a0  <\/p>\n<\/td>\n<td>\n<p align=\"left\">light-emitting diode<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"132\" width=\"132\">\n<p align=\"left\">RISC <\/p>\n<\/td>\n<td>\n<p align=\"left\">reduced instruction set computer<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"132\" width=\"132\">\n<p align=\"left\">JVM  <\/p>\n<\/td>\n<td>\n<p align=\"left\">Java virtual machine  <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"132\" width=\"132\">\n<p align=\"left\">PC<\/p>\n<\/td>\n<td>\n<p align=\"left\">personal computer<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"132\" width=\"132\">\n<p align=\"left\">UNIX<\/p>\n<\/td>\n<td>\n<p align=\"left\">UNiplexed Information Computing System<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"132\" width=\"132\">\n<p align=\"left\">ARM<\/p>\n<\/td>\n<td>\n<p align=\"left\">Advanced RISC Machine<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"132\" width=\"132\">\n<p align=\"left\">SWD <\/p>\n<\/td>\n<td>\n<p align=\"left\">Serial Wire Debug<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"132\" width=\"132\">\n<p align=\"left\">USB<\/p>\n<\/td>\n<td>\n<p align=\"left\">Universal Serial Bus<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"132\" width=\"132\">\n<p align=\"left\">GNU <\/p>\n<\/td>\n<td>\n<p align=\"left\">GNU&#8217;s Not UNIX<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"132\" width=\"132\">\n<p align=\"left\">GDB <\/p>\n<\/td>\n<td>\n<p align=\"left\">GNU Debugger\u00a0  <\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h3>\u0421\u0441\u044b\u043b\u043a\u0438<\/h3>\n<p><a href=\"https:\/\/bitknitting.wordpress.com\/2015\/07\/11\/using-eclipse-to-program-the-nrf51822\/\" rel=\"noopener noreferrer nofollow\">https:\/\/bitknitting.wordpress.com\/2015\/07\/11\/using-eclipse-to-program-the-nrf51822\/<\/a><br \/> <a href=\"https:\/\/dev.px4.io\/v1.10_noredirect\/en\/debug\/eclipse_jlink.html\" rel=\"noopener noreferrer nofollow\">https:\/\/dev.px4.io\/v1.10_noredirect\/en\/debug\/eclipse_jlink.html<\/a><br \/> <a href=\"https:\/\/eclipse-embed-cdt.github.io\/debug\/jlink\/\" rel=\"noopener noreferrer nofollow\">https:\/\/eclipse-embed-cdt.github.io\/debug\/jlink\/<\/a><br \/> <a href=\"https:\/\/habr.com\/ru\/company\/rainbow\/blog\/251053\/\" rel=\"noopener noreferrer nofollow\">https:\/\/habr.com\/ru\/company\/rainbow\/blog\/251053\/<\/a><br \/> <a href=\"https:\/\/habr.com\/ru\/post\/215483\/\" rel=\"noopener noreferrer nofollow\">https:\/\/habr.com\/ru\/post\/215483\/<\/a><br \/> <a href=\"https:\/\/habr.com\/ru\/post\/578830\/\" rel=\"noopener noreferrer nofollow\">https:\/\/habr.com\/ru\/post\/578830\/<\/a><br \/> <a href=\"https:\/\/habr.com\/ru\/post\/673522\/https:\/\/habr.com\/ru\/post\/694708\/https:\/\/habr.com\/ru\/post\/694408\/https:\/\/habr.com\/ru\/post\/681280\/\" rel=\"noopener noreferrer nofollow\">https:\/\/habr.com\/ru\/post\/673522\/https:\/\/habr.com\/ru\/post\/694708\/https:\/\/habr.com\/ru\/post\/694408\/https:\/\/habr.com\/ru\/post\/681280\/<\/a><br \/> <a href=\"https:\/\/karibe.co.ke\/2014\/03\/debugging-arm-freescale-microcontrollers-with-j-link-gdb-server-and-gnu-arm-toolchain-gdb-with-semihosting-in-linux\/\" rel=\"noopener noreferrer nofollow\">https:\/\/karibe.co.ke\/2014\/03\/debugging-arm-freescale-microcontrollers-with-j-link-gdb-server-and-gnu-arm-toolchain-gdb-with-semihosting-in-linux\/<\/a><br \/> <a href=\"https:\/\/mcuoneclipse.com\/2019\/09\/22\/eclipse-jtag-debugging-the-esp32-with-a-segger-j-link\/\" rel=\"noopener noreferrer nofollow\">https:\/\/mcuoneclipse.com\/2019\/09\/22\/eclipse-jtag-debugging-the-esp32-with-a-segger-j-link\/<\/a><br \/> <a href=\"https:\/\/mcuoneclipse.com\/2022\/07\/16\/getting-started-raspberry-pi-pico-rp2040-with-eclipse-and-j-link\/\" rel=\"noopener noreferrer nofollow\">https:\/\/mcuoneclipse.com\/2022\/07\/16\/getting-started-raspberry-pi-pico-rp2040-with-eclipse-and-j-link\/<\/a><\/p>\n<\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><\/p>\n<div class=\"tm-article-poll-container\"><!--[--><\/p>\n<div class=\"tm-article-poll tm-article-poll_variant-bordered\">\n<div class=\"tm-notice tm-notice_positive tm-article-poll__notice\"><!----><\/p>\n<div class=\"tm-notice__inner\"><!----><\/p>\n<div class=\"tm-notice__content\" data-test-id=\"notice-content\"><!--[--><span>\u0422\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u043c\u043e\u0433\u0443\u0442 \u0443\u0447\u0430\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0432 \u043e\u043f\u0440\u043e\u0441\u0435. <a rel=\"nofollow\" href=\"\/kek\/v1\/auth\/habrahabr\/?back=\/ru\/articles\/682498\/&#038;hl=ru\">\u0412\u043e\u0439\u0434\u0438\u0442\u0435<\/a>, \u043f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430.<\/span><!--]--><\/div>\n<\/div>\n<\/div>\n<p><!--[--><\/p>\n<div class=\"tm-article-poll__header\">\u0412\u044b \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043b\u0438 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u044b?<\/div>\n<div class=\"tm-article-poll__answers\"><!--[--><\/p>\n<div class=\"tm-article-poll__answer\">\n<div class=\"tm-article-poll__answer-data\"><span class=\"tm-article-poll__answer-percent tm-article-poll__answer-percent_winning\">86.36% <\/span><span class=\"tm-article-poll__answer-label\">\u0434\u0430<\/span><span class=\"tm-article-poll__answer-votes\">19<\/span><\/div>\n<div class=\"tm-article-poll__answer-bar\">\n<div class=\"tm-article-poll__answer-progress tm-article-poll__answer-progress_winning\" style=\"width: 86.36%\"><\/div>\n<\/div>\n<\/div>\n<div class=\"tm-article-poll__answer\">\n<div class=\"tm-article-poll__answer-data\"><span class=\"tm-article-poll__answer-percent\">13.64% <\/span><span class=\"tm-article-poll__answer-label\">\u043d\u0435\u0442<\/span><span class=\"tm-article-poll__answer-votes\">3<\/span><\/div>\n<div class=\"tm-article-poll__answer-bar\">\n<div class=\"tm-article-poll__answer-progress\" style=\"width: 13.64%\"><\/div>\n<\/div>\n<\/div>\n<p><!--]--><\/div>\n<div class=\"tm-article-poll__stats\"> \u041f\u0440\u043e\u0433\u043e\u043b\u043e\u0441\u043e\u0432\u0430\u043b\u0438 22 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f.    \u0412\u043e\u0437\u0434\u0435\u0440\u0436\u0430\u0432\u0448\u0438\u0445\u0441\u044f \u043d\u0435\u0442. <\/div>\n<p><!--]--><\/div>\n<div class=\"tm-article-poll tm-article-poll_variant-bordered\">\n<div class=\"tm-notice tm-notice_positive tm-article-poll__notice\"><!----><\/p>\n<div class=\"tm-notice__inner\"><!----><\/p>\n<div class=\"tm-notice__content\" data-test-id=\"notice-content\"><!--[--><span>\u0422\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u043c\u043e\u0433\u0443\u0442 \u0443\u0447\u0430\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0432 \u043e\u043f\u0440\u043e\u0441\u0435. <a rel=\"nofollow\" href=\"\/kek\/v1\/auth\/habrahabr\/?back=\/ru\/articles\/682498\/&#038;hl=ru\">\u0412\u043e\u0439\u0434\u0438\u0442\u0435<\/a>, \u043f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430.<\/span><!--]--><\/div>\n<\/div>\n<\/div>\n<p><!--[--><\/p>\n<div class=\"tm-article-poll__header\">\u0412\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435 \u043f\u043e\u0448\u0430\u0433\u043e\u0432\u0443\u044e \u043e\u0442\u043b\u0430\u0434\u043a\u0443 \u043f\u0440\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u043f\u0440\u043e\u0448\u0438\u0432\u043e\u043a?<\/div>\n<div class=\"tm-article-poll__answers\"><!--[--><\/p>\n<div class=\"tm-article-poll__answer\">\n<div class=\"tm-article-poll__answer-data\"><span class=\"tm-article-poll__answer-percent tm-article-poll__answer-percent_winning\">81.82% <\/span><span class=\"tm-article-poll__answer-label\">\u0434\u0430<\/span><span class=\"tm-article-poll__answer-votes\">18<\/span><\/div>\n<div class=\"tm-article-poll__answer-bar\">\n<div class=\"tm-article-poll__answer-progress tm-article-poll__answer-progress_winning\" style=\"width: 81.82%\"><\/div>\n<\/div>\n<\/div>\n<div class=\"tm-article-poll__answer\">\n<div class=\"tm-article-poll__answer-data\"><span class=\"tm-article-poll__answer-percent\">18.18% <\/span><span class=\"tm-article-poll__answer-label\">\u043d\u0435\u0442<\/span><span class=\"tm-article-poll__answer-votes\">4<\/span><\/div>\n<div class=\"tm-article-poll__answer-bar\">\n<div class=\"tm-article-poll__answer-progress\" style=\"width: 18.18%\"><\/div>\n<\/div>\n<\/div>\n<p><!--]--><\/div>\n<div class=\"tm-article-poll__stats\"> \u041f\u0440\u043e\u0433\u043e\u043b\u043e\u0441\u043e\u0432\u0430\u043b\u0438 22 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f.    \u0412\u043e\u0437\u0434\u0435\u0440\u0436\u0430\u0432\u0448\u0438\u0445\u0441\u044f \u043d\u0435\u0442. <\/div>\n<p><!--]--><\/div>\n<div class=\"tm-article-poll tm-article-poll_variant-bordered\">\n<div class=\"tm-notice tm-notice_positive tm-article-poll__notice\"><!----><\/p>\n<div class=\"tm-notice__inner\"><!----><\/p>\n<div class=\"tm-notice__content\" data-test-id=\"notice-content\"><!--[--><span>\u0422\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u043c\u043e\u0433\u0443\u0442 \u0443\u0447\u0430\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0432 \u043e\u043f\u0440\u043e\u0441\u0435. <a rel=\"nofollow\" href=\"\/kek\/v1\/auth\/habrahabr\/?back=\/ru\/articles\/682498\/&#038;hl=ru\">\u0412\u043e\u0439\u0434\u0438\u0442\u0435<\/a>, \u043f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430.<\/span><!--]--><\/div>\n<\/div>\n<\/div>\n<p><!--[--><\/p>\n<div class=\"tm-article-poll__header\">\u041a\u0430\u043a\u043e\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043f\u043e\u0448\u0430\u0433\u043e\u0432\u043e\u0439 \u043e\u0442\u043b\u0430\u0434\u043a\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435 \u0432\u044b?<\/div>\n<div class=\"tm-article-poll__answers\"><!--[--><\/p>\n<div class=\"tm-article-poll__answer\">\n<div class=\"tm-article-poll__answer-data\"><span class=\"tm-article-poll__answer-percent\">4.35% <\/span><span class=\"tm-article-poll__answer-label\">\u0438\u0437 \u043a\u043e\u043d\u0441\u043e\u043b\u0438<\/span><span class=\"tm-article-poll__answer-votes\">1<\/span><\/div>\n<div class=\"tm-article-poll__answer-bar\">\n<div class=\"tm-article-poll__answer-progress\" style=\"width: 4.35%\"><\/div>\n<\/div>\n<\/div>\n<div class=\"tm-article-poll__answer\">\n<div class=\"tm-article-poll__answer-data\"><span class=\"tm-article-poll__answer-percent tm-article-poll__answer-percent_winning\">95.65% <\/span><span class=\"tm-article-poll__answer-label\">\u0438\u0437 IDE<\/span><span class=\"tm-article-poll__answer-votes\">22<\/span><\/div>\n<div class=\"tm-article-poll__answer-bar\">\n<div class=\"tm-article-poll__answer-progress tm-article-poll__answer-progress_winning\" style=\"width: 95.65%\"><\/div>\n<\/div>\n<\/div>\n<p><!--]--><\/div>\n<div class=\"tm-article-poll__stats\"> \u041f\u0440\u043e\u0433\u043e\u043b\u043e\u0441\u043e\u0432\u0430\u043b\u0438 23 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f.    \u0412\u043e\u0437\u0434\u0435\u0440\u0436\u0430\u0432\u0448\u0438\u0445\u0441\u044f \u043d\u0435\u0442. <\/div>\n<p><!--]--><\/div>\n<p><!--]--><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/682498\/\"> https:\/\/habr.com\/ru\/articles\/682498\/<\/a><br \/><\/br><\/br><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-386031","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/386031","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=386031"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/386031\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=386031"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=386031"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=386031"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}