{"id":331089,"date":"2022-03-26T15:00:05","date_gmt":"2022-03-26T15:00:05","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=331089"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=331089","title":{"rendered":"<span>\u041e\u0441\u043d\u043e\u0432\u044b \u0440\u0430\u0431\u043e\u0442\u044b \u043e\u0442\u0435\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0445 \u041c\u041a 1986\u0412\u04151\u0422 \u0441 \u0431\u043e\u043b\u0433\u0430\u0440\u0441\u043a\u0438\u043c\u0438 \u043e\u0442\u043b\u0430\u0434\u0447\u0438\u043a\u0430\u043c\u0438 OLIMEX ARM-USB-OCD-H. \u0427\u0430\u0441\u0442\u044c 2 \u2014 RAM &amp; Interruptions<\/span>"},"content":{"rendered":"<div><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<h2>\u041f\u0440\u0435\u0430\u043c\u0431\u0443\u043b\u0430<\/h2>\n<p>\u0418\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u0432\u0442\u043e\u0440\u0430\u044f \u0433\u043b\u0430\u0432\u0430\u0437\u0430\u0434\u0443\u043c\u044b\u0432\u0430\u043b\u0430\u0441\u044c \u0442\u043e\u043b\u044c\u043a\u043e, \u043a\u0430\u043a \u0448\u043f\u0430\u0440\u0433\u0430\u043b\u043a\u0430 \u043f\u043e \u0440\u0430\u0431\u043e\u0442\u0435 \u0438\u0437 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438, \u043d\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u0438 \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0442\u044c\u0441\u044f \u0432 \u044d\u0442\u043e\u043c \u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u0442\u0440\u0443\u0434\u043d\u043e. \u041e\u0441\u043d\u043e\u0432\u043d\u0430\u044f &#171;\u0437\u0430\u043f\u0430\u0440\u0430&#187; \u043c\u043e\u0436\u0435\u0442 \u043d\u0430\u0441\u0442\u0438\u0433\u043d\u0443\u0442\u044c \u043d\u0435\u0441\u0432\u0435\u0434\u0443\u0449\u0435\u0433\u043e \u0438\u043c\u0435\u043d\u043d\u043e \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f\u043c\u0438. \u0421\u043e\u0431\u0441\u043d\u0430, \u0440\u0435\u0448\u0435\u043d\u043e \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0438\u0442\u044c.<\/p>\n<p>\u0421\u0442\u0435\u043a: <\/p>\n<ul>\n<li>\n<p>\u041e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u0430\u044f \u043f\u043b\u0430\u0442\u0430 <a href=\"https:\/\/ldm-systems.ru\/product\/20103\" rel=\"noopener noreferrer nofollow\">LDM-HELPER-K1986BE1QI-FULL<\/a>;<\/p>\n<\/li>\n<li>\n<p>\u041c\u041a <a href=\"https:\/\/ldm-systems.ru\/product\/19008\" rel=\"noopener noreferrer nofollow\">K1986BE1QI<\/a>(\u043d\u043e \u0432\u0441\u0435 \u043f\u0430\u043a\u0438 \u0438 \u0442\u0434. \u044e\u0437\u0430\u044e 1986\u0412\u04151\u0422 \u0438\u0431\u043e <s>\u0442\u0435 \u0436\u0435 \u044f\u0439\u0446\u0430, \u0442\u043e\u043b\u044c\u043a\u043e \u0441 \u0431\u043e\u043a\u0443<\/s> \u0434\u0430\u0436\u0435 \u0434\u0430\u0442\u0430\u0448\u0438\u0442 1 \u043d\u0430 \u0446\u0435\u043b\u0443\u044e \u043b\u0438\u043d\u0435\u0439\u043a\u0443);<\/p>\n<\/li>\n<li>\n<p>\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430\u0442\u043e\u0440 <a href=\"https:\/\/www.olimex.com\/Products\/ARM\/JTAG\/ARM-USB-OCD-H\/\" rel=\"noopener noreferrer nofollow\">ARM-USB-OCD-H<\/a>;<\/p>\n<\/li>\n<li>\n<p>IDE Keil uVison 5;<\/p>\n<\/li>\n<li>\n<p>Open OCD.<\/p>\n<\/li>\n<\/ul>\n<details class=\"spoiler\">\n<summary>\u041e\u0444\u0444\u0442\u043e\u043f<\/summary>\n<div class=\"spoiler__content\">\n<p>&#171;RAM &amp; Interruptions&#187; \u043d\u0435 \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e &#171;\u042f \u0443\u043c\u0435\u044e \u043f\u0438\u0441\u0430\u0442\u044c \u043f\u043e \u0431\u0443\u0440\u0436\u0443\u0439\u0441\u043a\u0438&#187;, \u0430 \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e &#171;\u0420\u0430\u0437\u043c\u0435\u0440 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0435\u0432\u044b\u0448\u0430\u0442\u044c 120 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432&#187; \u0438 &#171;\u041e\u0442\u043b\u0430\u0434\u043a\u0430 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439 \u0432 \u043e\u043f\u0440\u0435\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438&#187; \u043d\u0435 \u043b\u0435\u0437\u0435\u0442. \u041d\u0443, \u043a\u0430\u043a \u0433\u043e\u0432\u043e\u0440\u0438\u043b \u043f\u0440\u0435\u043f\u043e\u0434 \u043f\u043e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0442\u0438\u043a\u0435: &#171;\u042d\u0442\u043e \u043f\u043e \u043c\u043e\u043b\u043e\u0434\u043e\u0441\u0442\u0438 \u043a\u0430\u0436\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u043d\u0435 \u0432\u043b\u0430\u0437\u0438\u0442&#187;<\/p>\n<\/div>\n<\/details>\n<h2>\u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430 \u043a \u0440\u0430\u0431\u043e\u0442\u0435<\/h2>\n<p>\u0412 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0435, \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430 \u043d\u0438\u0447\u0435\u043c \u043d\u0435 \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u043e\u0442 <a href=\"https:\/\/habr.com\/ru\/post\/654957\/\" rel=\"noopener noreferrer nofollow\">\u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0433\u043e \u043f\u043e\u0441\u0442\u0430<\/a>, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0442\u044c\u0441\u044f \u043b\u0438\u0448\u043d\u0438\u0439 \u0440\u0430\u0437 \u043d\u0435 \u0431\u0443\u0434\u0435\u043c.<\/p>\n<h2>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 Keil \u0434\u043b\u044f \u043b\u0438\u043d\u043a\u043e\u0432\u043a\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0432 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u0443\u044e \u043f\u0430\u043c\u044f\u0442\u044c<\/h2>\n<p>\u0414\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442 \u043f\u043e\u0434 1986BE1T (\u0438 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e) \u0434\u043b\u044f \u043e\u0442\u043b\u0430\u0434\u043a\u0438 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e OLIMEX ARM-USB-OCD-H (\u0438 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e) \u0438\u0437 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430\u043c\u0438 \u0441\u0440\u0435\u0434\u044b Keil uVision 5 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0434\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 keil (<a href=\"https:\/\/habr.com\/ru\/post\/654957\/\" rel=\"noopener noreferrer nofollow\">\u0441\u043c\u043e\u0442\u0440\u0438 \u0432\u0441\u0435 \u0442\u043e\u0442 \u0436\u0435 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439 \u043f\u043e\u0441\u0442<\/a>).  <\/p>\n<figure class=\"float bordered full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/b8c\/207\/401\/b8c2074015b48c32e607eb4f10b47d7f.png\" width=\"648\" height=\"390\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/b8c\/207\/401\/b8c2074015b48c32e607eb4f10b47d7f.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u043f\u0440\u043e\u0435\u043a\u0442 \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u043d, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043a\u0430\u043a-\u0442\u043e \u043e\u0431\u044a\u044f\u0441\u043d\u0438\u0442\u044c \u043b\u0438\u043d\u043a\u0435\u0440\u0443, \u0447\u0442\u043e \u0438\u043c\u0435\u043d\u043d\u043e \u043c\u044b \u0445\u043e\u0442\u0438\u043c. \u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u0433\u0434\u0435 \u0438 \u043a\u0430\u043a \u044d\u0442\u043e \u0434\u0435\u043b\u0430\u0442\u044c. \u0415\u0441\u043b\u0438 \u0436\u0430\u043c\u043a\u043d\u0443\u0442\u044c \u043f\u0440\u0430\u0432\u043e\u0439 \u043a\u043d\u043e\u043f\u043a\u043e\u0439 \u043f\u043e &#171;target&#187; \u0432 \u0434\u0435\u0440\u0435\u0432\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u043c\u043e\u0436\u043d\u043e \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u043e\u043f\u0446\u0438\u0438 \u2013 \u0437\u0430\u0445\u043e\u0434\u0438\u043c \u0442\u0443\u0434\u0430.<\/p>\n<p>\u0421 \u00abOutput\u00bb \u0432\u0441\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u2013 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043d\u0430\u0448\u0438\u0445 \u0446\u0435\u043b\u0435\u0439 \u2013 \u044d\u0442\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0439 \u0444\u043b\u0430\u0433 \u00abCreate Executable\u00bb.<\/p>\n<p>\u00abTarget\u00bb \u0438 \u00abLinker\u00bb \u0436\u0435 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0431\u043e\u043b\u0435\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b. \u041d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u044d\u0442\u0438\u0445 \u0432\u043a\u043b\u0430\u0434\u043e\u043a \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u0433\u043e\u0442\u043e\u0432\u044b\u0435 \u0441\u043a\u0440\u0438\u043f\u0442\u044b \u0434\u043b\u044f \u043b\u0438\u043d\u043a\u0435\u0440\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0442\u0430\u043a \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u043c\u044b\u0445 \u00abScatter files\u00bb. \u0427\u0442\u043e \u044d\u0442\u043e \u0437\u0430 \u0441\u043a\u0430\u0442\u0435\u0440\u0442\u044c \u0442\u0430\u043a\u0430\u044f \u043e\u0431\u044a\u044f\u0441\u043d\u044f\u0442\u044c \u043d\u0435 \u0431\u0443\u0434\u0435\u043c, \u0435\u0441\u0442\u044c <a href=\"https:\/\/developer.arm.com\/documentation\/dui0474\/m\/scatter-file-syntax\" rel=\"noopener noreferrer nofollow\">\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f.<\/a><\/p>\n<figure class=\"float bordered full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/6bf\/397\/1fb\/6bf3971fb7e7dcb18907cc3dc0504ce3.png\" width=\"616\" height=\"461\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/6bf\/397\/1fb\/6bf3971fb7e7dcb18907cc3dc0504ce3.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u041d\u0430 \u0432\u043a\u043b\u0430\u0434\u043a\u0435 \u00abLinker\u00bb \u043d\u0443\u0436\u043d\u043e \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0444\u043b\u0430\u0433 \u00abUse Memory Layout from Target Dialog\u00bb &#8212; \u044d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u0430\u0432\u0442\u043e\u0433\u0435\u043d\u0435\u0440\u0438\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442\u044b \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u043c\u044b \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u043c \u0432\u043a\u043b\u0430\u0434\u043a\u0443 \u00abTarget\u00bb. <\/p>\n<p>\u0421\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u043a &#171;Target&#187;.  <\/p>\n<figure class=\"float full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/61c\/fb5\/2e1\/61cfb52e137ad217768e380f78ee71d4.png\" width=\"575\" height=\"429\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/61c\/fb5\/2e1\/61cfb52e137ad217768e380f78ee71d4.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0427\u0442\u043e \u0432\u0438\u0434\u0438\u043c \u0442\u0443\u0442 \u043f\u043e\u043b\u0435\u0437\u043d\u043e\u0433\u043e \u0434\u043b\u044f \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u043e\u0439 \u0446\u0435\u043b\u0438, \u0442\u0430\u043a \u044d\u0442\u043e 2 \u0431\u043b\u043e\u043a\u0430 \u0441 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435\u043c \u043f\u0430\u043c\u044f\u0442\u0438 (\u043f\u0440\u0438\u0447\u0435\u043c \u043f\u0440\u0435\u0434\u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u043d\u044b\u0445! \u0421\u043f\u0430\u0441\u0438\u0431\u043e \u043f\u0430\u043a\u0430\u043c keil-\u0430.).  <\/p>\n<p>\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a\u0430\u044f \u0441\u043a\u0430\u0442\u0435\u0440\u0442\u044c \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435. \u0412 \u043f\u0430\u043f\u043a\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0435\u0441\u0442\u044c .\/RTE\/Device\/MDR1986BE1T, \u0430 \u0442\u0430\u043c \u0444\u0430\u0439\u043b MDR1986VE1T.sct. \u042d\u0442\u043e \u0434\u0435\u0444\u043e\u043b\u0442\u043d\u044b\u0439 \u0441\u043a\u0440\u0438\u043f\u0442. \u0422\u0430\u043a \u043a\u0430\u043a \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u043d\u0435 \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u043b\u043e\u0441\u044c \u0431\u0443\u0434\u0435\u0442 \u044e\u0437\u0430\u0442\u044c\u0441\u044f \u0438\u043c\u0435\u043d\u043d\u043e \u043e\u043d.<\/p>\n<details class=\"spoiler\">\n<summary>MDR1986VE1T.sct<\/summary>\n<div class=\"spoiler__content\">\n<pre><code>; ****************************************************************************** ; ************* Scatter-Loading Description File for MDR1986VE1T *************** ; ******************************************************************************  LR_IROM1 0x00000000 0x00020000  {      ; load region size_region     ER_IROM1 0x00000000 0x00020000  {  ; load address = execution address         *.o (RESET, +First)         *(InRoot$$Sections)         .ANY (+RO)         .ANY (+XO)     }     RW_IRAM1 0x20000000 0x00008000  {  ; RW data         .ANY (+RW +ZI)     }     RW_IRAM2 0x20100000 0x00004000  {         .ANY (+RW +ZI)     } }<\/code><\/pre>\n<\/div>\n<\/details>\n<p>\u041d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0430\u043d\u0430\u043b\u0438\u0437 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e \u043a\u043e\u0434 \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u0432 ER_IROM1. \u041f\u0440\u0430\u0432\u0434\u0430 \u0441\u0435\u0439\u0447\u0430\u0441 \u0442\u0430\u043c \u0432\u0441\u0435 \u0441\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043e \u0442\u0430\u043a, \u0447\u0442\u043e\u0431\u044b \u0433\u0440\u0443\u0437\u0438\u0442\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u0432\u043e \u0444\u043b\u0435\u0448\u0443. \u0411\u0443\u0434\u0435\u043c \u043c\u0435\u043d\u044f\u0442\u044c.  <\/p>\n<p>\u041c\u043e\u0436\u043d\u043e, \u043a\u043e\u043d\u0447\u0435\u043d\u043e, \u043f\u0440\u0430\u0432\u0438\u0442\u044c scatter \u0440\u0443\u043a\u0430\u043c\u0438, \u043d\u043e \u043f\u0440\u043e\u0449\u0435 \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u043c\u0438. \u0418\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u043b\u0438\u043d\u043a\u0443\u044e\u0442\u0441\u044f \u0432 \u043f\u0435\u0440\u0432\u044b\u0439 \u0440\u0430\u0437\u0434\u0435\u043b IROM \u043f\u0430\u043c\u044f\u0442\u0438. \u0422.\u0435. \u0438\u0437\u043c\u0435\u043d\u0438\u0432 \u043f\u043e\u043b\u044f \u00abStart\u00bb \u0438 \u00abSize\u00bb IROM1 \u043d\u0430 \u0432\u043a\u043b\u0430\u0434\u043a\u0435 \u00abTarget\u00bb \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043d\u0443\u0436\u043d\u0443\u044e \u043b\u0438\u043d\u043a\u043e\u0432\u043a\u0443. \u0412\u0438\u0434\u0438\u043c, \u0447\u0442\u043e \u0440\u0430\u0437\u0434\u0435\u043b\u043e\u0432 IRAM \u0443 \u043d\u0430\u0441 2. <strong>\u041d\u043e.<\/strong> \u0427\u0438\u0442\u0430\u044f \u0434\u0430\u0442\u0430\u0448\u0438\u0442 \u043d\u0430\u0442\u044b\u043a\u0430\u0435\u043c\u0441\u044f \u043d\u0430 \u0444\u0440\u0430\u0437\u0443: <em>\u00abAHB-Lite   \u2013 \u0448\u0438\u043d\u0430   \u0432\u044b\u0431\u043e\u0440\u043a\u0438   \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439   \u0438   \u0434\u0430\u043d\u043d\u044b\u0445   \u0438\u0437   \u0432\u043d\u0435\u0448\u043d\u0435\u0433\u043e   \u0430\u0434\u0440\u0435\u0441\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430\u00bb<\/em> \u0438, \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u043e\u043a\u0443\u0440\u0438\u0432 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043f\u043e\u043d\u0438\u043c\u0430\u0435\u043c, \u0447\u0442\u043e \u044d\u0442\u0430 \u0448\u0438\u043d\u0430 \u2013 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0434\u043e\u0442\u044f\u043d\u0443\u0442\u044c\u0441\u044f \u0434\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 \u0432 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438. \u0421\u043c\u043e\u0442\u0440\u0438\u043c \u0430\u0434\u0440\u0435\u0441\u0430 \u0438 \u043f\u043e\u043d\u0438\u043c\u0430\u0435\u043c, \u0447\u0442\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0432 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 \u0434\u043e\u0437\u0432\u043e\u043b\u0435\u043d\u043e \u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0441 0x20100000.<\/p>\n<figure class=\"float full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/cf2\/d05\/0f4\/cf2d050f424a72758af373e739dcaf29.png\" width=\"705\" height=\"524\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/cf2\/d05\/0f4\/cf2d050f424a72758af373e739dcaf29.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0418\u0442\u043e\u0433\u043e: \u043a\u043e\u043f\u0438\u0440\u0443\u0435\u043c \u043f\u043e\u043b\u044f \u0438\u0437 IRAM2 \u0432 IROM1 \u0438 \u0440\u0435\u0431\u0438\u043b\u0434\u0438\u043c.<\/p>\n<details class=\"spoiler\">\n<summary> \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0438\u0440\u0443\u044e\u0449\u0438\u0439 scatter \u0444\u0430\u0439\u043b. \u0411\u0443\u0434\u0435\u0442 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u044c\u0441\u044f .\/Objects\/projectName.sct <\/summary>\n<div class=\"spoiler__content\">\n<pre><code>; ************************************************************* ; *** Scatter-Loading Description File generated by uVision *** ; *************************************************************  LR_IROM1 0x20100000 0x00004000  {    ; load region size_region   ER_IROM1 0x20100000 0x00004000  {  ; load address = execution address    *.o (RESET, +First)    *(InRoot$$Sections)    .ANY (+RO)    .ANY (+XO)   }   RW_IRAM1 0x20000000 0x00008000  {  ; RW data    .ANY (+RW +ZI)   } }<\/code><\/pre>\n<\/div>\n<\/details>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0432\u0438\u0434\u043d\u043e, \u0447\u0442\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0431\u0443\u0434\u0443\u0442 \u0440\u0430\u0441\u043f\u043e\u043b\u0430\u0433\u0430\u0442\u044c\u0441\u044f \u0432 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438, \u043f\u0440\u0438\u0447\u0435\u043c \u0438\u043c\u0435\u043d\u043d\u043e \u0432 \u0442\u043e\u0439, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0434\u043b\u044f \u043d\u0438\u0445 \u0438 \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0430. \u041e\u0442\u043b\u0438\u0447\u043d\u043e! \u041f\u043e\u0440\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c.<\/p>\n<h3>\u0417\u0430\u043f\u0443\u0441\u043a \u0432 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438<\/h3>\n<p>\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u043c \u043f\u0440\u043e\u0435\u043a\u0442 \u043f\u043e \u043e\u0431\u0440\u0430\u0437\u0443 \u0438 \u043f\u043e\u0434\u043e\u0431\u0438\u044e <a href=\"https:\/\/habr.com\/ru\/post\/654957\/\" rel=\"noopener noreferrer nofollow\">1 \u0447\u0430\u0441\u0442\u0438<\/a> \u0441\u0442\u0430\u0442\u044c\u0438. \u0418 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0430\u0434\u0440\u0435\u0441\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440:<\/p>\n<pre><code>(gdb) x main 0x20100aa8 &lt;main>:      0x25d95598<\/code><\/pre>\n<p>\u0422.\u0435. \u0430\u0434\u0440\u0435\u0441 \u0432\u0445\u043e\u0434\u0430 \u0432 main &#8212; 0x20100aa8, \u0447\u0442\u043e \u0432\u043f\u043e\u043b\u043d\u0435 \u0441\u0435\u0431\u0435 \u043f\u043e\u0445\u043e\u0436\u0435 \u043d\u0430 \u0442\u043e, \u0440\u0430\u0434\u0438 \u0447\u0435\u0433\u043e \u0432\u0441\u0435 \u044d\u0442\u043e \u0431\u044b\u043b\u043e \u0437\u0430\u0442\u0435\u044f\u043d\u043e.<\/p>\n<p>\u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u043f\u0440\u043e\u0441\u0442\u0435\u043d\u044c\u043a\u0443\u044e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443. \u041f\u0443\u0441\u0442\u044c \u043f\u043e \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044e \u0442\u0430\u0439\u043c\u0435\u0440\u0430 \u0437\u0430\u0436\u0436\u0435\u043c \u0434\u0438\u043e\u0434 \u043d\u0430 \u043f\u043b\u0430\u0442\u0435.<\/p>\n<p>\u0412\u043d\u0430\u0447\u0430\u043b\u0435 \u0431\u044b\u043b\u043e <s>\u0441\u043b\u043e\u0432\u043e<\/s> \u0442\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435. \u0421 \u044d\u0442\u043e\u0433\u043e \u0438 \u043d\u0430\u0447\u043d\u0435\u043c. \u0415\u0449\u0435 \u0441 \u043f\u0435\u0440\u0432\u044b\u0445 \u0434\u043d\u0435\u0439 \u0437\u043d\u0430\u043a\u043e\u043c\u0441\u0442\u0432\u0430 \u0441 \u041c\u0438\u043b\u0430\u043d\u0434\u0440\u043e\u0432\u0441\u043a\u0438\u043c\u0438 \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u044f\u043c\u0438 \u0431\u044b\u043b \u043d\u0430\u043f\u0438\u0441\u0430\u043d<a href=\"https:\/\/github.com\/JozeAlexandro\/setCoreClock1986BE.git\" rel=\"noopener noreferrer nofollow\"> \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0431\u043b\u043e\u0447\u043e\u043a<\/a>, \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0432 \u0431\u0443\u0434\u0443\u0449\u0438\u0445 \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u0445 \u043d\u0435 \u043f\u0430\u0440\u0438\u0442\u044c\u0441\u044f \u043f\u043e \u043f\u043e\u0432\u043e\u0434\u0443 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0447\u0430\u0441\u0442\u043e\u0442\u044b \u043f\u0440\u043e\u0446\u0430. \u0421\u0443\u0442\u044c: \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043e\u0442 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0433\u043e HSI, \u0440\u0430\u0437\u0440\u0435\u0448\u0430\u0435\u0442 \u0437\u0430\u0434\u0430\u0432\u0430\u0442\u044c \u0447\u0430\u0441\u0442\u043e\u0442\u044b \u043e\u0442 8 \u0434\u043e 128 \u041c\u0413\u0446. \u041f\u043e\u043a\u0430 \u0447\u0442\u043e \u044d\u0442\u043e\u0433\u043e \u0445\u0432\u0430\u0442\u0430\u043b\u043e. <\/p>\n<p>\u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u0431\u0443\u0434\u0435\u043c \u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0432 RAM. \u041a\u043e\u0434 \u0442\u0443\u043f, \u043f\u0440\u043e\u0441\u0442 \u0438, \u043d\u0430\u0434\u0435\u044e\u0441\u044c, \u043f\u043e\u043d\u044f\u0442\u0435\u043d. <\/p>\n<details class=\"spoiler\">\n<summary>main.c<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"cpp\">static void ledInit( void ); inline static void ledOn( void ) { MDR_PORTB->RXTX = 0; } inline static void ledOff( void ) { MDR_PORTB->RXTX = 1; } static void timerInit( void ); inline static void timerStart( void ) { MDR_TIMER1->CNTRL = 0x01; }  void TIMER1_IRQHandler( void );  int main( void ) {   \/\/ \u041e\u0441\u043d\u043e\u0432\u043d\u043e\u0435 \u0442\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435   freqHsiCpuSet( 8 );      \/\/ \u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0434\u0438\u043e\u0434\u0430   ledInit();      \/\/ \u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0442\u0430\u0439\u043c\u0435\u0440\u0430   timerInit();      \/\/ \u0421\u0442\u0430\u0440\u0442\u0443\u0435\u043c! \u042f \u0441\u043a\u0430\u0437\u0430\u043b\u0430 \u0441\u0442\u0430\u0440-\u0442\u0443-\u0435\u043c.   timerStart();      while(1) __NOP(); }  static void ledInit( void ) { MDR_RST_CLK->PER_CLOCK |= 1 &lt;&lt; 22;  PORT_InitTypeDef portLEDInitStruct; PORT_StructInit( &amp;portLEDInitStruct ); portLEDInitStruct.PORT_OE = PORT_OE_OUT; portLEDInitStruct.PORT_MODE = PORT_MODE_DIGITAL; portLEDInitStruct.PORT_SPEED = PORT_SPEED_SLOW; portLEDInitStruct.PORT_Pin = PORT_Pin_0; PORT_Init( MDR_PORTB, &amp;portLEDInitStruct );  ledOff(); }  static void timerInit( void ) { NVIC_EnableIRQ( TIMER1_IRQn );  \/\/ \u0420\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0442\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f TIMER1 MDR_RST_CLK->PER_CLOCK |= 1 &lt;&lt; 14;  \/\/ \u0420\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0442\u0430\u043a\u0442\u043e\u0432\u043e\u0439 \u0447\u0430\u0441\u0442\u043e\u0442\u044b \u043d\u0430 TIM1 MDR_RST_CLK->TIM_CLOCK |= 1 &lt; 24;   MDR_TIMER1->CNTRL = 0;   \/\/ \u041d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c \u0440\u0430\u0431\u043e\u0442\u0443 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u0441\u0447\u0435\u0442\u0447\u0438\u043a\u0430  \/\/ \u041d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 MDR_TIMER1->CNT = 0;   \/\/\u041f\u0440\u0435\u0434\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044c \u0447\u0430\u0441\u0442\u043e\u0442\u044b  MDR_TIMER1->PSG = 0;  \/\/ \u041e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u0447\u0435\u0442\u0430 MDR_TIMER1->ARR = 0x0F;   \/\/ \u0420\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u0438 CNT = ARR  MDR_TIMER1->IE = 1 &lt;&lt; 1; }  void TIMER1_IRQHandler( void ) { ledOn();  MDR_TIMER1->IE = 0; NVIC_DisableIRQ( TIMER1_IRQn ); }<\/code><\/pre>\n<\/div>\n<\/details>\n<p>\u0427\u0442\u043e \u043e\u0436\u0438\u0434\u0430\u0435\u0442\u0441\u044f? \u0410 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0441\u0440\u0430\u0437\u0443 \u0431\u0443\u0434\u0435\u0442 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043e \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0435 \u043e\u0442 \u0442\u0430\u0439\u043c\u0435\u0440\u0430. \u041e\u043a\u0435\u0439. \u0413\u0440\u0443\u0437\u0438\u043c \u0432 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043a\u0443. \u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c. <\/p>\n<p>\u0410\u043a\u043a\u0443\u0440\u0430\u0442\u043d\u044b\u0439 \u0432\u044b\u0432\u043e\u0434 \u00abContinuing.\u00bb \u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u0430, \u043d\u043e \u0434\u0438\u043e\u0434 \u043d\u0435 \u0433\u043e\u0440\u0438\u0442(<\/p>\n<h2>\u0412 \u0447\u0435\u043c \u0436\u0435, \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0434\u0435\u043b\u043e?<\/h2>\n<p>\u041f\u0440\u0438\u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c \u043f\u0440\u043e\u0440\u0433\u0430\u043c\u043c\u0443 \u0438 \u0443\u0432\u0438\u0434\u0438\u043c, <\/p>\n<pre><code>(gdb) &lt;Cntrl + c> Program received signal SIGINT, Interrupt. main () at main.c:29 29              while(1) __NOP();<\/code><\/pre>\n<p> &#8230; \u0447\u0442\u043e \u043c\u044b \u0432 \u0431\u0435\u0441\u043a\u043e\u043d\u0435\u0447\u043d\u043e\u043c \u0446\u0438\u043a\u043b\u0435 \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u044f.<\/p>\n<p>\u041f\u0435\u0440\u0432\u0430\u044f \u043c\u044b\u0441\u043b\u044c (\u043a\u043e\u043d\u0435\u0447\u043d\u043e \u0436\u0435, \u043f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u0432\u044b\u0440\u0443\u0433\u0430\u043b \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\/\u043e\u0442\u043b\u0430\u0434\u0447\u0438\u043a\/\u0441\u0440\u0435\u0434\u0443 \u0438 \u0442\u0434. \u0438 \u0442\u043f. \u0438\u0431\u043e \u0432\u0438\u043d\u043e\u0432\u0430\u0442 \u0422\u041e\u0427\u041d\u041e \u043d\u0435 \u0442\u044b) &#8212; \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043d\u0435 \u0442\u0430\u043a \u043f\u0440\u043e\u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u043b LED. \u041d\u0443, \u044d\u043d\u0438\u0432\u0435\u0439, \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0435 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0434\u043e\u043b\u0436\u043d\u043e, \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u0432 \u043d\u0435\u0433\u043e \u043f\u043e\u043f\u0430\u0441\u0442\u044c, \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0432 \u0442\u043e\u0447\u043a\u0443 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0430 \u0432 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0435 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f \u0442\u0430\u0439\u043c\u0435\u0440\u0430:<\/p>\n<pre><code>(gdb) b TIMER1_IRQHandler Breakpoint 2 at 0x20100192: TIMER1_IRQHandler. (2 locations)<\/code><\/pre>\n<p>\u041f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043c:<\/p>\n<pre><code>(gdb) monitor reset halt (gdb) load (gdb) c<\/code><\/pre>\n<p>\u041d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u043e\u0441\u044c( <\/p>\n<p>\u0413\u043b\u044f\u043d\u0435\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 \u0442\u0430\u0439\u043c\u0435\u0440\u0430. \u0421\u0447\u0435\u0442\u0447\u0438\u043a (\u0420\u0435\u0433\u0438\u0441\u0442\u0440 CNT) \u043b\u0435\u0436\u0438\u0442 \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443 0x40070000, \u0430 \u041e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0435 (\u0420\u0435\u0433\u0438\u0441\u0442\u0440 ARR) \u043f\u043e 0x40070000.<\/p>\n<pre><code>(gdb) x 0x40070000 0x40070000:     0x0000  (gdb) x 0x40070000 0x40070000:     0x0000<\/code><\/pre>\n<p>\u0422\u0430\u043a\u0438\u043c \u0436\u0435 \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0444\u043b\u0430\u0433\u0438 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439 \u0438 \u043f\u0440\u043e\u0447\u0435\u0435. \u0418, \u0441\u0443\u0434\u044f \u043f\u043e, \u0447\u0442\u043e \u0441\u0447\u0435\u0442\u0447\u0438\u043a \u0434\u043e\u0441\u0447\u0438\u0442\u0430\u043b \u0434\u043e \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u044f \u0438 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u044b (trust me i am an engineer) \u0432\u0441\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c. \u041d\u043e \u043d\u0435 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u043e.<\/p>\n<p>\u0410 \u0442\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u043f\u0440\u043e\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0432\u0441\u0435 \u0442\u043e\u0436\u0435 \u0441\u0430\u043c\u043e\u0435, \u043d\u043e \u0432\u043e \u0444\u043b\u0435\u0448\u0435. \u041f\u0440\u043e\u0432\u043e\u0434\u0438\u043c \u043d\u0435\u0445\u0438\u0442\u0440\u044b\u0435 \u043c\u0430\u043d\u0438\u043f\u0443\u043b\u044f\u0446\u0438\u0438 \u0441 \u0432\u043a\u043b\u0430\u0434\u043a\u043e\u0439 &#171;Target&#187;, \u0440\u0435\u0431\u0438\u043b\u0434\u0438\u043c, \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c.<\/p>\n<details class=\"spoiler\">\n<summary>\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u043b\u0438\u0441\u044c, \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043b\u0438\u0441\u044c \u2013 \u0432\u0441\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442. \u0418 \u0434\u0438\u043e\u0434 \u0433\u043e\u0440\u0438\u0442 \u0432 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0438 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0438\u0441\u044c.<\/summary>\n<div class=\"spoiler__content\">\n<pre><code>(gdb) c Continuing.  Breakpoint 1, main () at main.c:18 18              freqHsiCpuSet( 8 );  (gdb) c Continuing.  Breakpoint 2, TIMER1_IRQHandler () at main.c:77 77              ledOn(); (gdb) c Continuing.<\/code><\/pre>\n<\/div>\n<\/details>\n<p>\u0421\u0443\u0442\u044c \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u0432\u0435\u043a\u0442\u043e\u0440\u043e\u0432 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439 \u0432 \u0434\u0430\u043d\u043d\u044b\u0445 \u041c\u041a <strong>\u043d\u0435\u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u043c\u0430 \u0432 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0435<\/strong> \u0438 \u0440\u0430\u0441\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f \u043f\u043e <strong>\u043d\u0443\u043b\u0435\u0432\u043e\u043c\u0443 \u0430\u0434\u0440\u0435\u0441\u0443<\/strong>. \u0423\u0431\u0435\u0434\u0438\u043c\u0441\u044f, \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u0432 \u0444\u0430\u0439\u043b startup_MDR1986VE1T.S. \u0422\u0430\u043c \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u0430\u044f \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f: \u0441\u0442\u0435\u043a \u043f\u043e\u0438\u043d\u0442\u0435\u0440, \u0440\u0430\u0437\u043c\u0435\u0440\u044b \u043a\u0443\u0447\u0438, \u0441\u0442\u0435\u043a\u0430\u2026 \u041d\u043e \u0441\u0435\u0439\u0447\u0430\u0441 \u0431\u0443\u0434\u0435\u0442 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043e\u0432\u0430\u0442\u044c\u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u0432\u0435\u043a\u0442\u043e\u0440\u043e\u0432 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439.<\/p>\n<details class=\"spoiler\">\n<summary>startup_MDR1986VE1T (\u043a\u0443\u0441\u043e\u0447\u0435\u043a)<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"assembly\">; Vector Table Mapped to Address 0 at Reset                  AREA    RESET, DATA, READONLY                 EXPORT  __Vectors  __Vectors       DCD     __initial_sp                ; Top of Stack                 DCD     Reset_Handler               ; Reset Handler                 DCD     NMI_Handler                 ; NMI Handler                 DCD     HardFault_Handler           ; Hard Fault Handler                 DCD     0                           ; Reserved                 DCD     0                           ; Reserved                 DCD     0                           ; Reserved                 DCD     0                           ; Reserved                 DCD     0                           ; Reserved                 DCD     0                           ; Reserved                 DCD     0                           ; Reserved                 DCD     SVC_Handler                 ; SVCall Handler                 DCD     0                           ; Reserved                 DCD     0                           ; Reserved                 DCD     PendSV_Handler              ; PendSV Handler                 DCD     SysTick_Handler             ; SysTick Handler                  ; External Interrupts                                  DCD     MIL_STD_1553B2_IRQHandler   ;IRQ0                 DCD     MIL_STD_1553B1_IRQHandler   ;IRQ1                 DCD     USB_IRQHandler              ;IRQ2                 DCD     CAN1_IRQHandler             ;IRQ3                 DCD     CAN2_IRQHandler             ;IRQ4                 DCD     DMA_IRQHandler              ;IRQ5                 DCD     UART1_IRQHandler            ;IRQ6                 DCD     UART2_IRQHandler            ;IRQ7                 DCD     SSP1_IRQHandler             ;IRQ8                 DCD     BUSY_IRQHandler             ;IRQ9                 DCD     ARINC429R_IRQHandler        ;IRQ10                 DCD     POWER_IRQHandler            ;IRQ11                 DCD     WWDG_IRQHandler             ;IRQ12                 DCD     TIMER4_IRQHandler           ;IRQ13                 DCD     TIMER1_IRQHandler           ;IRQ14                 DCD     TIMER2_IRQHandler           ;IRQ15                 DCD     TIMER3_IRQHandler           ;IRQ16                 DCD     ADC_IRQHandler              ;IRQ17                 DCD     ETHERNET_IRQHandler         ;IRQ18                 DCD     SSP3_IRQHandler             ;IRQ19                 DCD     SSP2_IRQHandler             ;IRQ20                 DCD     ARINC429T1_IRQHandler       ;IRQ21                 DCD     ARINC429T2_IRQHandler       ;IRQ22                 DCD     ARINC429T3_IRQHandler       ;IRQ23                 DCD     ARINC429T4_IRQHandler       ;IRQ24                 DCD     0                           ;IRQ25                 DCD     0                           ;IRQ26                 DCD     BKP_IRQHandler              ;IRQ27                 DCD     EXT_INT1_IRQHandler         ;IRQ28                 DCD     EXT_INT2_IRQHandler         ;IRQ29                 DCD     EXT_INT3_IRQHandler         ;IRQ30                 DCD     EXT_INT4_IRQHandler         ;IRQ31<\/code><\/pre>\n<\/div>\n<\/details>\n<p>\u042d\u0442\u0430 \u0436\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u0430 (\u0442\u043e\u043b\u044c\u043a\u043e External Interrupts) \u043e\u043f\u0438\u0441\u0430\u043d\u0430 \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 31.10  \u00abLock-up\u00bb \u0434\u0430\u0442\u0430\u0448\u0438\u0442\u0430.<\/p>\n<p>\u0410 \u0432\u043e\u0442 \u0432 \u043f\u0443\u043d\u043a\u0442\u0435 31.1 <em>\u00ab\u0422\u0438\u043f\u044b \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0439\u00bb<\/em> \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043e: <em>&#171;\u0412   \u0442\u0430\u0431\u043b\u0438\u0446\u0435   \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u044b   \u0442\u0438\u043f\u044b   \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0439,   \u0438\u0445   \u043d\u043e\u043c\u0435\u0440\u0430   \u0438   \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442.   \u041d\u043e\u043c\u0435\u0440 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0441\u043b\u043e\u0432\u043d\u043e\u0435 \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0439 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u0442\u0430\u0440\u0442\u043e\u0432\u043e\u0433\u043e \u0430\u0434\u0440\u0435\u0441\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0432\u0435\u043a\u0442\u043e\u0440\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u0441\u0435\u0433\u0434\u0430 \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0430 \u0432 0x0.&#187;<\/em><\/p>\n<p>\u041f\u043e\u0441\u043b\u0435 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u043a\u043e\u0433\u043d\u0438\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u044f \u0437\u0430\u043c\u0435\u0447\u0430\u0435\u043c, \u0447\u0442\u043e \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u00ab\u0436\u0435\u043b\u0435\u0437\u043d\u043e\u00bb \u0432\u0431\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u043d\u0443\u043b\u0435\u0432\u043e\u0439 \u0430\u0434\u0440\u0435\u0441. \u0417\u0430\u043c\u0435\u0442\u0438\u0442\u044c \u044d\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u043e\u0447\u0435\u043d\u044c \u0438 \u043e\u0447\u0435\u043d\u044c, \u0438\u0431\u043e \u0441 \u044d\u0442\u0438\u043c \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u043f\u043e\u0432\u043e\u0437\u0438\u0442\u044c\u0441\u044f. \u0421\u0440\u0430\u0437\u0443 \u0431\u044b\u043b\u043e \u043d\u0435\u043e\u0447\u0435\u0432\u0438\u0434\u043d\u043e. (\u041d\u0443, \u043c\u0431 \u044f \u0434\u0443\u0440\u0435\u043d\u044c, \u0430 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u0434\u043e \u044d\u0442\u043e\u0433\u043e \u0441\u0440\u0430\u0437\u0443 \u0434\u043e\u0433\u0430\u0434\u044b\u0432\u0430\u044e\u0442\u0441\u044f).<\/p>\n<details class=\"spoiler\">\n<summary>\u041e\u043a, \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0438\u0437\u043d\u0443\u0442\u0440\u0438.<\/summary>\n<div class=\"spoiler__content\">\n<pre><code>(gdb) x\/48 0x0 0x0 &lt;RST_CLK_GetClocksFreq>:    0x20002068      0x00000165      0x0000016d      0x0000016f 0x10 &lt;RST_CLK_GetClocksFreq+16>:        0x00000000      0x00000000      0x00000000      0x00000000 0x20 &lt;RST_CLK_GetClocksFreq+32>:        0x00000000      0x00000000      0x00000000      0x00000171 0x30 &lt;RST_CLK_GetClocksFreq+48>:        0x00000000      0x00000000      0x00000173      0x00000175 0x40 &lt;RST_CLK_GetClocksFreq+64>:        0x00000177      0x00000179      0x0000017b      0x0000017d 0x50 &lt;RST_CLK_GetClocksFreq+80>:        0x0000017f      0x00000181      0x00000183      0x00000185 0x60 &lt;RST_CLK_GetClocksFreq+96>:        0x00000187      0x00000189      0x0000018b      0x0000018d 0x70 &lt;RST_CLK_GetClocksFreq+112>:       0x0000018f      0x00000191      0x0000083d      0x00000195 0x80 &lt;RST_CLK_GetClocksFreq+128>:       0x00000197      0x00000199      0x0000019b      0x0000019d 0x90 &lt;RST_CLK_GetClocksFreq+144>:       0x0000019f      0x000001a1      0x000001a3      0x000001a5 0xa0 &lt;RST_CLK_GetClocksFreq+160>:       0x000001a7      0x00000000      0x00000000      0x000001a9 0xb0 &lt;RST_CLK_GetClocksFreq+176>:       0x000001ab      0x000001ad      0x000001af      0x000001b1<\/code><\/pre>\n<\/div>\n<\/details>\n<p> \u0422\u0430\u043a \u043a\u0430\u043a \u0442\u0430\u0431\u043b\u0438\u0446\u0430 &#8212; \u044d\u0442\u043e \u0432\u043f\u043e\u043b\u043d\u0435 \u0441\u0435\u0431\u0435 \u0441\u0438\u043c\u0432\u043e\u043b \u043c\u043e\u0436\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c  <\/p>\n<pre><code>(gdb) x\/48 __Vectors<\/code><\/pre>\n<p>\u0412\u044b\u0432\u0435\u0434\u0435\u0442 \u0442\u043e\u0436\u0435 \u0441\u0430\u043c\u043e\u0435.<\/p>\n<p>\u041f\u043e\u0447\u0435\u043c\u0443 48? 32 \u0432\u043d\u0435\u0448\u043d\u0438\u0445 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f + \u0430\u0434\u0440\u0435\u0441 \u0432\u0435\u0440\u0448\u0438\u043d\u044b \u0441\u0442\u0435\u043a\u0430 + 6 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0445 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439 + 9 \u0437\u0430\u0440\u0435\u0437\u0435\u0440\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043f\u043e\u043b\u0435\u0439.<\/p>\n<p>\u0417\u0430\u043c\u0435\u0442\u0438\u043c, \u0447\u0442\u043e \u043d\u0430\u0448\u0435 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0435 \u043e\u0442 \u0442\u0430\u0439\u043c\u0435\u0440\u0430 (TIMER1_IRQHandler) \u2013 \u044d\u0442\u043e IRQ14. \u0422.\u0435. (16 + 14) * 4 = 120(\u0432 \u0434\u0435\u0441) \u0438\u043b 0x78. \u0427\u0442\u043e \u043b\u0435\u0436\u0438\u0442 \u043f\u043e \u044d\u0442\u043e\u043c\u0443 \u0430\u0434\u0440\u0435\u0441\u0443?<\/p>\n<pre><code>(gdb) x\/ 0x78 0x78 &lt;RST_CLK_GetClocksFreq+120>:       0x0000083d<\/code><\/pre>\n<p> \u0410 \u043a\u0443\u0434\u0430 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442?<\/p>\n<pre><code>(gdb) x 0x0000083d 0x83d &lt;TIMER1_IRQHandler>:      0x8ff000b5<\/code><\/pre>\n<p>\u0415\u0441\u0442\u044c! \u0422\u043e \u0441\u0430\u043c\u043e\u0435 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0438\u0441\u043a\u0430\u043b\u0438. <\/p>\n<p>\u041f\u043e\u0434\u043e\u0431\u043d\u043e\u0435 \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0449\u0443\u0447\u0438\u0442\u044c \u0438\u0437 \u0442\u0430\u0431\u043b\u0438\u0446\u044b. \u041f\u043e\u043b\u0447\u0443\u0430\u0447\u0435\u0442\u0441\u044f \u0441\u0442\u0440\u043e\u043a\u0430 0x70 &lt;RST_CLK_GetClocksFreq+112> \u0441\u0442\u043e\u043b\u0431\u0435\u0446 3, \u0442.\u043a. 1 \u0441\u043b\u043e\u0432\u043e = 4 \u0431\u0430\u0439\u0442\u0430. \u041a\u0441\u0442\u0430\u0442\u0438, \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u044d\u0442\u043e \u0432\u0441\u0435 \u043f\u0440\u0438\u0435\u043c\u0440\u043d\u043e \u0442\u0430\u043a:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/eee\/10c\/8a2\/eee10c8a22bb35cb1b0f4c30a46ab400.png\" width=\"806\" height=\"212\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/eee\/10c\/8a2\/eee10c8a22bb35cb1b0f4c30a46ab400.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0412\u0435\u0440\u043d\u0435\u043c\u0441\u044f \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043d\u0430\u0437\u0430\u0434 \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043d\u0435\u043c \u0432\u0441\u0435 \u0442\u043e\u0436\u0435 \u0441\u0430\u043c\u043e\u0435, \u043d\u043e \u0432 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043a\u0435. \u0413\u043b\u044f\u043d\u0435\u043c \u0442\u0430\u0431\u043b\u0438\u0446\u0443.<\/p>\n<pre><code>(gdb) x\/48 0<\/code><\/pre>\n<p>\u041e\u0441\u0442\u0430\u043b\u0430\u0441\u044c \u043d\u0435\u0438\u0437\u043c\u0435\u043d\u043d\u043e\u0439, \u0447\u0442\u043e, \u043d\u0430\u0432\u0435\u0440\u043d\u043e\u0435 \u0438 \u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043b\u043e \u043e\u0436\u0438\u0434\u0430\u0442\u044c, \u0432\u0435\u0434\u044c \u0444\u043b\u0435\u0448 \u043d\u0435 \u043f\u0440\u043e\u0448\u0438\u0432\u0430\u043b\u0430\u0441\u044c.<\/p>\n<p> \u0410 \u0447\u0442\u043e \u043b\u0435\u0436\u0438\u0442 \u043f\u043e<\/p>\n<pre><code>(gdb) x 0x0000083d 0x83d:  0x8ff000b5<\/code><\/pre>\n<p>\u0421\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0442\u043e, \u0447\u0442\u043e \u0438 \u0431\u044b\u043b\u043e, \u043d\u043e \u0431\u0435\u0437 \u0441\u0438\u043c\u0432\u043e\u043b\u0430.<\/p>\n<details class=\"spoiler\">\n<summary>\u0417\u0430\u043c\u0435\u0442\u0438\u043b \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0438 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0438 \u0441\u0442\u0430\u0442\u044c\u0438<\/summary>\n<div class=\"spoiler__content\">\n<p>\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0442\u0435\u043f\u0435\u0440\u044c \u044d\u0442\u043e \u043e\u0442\u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e (\u0438\u0431\u043e \u0444\u043b\u0435\u0448 \u043f\u0440\u043e\u0448\u0438\u0442\u0430 \u0442\u0430\u043a\u043e\u0439 \u0436\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043e\u0439, \u0447\u0442\u043e \u0438 \u0432 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043a\u0435, \u043d\u043e \u043c\u044b &#171;\u0437\u0430\u0439\u0434\u0435\u043c&#187; \u043d\u0435 \u0432 \u0442\u043e\u0442 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a, \u0447\u0442\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u043b\u0438, \u0430 \u0432 \u0442\u043e\u0442, \u0447\u0442\u043e \u043f\u0440\u043e\u0448\u0438\u0442). \u0414\u043b\u044f \u0447\u0438\u0441\u0442\u043e\u0442\u044b \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430 \u043b\u0443\u0447\u0448\u0435 \u043e\u0447\u0438\u0441\u0442\u0438\u0442\u044c \u0444\u043b\u0435\u0448\u043a\u0443.<\/p>\n<\/div>\n<\/details>\n<details class=\"spoiler\">\n<summary>\u0410 \u0433\u043b\u044f\u043d\u0435\u043c \u0442\u0435\u043f\u0435\u0440\u044c \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0447\u0435\u0440\u0435\u0437 \u0441\u0438\u043c\u0432\u043e\u043b<\/summary>\n<div class=\"spoiler__content\">\n<pre><code>(gdb) x\/48 __Vectors 0x20100000 &lt;__Vectors>: 0x20002068      0x20100165      0x2010016d      0x2010016f 0x20100010:     0x00000000      0x00000000      0x00000000      0x00000000 0x20100020:     0x00000000      0x00000000      0x00000000      0x20100171 0x20100030:     0x00000000      0x00000000      0x20100173      0x20100175 0x20100040:     0x20100177      0x20100179      0x2010017b      0x2010017d 0x20100050:     0x2010017f      0x20100181      0x20100183      0x20100185 0x20100060:     0x20100187      0x20100189      0x2010018b      0x2010018d 0x20100070:     0x2010018f      0x20100191      0x2010083d      0x20100195 0x20100080:     0x20100197      0x20100199      0x2010019b      0x2010019d 0x20100090:     0x2010019f      0x201001a1      0x201001a3      0x201001a5 0x201000a0:     0x201001a7      0x00000000      0x00000000      0x201001a9 0x201000b0:     0x201001ab      0x201001ad      0x201001af      0x201001b1<\/code><\/pre>\n<\/div>\n<\/details>\n<p>\u0415\u0441\u0442\u044c \u0440\u043e\u0434\u043d\u0430\u044f, \u043f\u0440\u0438\u0447\u0435\u043c \u043d\u0430\u0448\u0435 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0435 \u0442\u0443\u0446 \u043e\u043f\u0438\u0441\u0430\u043d\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e. \u041e\u0441\u0442\u0430\u043b\u043e\u0441\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u0435\u0435 \u0432\u043e \u0444\u043b\u0435\u0448\u0443. \u041a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e \u0447\u0438\u0441\u0442\u044b\u0445 \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432 \u044f \u043d\u0435 \u0437\u043d\u0430\u044e, \u0437\u0430\u0442\u0440\u0430\u0433\u0438\u0432\u0430\u0442\u044c \u0444\u043b\u0435\u0448\u043a\u0443 \u043f\u0440\u0438\u0434\u0435\u0442\u0441\u044f \u044d\u043d\u0438\u0432\u0435\u0439.<\/p>\n<h2>\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0440\u044b\u0432\u043e\u0447\u0435\u043a<\/h2>\n<p>\u0415\u0441\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432 \u0434\u043e\u0431\u0438\u0442\u044c\u0441\u044f \u0436\u0435\u043b\u0430\u0435\u043c\u043e\u0433\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430, \u043d\u043e \u0432\u043e\u0442 \u044d\u0442\u043e\u0442 \u043c\u043d\u0435 \u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f \u0431\u043e\u043b\u044c\u0448\u0435 \u0432\u0441\u0435\u0445: \u043f\u0440\u043e\u0448\u0438\u0442\u044c \u0432\u043e \u0444\u043b\u0435\u0448\u043a\u0443 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442\u044c \u043f\u043e \u043d\u0443\u0436\u043d\u043e\u043c\u0443 \u0430\u0434\u0440\u0435\u0441\u0443 \u0432 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438.<\/p>\n<details class=\"spoiler\">\n<summary>\u0421\u043e\u0437\u0434\u0430\u0435\u043c \u043d\u043e\u0432\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0441\u043f\u043e\u043b\u0430\u0433\u0430\u0442\u044c\u0441\u044f \u0432\u043e \u0444\u043b\u0435\u0448<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"cpp\">#define READWD(x)  (*((volatile uint32_t *)(x))) typedef void ( *fUserIrptHandler )( void ); int main() {    while(1){} }   void TIMER1_IRQHandler() {   volatile uint32_t addr = READWD( 0x20100078 );  fUserIrptHandler funcInRAM = ( fUserIrptHandler )( addr ); funcInRAM();  } <\/code><\/pre>\n<\/div>\n<\/details>\n<p>\u0412\u0441\u0435 \u043f\u0440\u0435\u0434\u0435\u043b\u044c \u043f\u0440\u043e\u0441\u0442\u043e. \u041f\u0440\u0438 \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u043d\u0438\u0438 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f, \u043f\u043e \u0442\u0430\u0431\u043b\u0438\u0446\u0435 \u043f\u043e\u043f\u0430\u0434\u0435\u043c \u0432 \u0442\u043e\u0442 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043b\u0435\u0436\u0438\u0442 \u0432\u043e \u0444\u043b\u0435\u0448. \u0412 \u043d\u0435\u043c \u0436\u0435 \u043c\u044b \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u043a \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u043c\u0443 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0443, \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u043d\u043e\u043c\u0443 \u0443\u0436\u0435 \u0432 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438. \u0422\u0430\u043a\u0430\u044f \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u043c\u0430\u0442\u0440\u0435\u0448\u043a\u0430.<\/p>\n<p>\u0421\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e\u0435, \u0442\u0430\u043a \u0447\u0442\u043e \u0434\u043b\u044f \u0440\u0430\u0441\u0447\u0435\u0442\u0430 \u043d\u0435 \u0442\u044f\u0436\u043a\u043e: \u0421\u0442\u0430\u0440\u0442\u043e\u0432\u044b\u0439 \u0430\u0434\u0440\u0435\u0441 \u043f\u0430\u043c\u044f\u0442\u0438 (0x20100000) + \u0441\u0434\u0432\u0438\u0433 \u0434\u043b\u044f \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f (0x78).<\/p>\n<p>\u041f\u0440\u043e\u0448\u0438\u0432\u0430\u0435\u043c \u0434\u0430\u043d\u043d\u0443\u044e \u0444\u043b\u0435\u0448 \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043e\u0439. \u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0442\u0443 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443, \u0447\u0442\u043e \u0441 \u0442\u0430\u0439\u043c\u0435\u0440\u043e\u043c \u0438\u0437 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439. Baldezh.<\/p>\n<h2>\u0418\u0442\u043e\u0433\u043e<\/h2>\n<p>\u0414\u0430, \u0441\u043e\u0432\u0441\u0435\u043c \u043e\u0431\u043e\u0439\u0442\u0438\u0441\u044c \u0431\u0435\u0437 \u0444\u043b\u0435\u0445\u0438 \u043d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c, \u043d\u043e \u0432\u0441\u0435\u0433\u0434\u0430 \u043d\u0443\u0436\u043d\u043e \u0438\u0441\u043a\u0430\u0442\u044c \u043f\u043b\u044e\u0441\u044b:<\/p>\n<ul>\n<li>\n<p>\u0415\u0441\u043b\u0438 \u0442\u0430\u043a\u043e\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0435\u0441\u0442\u044c \u0433\u0443\u0440\u0443 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u043e\u0434\u0441\u043a\u0430\u0436\u0435\u0442 \u043e \u043d\u0435\u043c \u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438 &#8212; \u0431\u0443\u0434\u0443 \u0440\u0430\u0434;<\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u0433\u0440\u0443\u0437\u0438\u043b\u0438\u0441\u044c \u0432\u043e \u0432\u043d\u0443\u0442\u0440\u044f\u043d\u043a\u0443 \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u0440\u043e\u0446\u0430, \u044d\u0442\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u043e;<\/p>\n<\/li>\n<li>\n<p>\u0412\u0441\u0435-\u0442\u0430\u043a\u0438 \u043f\u0440\u043e\u0448\u0438\u0442\u044c \u043c\u043e\u0436\u043d\u043e 1 \u0440\u0430\u0437 \u0444\u043b\u0435\u0448\u043a\u0443 \u043d\u0443\u0436\u043d\u044b\u043c\u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c\u0438 \u0438 \u0443\u0439\u043c\u0443 \u0440\u0430\u0437 \u043e\u0442\u043b\u0430\u0436\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043a\u0435, \u043d\u0435 \u043a\u043e\u0446\u0430\u044f \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043a\u0443. \u0415\u0441\u0442\u044c \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u0442\u0440\u0430\u0431\u043b: \u0435\u0441\u043b\u0438 \u0432\u043e \u0444\u043b\u0435\u0448\u043a\u0435 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0448\u0438\u0442 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a, \u0430 \u0432 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043a\u0435 \u043c\u044b \u0435\u0433\u043e \u043d\u0435 \u0441\u0434\u0435\u043b\u0430\u0435\u043c &#8212; \u0431\u0443\u0434\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f \u043d\u0435 \u0442\u0443\u0434\u0430, \u043a\u0443\u0434\u0430 \u043d\u0430\u0434\u043e &#8212; \u0430 \u044d\u0442\u043e \u0431\u0435\u0434\u0430.<\/p>\n<\/li>\n<\/ul>\n<p>\u0421\u043f\u0430\u0441\u0438\u0431\u043e, \u043d\u0430\u0434\u0435\u044e\u0441\u044c \u043a\u043e\u043c\u0443-\u0442\u043e \u0441\u0442\u0430\u0442\u044c\u044f \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \ud83d\ude42<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"v-portal\" style=\"display:none;\"><\/div>\n<\/div>\n<p> <!----> <!----><br \/> \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\/post\/657533\/\"> https:\/\/habr.com\/ru\/post\/657533\/<\/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_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<h2>\u041f\u0440\u0435\u0430\u043c\u0431\u0443\u043b\u0430<\/h2>\n<p>\u0418\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u0432\u0442\u043e\u0440\u0430\u044f \u0433\u043b\u0430\u0432\u0430\u0437\u0430\u0434\u0443\u043c\u044b\u0432\u0430\u043b\u0430\u0441\u044c \u0442\u043e\u043b\u044c\u043a\u043e, \u043a\u0430\u043a \u0448\u043f\u0430\u0440\u0433\u0430\u043b\u043a\u0430 \u043f\u043e \u0440\u0430\u0431\u043e\u0442\u0435 \u0438\u0437 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438, \u043d\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u0438 \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0442\u044c\u0441\u044f \u0432 \u044d\u0442\u043e\u043c \u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u0442\u0440\u0443\u0434\u043d\u043e. \u041e\u0441\u043d\u043e\u0432\u043d\u0430\u044f &#171;\u0437\u0430\u043f\u0430\u0440\u0430&#187; \u043c\u043e\u0436\u0435\u0442 \u043d\u0430\u0441\u0442\u0438\u0433\u043d\u0443\u0442\u044c \u043d\u0435\u0441\u0432\u0435\u0434\u0443\u0449\u0435\u0433\u043e \u0438\u043c\u0435\u043d\u043d\u043e \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f\u043c\u0438. \u0421\u043e\u0431\u0441\u043d\u0430, \u0440\u0435\u0448\u0435\u043d\u043e \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0438\u0442\u044c.<\/p>\n<p>\u0421\u0442\u0435\u043a: <\/p>\n<ul>\n<li>\n<p>\u041e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u0430\u044f \u043f\u043b\u0430\u0442\u0430 <a href=\"https:\/\/ldm-systems.ru\/product\/20103\" rel=\"noopener noreferrer nofollow\">LDM-HELPER-K1986BE1QI-FULL<\/a>;<\/p>\n<\/li>\n<li>\n<p>\u041c\u041a <a href=\"https:\/\/ldm-systems.ru\/product\/19008\" rel=\"noopener noreferrer nofollow\">K1986BE1QI<\/a>(\u043d\u043e \u0432\u0441\u0435 \u043f\u0430\u043a\u0438 \u0438 \u0442\u0434. \u044e\u0437\u0430\u044e 1986\u0412\u04151\u0422 \u0438\u0431\u043e <s>\u0442\u0435 \u0436\u0435 \u044f\u0439\u0446\u0430, \u0442\u043e\u043b\u044c\u043a\u043e \u0441 \u0431\u043e\u043a\u0443<\/s> \u0434\u0430\u0436\u0435 \u0434\u0430\u0442\u0430\u0448\u0438\u0442 1 \u043d\u0430 \u0446\u0435\u043b\u0443\u044e \u043b\u0438\u043d\u0435\u0439\u043a\u0443);<\/p>\n<\/li>\n<li>\n<p>\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430\u0442\u043e\u0440 <a href=\"https:\/\/www.olimex.com\/Products\/ARM\/JTAG\/ARM-USB-OCD-H\/\" rel=\"noopener noreferrer nofollow\">ARM-USB-OCD-H<\/a>;<\/p>\n<\/li>\n<li>\n<p>IDE Keil uVison 5;<\/p>\n<\/li>\n<li>\n<p>Open OCD.<\/p>\n<\/li>\n<\/ul>\n<details class=\"spoiler\">\n<summary>\u041e\u0444\u0444\u0442\u043e\u043f<\/summary>\n<div class=\"spoiler__content\">\n<p>&#171;RAM &amp; Interruptions&#187; \u043d\u0435 \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e &#171;\u042f \u0443\u043c\u0435\u044e \u043f\u0438\u0441\u0430\u0442\u044c \u043f\u043e \u0431\u0443\u0440\u0436\u0443\u0439\u0441\u043a\u0438&#187;, \u0430 \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e &#171;\u0420\u0430\u0437\u043c\u0435\u0440 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0435\u0432\u044b\u0448\u0430\u0442\u044c 120 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432&#187; \u0438 &#171;\u041e\u0442\u043b\u0430\u0434\u043a\u0430 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439 \u0432 \u043e\u043f\u0440\u0435\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438&#187; \u043d\u0435 \u043b\u0435\u0437\u0435\u0442. \u041d\u0443, \u043a\u0430\u043a \u0433\u043e\u0432\u043e\u0440\u0438\u043b \u043f\u0440\u0435\u043f\u043e\u0434 \u043f\u043e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0442\u0438\u043a\u0435: &#171;\u042d\u0442\u043e \u043f\u043e \u043c\u043e\u043b\u043e\u0434\u043e\u0441\u0442\u0438 \u043a\u0430\u0436\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u043d\u0435 \u0432\u043b\u0430\u0437\u0438\u0442&#187;<\/p>\n<\/div>\n<\/details>\n<h2>\u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430 \u043a \u0440\u0430\u0431\u043e\u0442\u0435<\/h2>\n<p>\u0412 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0435, \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430 \u043d\u0438\u0447\u0435\u043c \u043d\u0435 \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u043e\u0442 <a href=\"https:\/\/habr.com\/ru\/post\/654957\/\" rel=\"noopener noreferrer nofollow\">\u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0433\u043e \u043f\u043e\u0441\u0442\u0430<\/a>, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0442\u044c\u0441\u044f \u043b\u0438\u0448\u043d\u0438\u0439 \u0440\u0430\u0437 \u043d\u0435 \u0431\u0443\u0434\u0435\u043c.<\/p>\n<h2>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 Keil \u0434\u043b\u044f \u043b\u0438\u043d\u043a\u043e\u0432\u043a\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0432 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u0443\u044e \u043f\u0430\u043c\u044f\u0442\u044c<\/h2>\n<p>\u0414\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442 \u043f\u043e\u0434 1986BE1T (\u0438 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e) \u0434\u043b\u044f \u043e\u0442\u043b\u0430\u0434\u043a\u0438 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e OLIMEX ARM-USB-OCD-H (\u0438 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e) \u0438\u0437 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430\u043c\u0438 \u0441\u0440\u0435\u0434\u044b Keil uVision 5 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0434\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 keil (<a href=\"https:\/\/habr.com\/ru\/post\/654957\/\" rel=\"noopener noreferrer nofollow\">\u0441\u043c\u043e\u0442\u0440\u0438 \u0432\u0441\u0435 \u0442\u043e\u0442 \u0436\u0435 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439 \u043f\u043e\u0441\u0442<\/a>).  <\/p>\n<figure class=\"float bordered full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u043f\u0440\u043e\u0435\u043a\u0442 \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u043d, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043a\u0430\u043a-\u0442\u043e \u043e\u0431\u044a\u044f\u0441\u043d\u0438\u0442\u044c \u043b\u0438\u043d\u043a\u0435\u0440\u0443, \u0447\u0442\u043e \u0438\u043c\u0435\u043d\u043d\u043e \u043c\u044b \u0445\u043e\u0442\u0438\u043c. \u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u0433\u0434\u0435 \u0438 \u043a\u0430\u043a \u044d\u0442\u043e \u0434\u0435\u043b\u0430\u0442\u044c. \u0415\u0441\u043b\u0438 \u0436\u0430\u043c\u043a\u043d\u0443\u0442\u044c \u043f\u0440\u0430\u0432\u043e\u0439 \u043a\u043d\u043e\u043f\u043a\u043e\u0439 \u043f\u043e &#171;target&#187; \u0432 \u0434\u0435\u0440\u0435\u0432\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u043c\u043e\u0436\u043d\u043e \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u043e\u043f\u0446\u0438\u0438 \u2013 \u0437\u0430\u0445\u043e\u0434\u0438\u043c \u0442\u0443\u0434\u0430.<\/p>\n<p>\u0421 \u00abOutput\u00bb \u0432\u0441\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u2013 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043d\u0430\u0448\u0438\u0445 \u0446\u0435\u043b\u0435\u0439 \u2013 \u044d\u0442\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0439 \u0444\u043b\u0430\u0433 \u00abCreate Executable\u00bb.<\/p>\n<p>\u00abTarget\u00bb \u0438 \u00abLinker\u00bb \u0436\u0435 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0431\u043e\u043b\u0435\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b. \u041d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u044d\u0442\u0438\u0445 \u0432\u043a\u043b\u0430\u0434\u043e\u043a \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u0433\u043e\u0442\u043e\u0432\u044b\u0435 \u0441\u043a\u0440\u0438\u043f\u0442\u044b \u0434\u043b\u044f \u043b\u0438\u043d\u043a\u0435\u0440\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0442\u0430\u043a \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u043c\u044b\u0445 \u00abScatter files\u00bb. \u0427\u0442\u043e \u044d\u0442\u043e \u0437\u0430 \u0441\u043a\u0430\u0442\u0435\u0440\u0442\u044c \u0442\u0430\u043a\u0430\u044f \u043e\u0431\u044a\u044f\u0441\u043d\u044f\u0442\u044c \u043d\u0435 \u0431\u0443\u0434\u0435\u043c, \u0435\u0441\u0442\u044c <a href=\"https:\/\/developer.arm.com\/documentation\/dui0474\/m\/scatter-file-syntax\" rel=\"noopener noreferrer nofollow\">\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f.<\/a><\/p>\n<figure class=\"float bordered full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u041d\u0430 \u0432\u043a\u043b\u0430\u0434\u043a\u0435 \u00abLinker\u00bb \u043d\u0443\u0436\u043d\u043e \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0444\u043b\u0430\u0433 \u00abUse Memory Layout from Target Dialog\u00bb &#8212; \u044d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u0430\u0432\u0442\u043e\u0433\u0435\u043d\u0435\u0440\u0438\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442\u044b \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u043c\u044b \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u043c \u0432\u043a\u043b\u0430\u0434\u043a\u0443 \u00abTarget\u00bb. <\/p>\n<p>\u0421\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u043a &#171;Target&#187;.  <\/p>\n<figure class=\"float full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0427\u0442\u043e \u0432\u0438\u0434\u0438\u043c \u0442\u0443\u0442 \u043f\u043e\u043b\u0435\u0437\u043d\u043e\u0433\u043e \u0434\u043b\u044f \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u043e\u0439 \u0446\u0435\u043b\u0438, \u0442\u0430\u043a \u044d\u0442\u043e 2 \u0431\u043b\u043e\u043a\u0430 \u0441 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435\u043c \u043f\u0430\u043c\u044f\u0442\u0438 (\u043f\u0440\u0438\u0447\u0435\u043c \u043f\u0440\u0435\u0434\u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u043d\u044b\u0445! \u0421\u043f\u0430\u0441\u0438\u0431\u043e \u043f\u0430\u043a\u0430\u043c keil-\u0430.).  <\/p>\n<p>\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a\u0430\u044f \u0441\u043a\u0430\u0442\u0435\u0440\u0442\u044c \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435. \u0412 \u043f\u0430\u043f\u043a\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0435\u0441\u0442\u044c .\/RTE\/Device\/MDR1986BE1T, \u0430 \u0442\u0430\u043c \u0444\u0430\u0439\u043b MDR1986VE1T.sct. \u042d\u0442\u043e \u0434\u0435\u0444\u043e\u043b\u0442\u043d\u044b\u0439 \u0441\u043a\u0440\u0438\u043f\u0442. \u0422\u0430\u043a \u043a\u0430\u043a \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u043d\u0435 \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u043b\u043e\u0441\u044c \u0431\u0443\u0434\u0435\u0442 \u044e\u0437\u0430\u0442\u044c\u0441\u044f \u0438\u043c\u0435\u043d\u043d\u043e \u043e\u043d.<\/p>\n<details class=\"spoiler\">\n<summary>MDR1986VE1T.sct<\/summary>\n<div class=\"spoiler__content\">\n<pre><code>; ****************************************************************************** ; ************* Scatter-Loading Description File for MDR1986VE1T *************** ; ******************************************************************************  LR_IROM1 0x00000000 0x00020000  {      ; load region size_region     ER_IROM1 0x00000000 0x00020000  {  ; load address = execution address         *.o (RESET, +First)         *(InRoot$$Sections)         .ANY (+RO)         .ANY (+XO)     }     RW_IRAM1 0x20000000 0x00008000  {  ; RW data         .ANY (+RW +ZI)     }     RW_IRAM2 0x20100000 0x00004000  {         .ANY (+RW +ZI)     } }<\/code><\/pre>\n<\/div>\n<\/details>\n<p>\u041d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0430\u043d\u0430\u043b\u0438\u0437 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e \u043a\u043e\u0434 \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u0432 ER_IROM1. \u041f\u0440\u0430\u0432\u0434\u0430 \u0441\u0435\u0439\u0447\u0430\u0441 \u0442\u0430\u043c \u0432\u0441\u0435 \u0441\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043e \u0442\u0430\u043a, \u0447\u0442\u043e\u0431\u044b \u0433\u0440\u0443\u0437\u0438\u0442\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u0432\u043e \u0444\u043b\u0435\u0448\u0443. \u0411\u0443\u0434\u0435\u043c \u043c\u0435\u043d\u044f\u0442\u044c.  <\/p>\n<p>\u041c\u043e\u0436\u043d\u043e, \u043a\u043e\u043d\u0447\u0435\u043d\u043e, \u043f\u0440\u0430\u0432\u0438\u0442\u044c scatter \u0440\u0443\u043a\u0430\u043c\u0438, \u043d\u043e \u043f\u0440\u043e\u0449\u0435 \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u043c\u0438. \u0418\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u043b\u0438\u043d\u043a\u0443\u044e\u0442\u0441\u044f \u0432 \u043f\u0435\u0440\u0432\u044b\u0439 \u0440\u0430\u0437\u0434\u0435\u043b IROM \u043f\u0430\u043c\u044f\u0442\u0438. \u0422.\u0435. \u0438\u0437\u043c\u0435\u043d\u0438\u0432 \u043f\u043e\u043b\u044f \u00abStart\u00bb \u0438 \u00abSize\u00bb IROM1 \u043d\u0430 \u0432\u043a\u043b\u0430\u0434\u043a\u0435 \u00abTarget\u00bb \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043d\u0443\u0436\u043d\u0443\u044e \u043b\u0438\u043d\u043a\u043e\u0432\u043a\u0443. \u0412\u0438\u0434\u0438\u043c, \u0447\u0442\u043e \u0440\u0430\u0437\u0434\u0435\u043b\u043e\u0432 IRAM \u0443 \u043d\u0430\u0441 2. <strong>\u041d\u043e.<\/strong> \u0427\u0438\u0442\u0430\u044f \u0434\u0430\u0442\u0430\u0448\u0438\u0442 \u043d\u0430\u0442\u044b\u043a\u0430\u0435\u043c\u0441\u044f \u043d\u0430 \u0444\u0440\u0430\u0437\u0443: <em>\u00abAHB-Lite   \u2013 \u0448\u0438\u043d\u0430   \u0432\u044b\u0431\u043e\u0440\u043a\u0438   \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439   \u0438   \u0434\u0430\u043d\u043d\u044b\u0445   \u0438\u0437   \u0432\u043d\u0435\u0448\u043d\u0435\u0433\u043e   \u0430\u0434\u0440\u0435\u0441\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430\u00bb<\/em> \u0438, \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u043e\u043a\u0443\u0440\u0438\u0432 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043f\u043e\u043d\u0438\u043c\u0430\u0435\u043c, \u0447\u0442\u043e \u044d\u0442\u0430 \u0448\u0438\u043d\u0430 \u2013 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0434\u043e\u0442\u044f\u043d\u0443\u0442\u044c\u0441\u044f \u0434\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 \u0432 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438. \u0421\u043c\u043e\u0442\u0440\u0438\u043c \u0430\u0434\u0440\u0435\u0441\u0430 \u0438 \u043f\u043e\u043d\u0438\u043c\u0430\u0435\u043c, \u0447\u0442\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0432 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 \u0434\u043e\u0437\u0432\u043e\u043b\u0435\u043d\u043e \u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0441 0x20100000.<\/p>\n<figure class=\"float full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0418\u0442\u043e\u0433\u043e: \u043a\u043e\u043f\u0438\u0440\u0443\u0435\u043c \u043f\u043e\u043b\u044f \u0438\u0437 IRAM2 \u0432 IROM1 \u0438 \u0440\u0435\u0431\u0438\u043b\u0434\u0438\u043c.<\/p>\n<details class=\"spoiler\">\n<summary> \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0438\u0440\u0443\u044e\u0449\u0438\u0439 scatter \u0444\u0430\u0439\u043b. \u0411\u0443\u0434\u0435\u0442 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u044c\u0441\u044f .\/Objects\/projectName.sct <\/summary>\n<div class=\"spoiler__content\">\n<pre><code>; ************************************************************* ; *** Scatter-Loading Description File generated by uVision *** ; *************************************************************  LR_IROM1 0x20100000 0x00004000  {    ; load region size_region   ER_IROM1 0x20100000 0x00004000  {  ; load address = execution address    *.o (RESET, +First)    *(InRoot$$Sections)    .ANY (+RO)    .ANY (+XO)   }   RW_IRAM1 0x20000000 0x00008000  {  ; RW data    .ANY (+RW +ZI)   } }<\/code><\/pre>\n<\/div>\n<\/details>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0432\u0438\u0434\u043d\u043e, \u0447\u0442\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0431\u0443\u0434\u0443\u0442 \u0440\u0430\u0441\u043f\u043e\u043b\u0430\u0433\u0430\u0442\u044c\u0441\u044f \u0432 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438, \u043f\u0440\u0438\u0447\u0435\u043c \u0438\u043c\u0435\u043d\u043d\u043e \u0432 \u0442\u043e\u0439, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0434\u043b\u044f \u043d\u0438\u0445 \u0438 \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0430. \u041e\u0442\u043b\u0438\u0447\u043d\u043e! \u041f\u043e\u0440\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c.<\/p>\n<h3>\u0417\u0430\u043f\u0443\u0441\u043a \u0432 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438<\/h3>\n<p>\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u043c \u043f\u0440\u043e\u0435\u043a\u0442 \u043f\u043e \u043e\u0431\u0440\u0430\u0437\u0443 \u0438 \u043f\u043e\u0434\u043e\u0431\u0438\u044e <a href=\"https:\/\/habr.com\/ru\/post\/654957\/\" rel=\"noopener noreferrer nofollow\">1 \u0447\u0430\u0441\u0442\u0438<\/a> \u0441\u0442\u0430\u0442\u044c\u0438. \u0418 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0430\u0434\u0440\u0435\u0441\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440:<\/p>\n<pre><code>(gdb) x main 0x20100aa8 &lt;main>:      0x25d95598<\/code><\/pre>\n<p>\u0422.\u0435. \u0430\u0434\u0440\u0435\u0441 \u0432\u0445\u043e\u0434\u0430 \u0432 main &#8212; 0x20100aa8, \u0447\u0442\u043e \u0432\u043f\u043e\u043b\u043d\u0435 \u0441\u0435\u0431\u0435 \u043f\u043e\u0445\u043e\u0436\u0435 \u043d\u0430 \u0442\u043e, \u0440\u0430\u0434\u0438 \u0447\u0435\u0433\u043e \u0432\u0441\u0435 \u044d\u0442\u043e \u0431\u044b\u043b\u043e \u0437\u0430\u0442\u0435\u044f\u043d\u043e.<\/p>\n<p>\u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u043f\u0440\u043e\u0441\u0442\u0435\u043d\u044c\u043a\u0443\u044e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443. \u041f\u0443\u0441\u0442\u044c \u043f\u043e \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044e \u0442\u0430\u0439\u043c\u0435\u0440\u0430 \u0437\u0430\u0436\u0436\u0435\u043c \u0434\u0438\u043e\u0434 \u043d\u0430 \u043f\u043b\u0430\u0442\u0435.<\/p>\n<p>\u0412\u043d\u0430\u0447\u0430\u043b\u0435 \u0431\u044b\u043b\u043e <s>\u0441\u043b\u043e\u0432\u043e<\/s> \u0442\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435. \u0421 \u044d\u0442\u043e\u0433\u043e \u0438 \u043d\u0430\u0447\u043d\u0435\u043c. \u0415\u0449\u0435 \u0441 \u043f\u0435\u0440\u0432\u044b\u0445 \u0434\u043d\u0435\u0439 \u0437\u043d\u0430\u043a\u043e\u043c\u0441\u0442\u0432\u0430 \u0441 \u041c\u0438\u043b\u0430\u043d\u0434\u0440\u043e\u0432\u0441\u043a\u0438\u043c\u0438 \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u044f\u043c\u0438 \u0431\u044b\u043b \u043d\u0430\u043f\u0438\u0441\u0430\u043d<a href=\"https:\/\/github.com\/JozeAlexandro\/setCoreClock1986BE.git\" rel=\"noopener noreferrer nofollow\"> \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0431\u043b\u043e\u0447\u043e\u043a<\/a>, \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0432 \u0431\u0443\u0434\u0443\u0449\u0438\u0445 \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u0445 \u043d\u0435 \u043f\u0430\u0440\u0438\u0442\u044c\u0441\u044f \u043f\u043e \u043f\u043e\u0432\u043e\u0434\u0443 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0447\u0430\u0441\u0442\u043e\u0442\u044b \u043f\u0440\u043e\u0446\u0430. \u0421\u0443\u0442\u044c: \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043e\u0442 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0433\u043e HSI, \u0440\u0430\u0437\u0440\u0435\u0448\u0430\u0435\u0442 \u0437\u0430\u0434\u0430\u0432\u0430\u0442\u044c \u0447\u0430\u0441\u0442\u043e\u0442\u044b \u043e\u0442 8 \u0434\u043e 128 \u041c\u0413\u0446. \u041f\u043e\u043a\u0430 \u0447\u0442\u043e \u044d\u0442\u043e\u0433\u043e \u0445\u0432\u0430\u0442\u0430\u043b\u043e. <\/p>\n<p>\u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u0431\u0443\u0434\u0435\u043c \u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0432 RAM. \u041a\u043e\u0434 \u0442\u0443\u043f, \u043f\u0440\u043e\u0441\u0442 \u0438, \u043d\u0430\u0434\u0435\u044e\u0441\u044c, \u043f\u043e\u043d\u044f\u0442\u0435\u043d. <\/p>\n<details class=\"spoiler\">\n<summary>main.c<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"cpp\">static void ledInit( void ); inline static void ledOn( void ) { MDR_PORTB->RXTX = 0; } inline static void ledOff( void ) { MDR_PORTB->RXTX = 1; } static void timerInit( void ); inline static void timerStart( void ) { MDR_TIMER1->CNTRL = 0x01; }  void TIMER1_IRQHandler( void );  int main( void ) {   \/\/ \u041e\u0441\u043d\u043e\u0432\u043d\u043e\u0435 \u0442\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435   freqHsiCpuSet( 8 );      \/\/ \u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0434\u0438\u043e\u0434\u0430   ledInit();      \/\/ \u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0442\u0430\u0439\u043c\u0435\u0440\u0430   timerInit();      \/\/ \u0421\u0442\u0430\u0440\u0442\u0443\u0435\u043c! \u042f \u0441\u043a\u0430\u0437\u0430\u043b\u0430 \u0441\u0442\u0430\u0440-\u0442\u0443-\u0435\u043c.   timerStart();      while(1) __NOP(); }  static void ledInit( void ) { MDR_RST_CLK->PER_CLOCK |= 1 &lt;&lt; 22;  PORT_InitTypeDef portLEDInitStruct; PORT_StructInit( &amp;portLEDInitStruct ); portLEDInitStruct.PORT_OE = PORT_OE_OUT; portLEDInitStruct.PORT_MODE = PORT_MODE_DIGITAL; portLEDInitStruct.PORT_SPEED = PORT_SPEED_SLOW; portLEDInitStruct.PORT_Pin = PORT_Pin_0; PORT_Init( MDR_PORTB, &amp;portLEDInitStruct );  ledOff(); }  static void timerInit( void ) { NVIC_EnableIRQ( TIMER1_IRQn );  \/\/ \u0420\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0442\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f TIMER1 MDR_RST_CLK->PER_CLOCK |= 1 &lt;&lt; 14;  \/\/ \u0420\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0442\u0430\u043a\u0442\u043e\u0432\u043e\u0439 \u0447\u0430\u0441\u0442\u043e\u0442\u044b \u043d\u0430 TIM1 MDR_RST_CLK->TIM_CLOCK |= 1 &lt; 24;   MDR_TIMER1->CNTRL = 0;   \/\/ \u041d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c \u0440\u0430\u0431\u043e\u0442\u0443 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u0441\u0447\u0435\u0442\u0447\u0438\u043a\u0430  \/\/ \u041d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 MDR_TIMER1->CNT = 0;   \/\/\u041f\u0440\u0435\u0434\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044c \u0447\u0430\u0441\u0442\u043e\u0442\u044b  MDR_TIMER1->PSG = 0;  \/\/ \u041e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u0447\u0435\u0442\u0430 MDR_TIMER1->ARR = 0x0F;   \/\/ \u0420\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u0438 CNT = ARR  MDR_TIMER1->IE = 1 &lt;&lt; 1; }  void TIMER1_IRQHandler( void ) { ledOn();  MDR_TIMER1->IE = 0; NVIC_DisableIRQ( TIMER1_IRQn ); }<\/code><\/pre>\n<\/div>\n<\/details>\n<p>\u0427\u0442\u043e \u043e\u0436\u0438\u0434\u0430\u0435\u0442\u0441\u044f? \u0410 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0441\u0440\u0430\u0437\u0443 \u0431\u0443\u0434\u0435\u0442 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043e \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0435 \u043e\u0442 \u0442\u0430\u0439\u043c\u0435\u0440\u0430. \u041e\u043a\u0435\u0439. \u0413\u0440\u0443\u0437\u0438\u043c \u0432 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043a\u0443. \u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c. <\/p>\n<p>\u0410\u043a\u043a\u0443\u0440\u0430\u0442\u043d\u044b\u0439 \u0432\u044b\u0432\u043e\u0434 \u00abContinuing.\u00bb \u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u0430, \u043d\u043e \u0434\u0438\u043e\u0434 \u043d\u0435 \u0433\u043e\u0440\u0438\u0442(<\/p>\n<h2>\u0412 \u0447\u0435\u043c \u0436\u0435, \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0434\u0435\u043b\u043e?<\/h2>\n<p>\u041f\u0440\u0438\u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c \u043f\u0440\u043e\u0440\u0433\u0430\u043c\u043c\u0443 \u0438 \u0443\u0432\u0438\u0434\u0438\u043c, <\/p>\n<pre><code>(gdb) &lt;Cntrl + c> Program received signal SIGINT, Interrupt. main () at main.c:29 29              while(1) __NOP();<\/code><\/pre>\n<p> &#8230; \u0447\u0442\u043e \u043c\u044b \u0432 \u0431\u0435\u0441\u043a\u043e\u043d\u0435\u0447\u043d\u043e\u043c \u0446\u0438\u043a\u043b\u0435 \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u044f.<\/p>\n<p>\u041f\u0435\u0440\u0432\u0430\u044f \u043c\u044b\u0441\u043b\u044c (\u043a\u043e\u043d\u0435\u0447\u043d\u043e \u0436\u0435, \u043f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u0432\u044b\u0440\u0443\u0433\u0430\u043b \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\/\u043e\u0442\u043b\u0430\u0434\u0447\u0438\u043a\/\u0441\u0440\u0435\u0434\u0443 \u0438 \u0442\u0434. \u0438 \u0442\u043f. \u0438\u0431\u043e \u0432\u0438\u043d\u043e\u0432\u0430\u0442 \u0422\u041e\u0427\u041d\u041e \u043d\u0435 \u0442\u044b) &#8212; \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043d\u0435 \u0442\u0430\u043a \u043f\u0440\u043e\u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u043b LED. \u041d\u0443, \u044d\u043d\u0438\u0432\u0435\u0439, \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0435 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0434\u043e\u043b\u0436\u043d\u043e, \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u0432 \u043d\u0435\u0433\u043e \u043f\u043e\u043f\u0430\u0441\u0442\u044c, \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0432 \u0442\u043e\u0447\u043a\u0443 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0430 \u0432 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0435 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f \u0442\u0430\u0439\u043c\u0435\u0440\u0430:<\/p>\n<pre><code>(gdb) b TIMER1_IRQHandler Breakpoint 2 at 0x20100192: TIMER1_IRQHandler. (2 locations)<\/code><\/pre>\n<p>\u041f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043c:<\/p>\n<pre><code>(gdb) monitor reset halt (gdb) load (gdb) c<\/code><\/pre>\n<p>\u041d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u043e\u0441\u044c( <\/p>\n<p>\u0413\u043b\u044f\u043d\u0435\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 \u0442\u0430\u0439\u043c\u0435\u0440\u0430. \u0421\u0447\u0435\u0442\u0447\u0438\u043a (\u0420\u0435\u0433\u0438\u0441\u0442\u0440 CNT) \u043b\u0435\u0436\u0438\u0442 \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443 0x40070000, \u0430 \u041e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0435 (\u0420\u0435\u0433\u0438\u0441\u0442\u0440 ARR) \u043f\u043e 0x40070000.<\/p>\n<pre><code>(gdb) x 0x40070000 0x40070000:     0x0000  (gdb) x 0x40070000 0x40070000:     0x0000<\/code><\/pre>\n<p>\u0422\u0430\u043a\u0438\u043c \u0436\u0435 \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0444\u043b\u0430\u0433\u0438 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439 \u0438 \u043f\u0440\u043e\u0447\u0435\u0435. \u0418, \u0441\u0443\u0434\u044f \u043f\u043e, \u0447\u0442\u043e \u0441\u0447\u0435\u0442\u0447\u0438\u043a \u0434\u043e\u0441\u0447\u0438\u0442\u0430\u043b \u0434\u043e \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u044f \u0438 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u044b (trust me i am an engineer) \u0432\u0441\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c. \u041d\u043e \u043d\u0435 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u043e.<\/p>\n<p>\u0410 \u0442\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u043f\u0440\u043e\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0432\u0441\u0435 \u0442\u043e\u0436\u0435 \u0441\u0430\u043c\u043e\u0435, \u043d\u043e \u0432\u043e \u0444\u043b\u0435\u0448\u0435. \u041f\u0440\u043e\u0432\u043e\u0434\u0438\u043c \u043d\u0435\u0445\u0438\u0442\u0440\u044b\u0435 \u043c\u0430\u043d\u0438\u043f\u0443\u043b\u044f\u0446\u0438\u0438 \u0441 \u0432\u043a\u043b\u0430\u0434\u043a\u043e\u0439 &#171;Target&#187;, \u0440\u0435\u0431\u0438\u043b\u0434\u0438\u043c, \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c.<\/p>\n<details class=\"spoiler\">\n<summary>\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u043b\u0438\u0441\u044c, \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043b\u0438\u0441\u044c \u2013 \u0432\u0441\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442. \u0418 \u0434\u0438\u043e\u0434 \u0433\u043e\u0440\u0438\u0442 \u0432 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0438 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0438\u0441\u044c.<\/summary>\n<div class=\"spoiler__content\">\n<pre><code>(gdb) c Continuing.  Breakpoint 1, main () at main.c:18 18              freqHsiCpuSet( 8 );  (gdb) c Continuing.  Breakpoint 2, TIMER1_IRQHandler () at main.c:77 77              ledOn(); (gdb) c Continuing.<\/code><\/pre>\n<\/div>\n<\/details>\n<p>\u0421\u0443\u0442\u044c \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u0432\u0435\u043a\u0442\u043e\u0440\u043e\u0432 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439 \u0432 \u0434\u0430\u043d\u043d\u044b\u0445 \u041c\u041a <strong>\u043d\u0435\u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u043c\u0430 \u0432 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0435<\/strong> \u0438 \u0440\u0430\u0441\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f \u043f\u043e <strong>\u043d\u0443\u043b\u0435\u0432\u043e\u043c\u0443 \u0430\u0434\u0440\u0435\u0441\u0443<\/strong>. \u0423\u0431\u0435\u0434\u0438\u043c\u0441\u044f, \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u0432 \u0444\u0430\u0439\u043b startup_MDR1986VE1T.S. \u0422\u0430\u043c \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u0430\u044f \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f: \u0441\u0442\u0435\u043a \u043f\u043e\u0438\u043d\u0442\u0435\u0440, \u0440\u0430\u0437\u043c\u0435\u0440\u044b \u043a\u0443\u0447\u0438, \u0441\u0442\u0435\u043a\u0430\u2026 \u041d\u043e \u0441\u0435\u0439\u0447\u0430\u0441 \u0431\u0443\u0434\u0435\u0442 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043e\u0432\u0430\u0442\u044c\u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u0432\u0435\u043a\u0442\u043e\u0440\u043e\u0432 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439.<\/p>\n<details class=\"spoiler\">\n<summary>startup_MDR1986VE1T (\u043a\u0443\u0441\u043e\u0447\u0435\u043a)<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"assembly\">; Vector Table Mapped to Address 0 at Reset                  AREA    RESET, DATA, READONLY                 EXPORT  __Vectors  __Vectors       DCD     __initial_sp                ; Top of Stack                 DCD     Reset_Handler               ; Reset Handler                 DCD     NMI_Handler                 ; NMI Handler                 DCD     HardFault_Handler           ; Hard Fault Handler                 DCD     0                           ; Reserved                 DCD     0                           ; Reserved                 DCD     0                           ; Reserved                 DCD     0                           ; Reserved                 DCD     0                           ; Reserved                 DCD     0                           ; Reserved                 DCD     0                           ; Reserved                 DCD     SVC_Handler                 ; SVCall Handler                 DCD     0                           ; Reserved                 DCD     0                           ; Reserved                 DCD     PendSV_Handler              ; PendSV Handler                 DCD     SysTick_Handler             ; SysTick Handler                  ; External Interrupts             <\/code><\/pre>\n<\/div>\n<\/details>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\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-331089","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/331089","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=331089"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/331089\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=331089"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=331089"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=331089"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}