{"id":226575,"date":"2014-06-21T20:06:03","date_gmt":"2014-06-21T16:06:03","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=226575"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=226575","title":{"rendered":"<span class=\"post_title\">Siemens SGold: I\/O \u0441\u043d\u0438\u0444\u0444\u0435\u0440<\/span>"},"content":{"rendered":"<div class=\"content html_format\">     \t<b>\u0421\u043d\u0438\u0444\u0444\u0435\u0440<\/b> \u2014 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u0430\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0434\u043b\u044f \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0438 \u043f\u0435\u0440\u0435\u0445\u0432\u0430\u0442\u0430 \u0441\u0435\u0442\u0435\u0432\u043e\u0433\u043e \u0442\u0440\u0430\u0444\u0438\u043a\u0430, \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0447\u0435\u0440\u0435\u0437 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b<br \/>  \u0438 \u043c\u043d\u043e\u0433\u043e\u0433\u043e \u0434\u0440\u0443\u0433\u043e\u0433\u043e. \u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u0442\u044c \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 (\u0447\u0442\u0435\u043d\u0438\u0435 \u0438 \u0437\u0430\u043f\u0438\u0441\u044c) \u0441 \u043f\u043e\u0440\u0442\u0430\u043c\u0438 \u0432\u0432\u043e\u0434\u0430-\u0432\u044b\u0432\u043e\u0434\u0430<br \/>  \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0430 \u043b\u0438\u043d\u0435\u0439\u043a\u0438 <b>Siemens SGold<\/b> \u0438 \u044f \u043f\u043e\u0441\u0442\u0430\u0440\u0430\u044e\u0441\u044c \u043e\u0431\u044a\u044f\u0441\u043d\u0438\u0442\u044c, \u043a\u0430\u043a \u044d\u0442\u043e \u0432\u0441\u0451 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442.<\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/getpro\/habr\/post_images\/941\/3bb\/1f9\/9413bb1f9b177406a5720ed4f99e071f.png\" alt=\"image\"\/><\/p>\n<p>  <a name=\"habracut\"><\/a><\/p>\n<h2>\u041f\u0440\u0435\u0434\u0438\u0441\u043b\u043e\u0432\u0438\u0435<\/h2>\n<p>  \u0423 \u043c\u043d\u043e\u0433\u0438\u0445 \u0441\u0440\u0430\u0437\u0443 \u0432\u043e\u043f\u0440\u043e\u0441 \u043e \u0446\u0435\u043b\u0435\u0441\u043e\u043e\u0431\u0440\u0430\u0437\u043d\u043e\u0441\u0442\u0438 \u0438 \u043f\u043e\u043b\u0435\u0437\u043d\u043e\u0441\u0442\u0438 \u0434\u0430\u043d\u043d\u043e\u0439 \u0437\u0430\u0442\u0435\u0438, \u0432\u0435\u0434\u044c \u044d\u0442\u0438 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u044b \u0434\u0430\u0432\u043d\u043e \u0443\u0441\u0442\u0430\u0440\u0435\u043b\u0438.<br \/>  \u0412\u043e-\u043f\u0435\u0440\u0432\u044b\u0445, \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0431\u0443\u0434\u0435\u043c \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0442\u044c \u0442\u0435\u043b\u0435\u0444\u043e\u043d \u043a\u0430\u043a \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0435\u043a\u043e\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0438\u043c\u0435\u0435\u0442 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 \u043d\u0430 \u0431\u0430\u0437\u0435 <b>ARM926EJ-S<\/b> (\u0431\u0435\u0437 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438) \u0438 \u043d\u0430\u043c \u0445\u043e\u0447\u0435\u0442\u0441\u044f \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0441\u0432\u043e\u044e \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0443 \u0434\u043b\u044f \u0441\u0432\u043e\u0438\u0445 \u043d\u0443\u0436\u0434, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435. \u0412\u043e-\u0432\u0442\u043e\u0440\u044b\u0445, \u043d\u0430\u0443\u0447\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0435\u0441!<\/p>\n<h2>\u0422\u0435\u043e\u0440\u0438\u044f<\/h2>\n<p>  \u0422\u0430\u043a-\u0441, \u0447\u0442\u043e \u043c\u044b \u0438\u043c\u0435\u0435\u043c? \u0410 \u043c\u044b \u0438\u043c\u0435\u0435\u043c \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 <b>PMB 8875 S-GoldLite<\/b> \u043d\u0430 \u0431\u0430\u0437\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 <s>Intel<\/s>, \u0442\u043e \u0435\u0441\u0442\u044c, <b>ARM9<\/b>. \u0418 \u043a\u0430\u043a \u0443 \u043b\u044e\u0431\u043e\u0433\u043e \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430, \u0432\u043d\u0443\u0442\u0440\u0438 \u043d\u0435\u0433\u043e \u0441\u0438\u0434\u044f\u0442 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0438 \u0433\u043e\u0442\u043e\u0432\u044b\u0435 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b, \u0442\u0430\u043a\u0438\u0435 \u043a\u0430\u043a <b>USART<\/b>, <b>SSC<\/b>, <b>I2C<\/b>, <b>PLL<\/b>, <b>RTC<\/b>, \u0442\u0430\u0439\u043c\u0435\u0440\u044b, \u043f\u0440\u043e\u0441\u0442\u0438\u0442\u0435 \u0437\u0430 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435, <b>EBU<\/b> (External Bus Unit), \u0438 \u043f\u0440\u043e\u0447\u0438\u0435 \u0441\u0442\u0440\u0430\u0448\u043d\u044b\u0435 \u0431\u0443\u0440\u0436\u0443\u0439\u0441\u043a\u0438\u0435 \u0430\u0431\u0431\u0440\u0435\u0432\u0438\u0430\u0442\u0443\u0440\u044b. <\/p>\n<h5>I\/O \u043f\u043e\u0440\u0442\u044b<\/h5>\n<p>  \u041a\u0430\u043a \u043e\u0442\u043c\u0435\u0447\u0430\u043b\u043e\u0441\u044c \u0440\u0430\u043d\u0435\u0435, \u0435\u0441\u0442\u044c \u043a\u0430\u043a\u0438\u0435-\u0442\u043e \u0442\u0430\u043c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0438 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b. \u0418 \u0432 4-\u0433\u0438\u0433\u0430\u0431\u0430\u0439\u0442\u043d\u043e\u043c (32 \u0431\u0438\u0442 \u0436\u0435) \u0430\u0434\u0440\u0435\u0441\u043d\u043e\u043c \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435 \u0438\u043c \u0443\u0434\u0435\u043b\u0435\u043d\u044b \u0441\u0432\u043e\u0438 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u044b. \u0414\u0430, \u0430\u0434\u0440\u0435\u0441\u043d\u043e\u0435 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u043d\u0430\u0448\u0435\u0433\u043e \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438 \u0440\u0430\u0437\u0431\u0438\u0442\u043e \u043d\u0430:<\/p>\n<p>  <b>0x00000000-0x00003FFF<\/b> \u2014 SRAM #1<br \/>  <b>0x00080000-0x00097FFF<\/b> \u2014 SRAM #2<br \/>  <b>0x00400000-0x0040FFFF<\/b> \u2014 BootROM<br \/>  <b>0xF0000000-0xFFFFFFFF<\/b> \u2014 \u041f\u043e\u0440\u0442\u044b \u0432\u0432\u043e\u0434\u0430\/\u0432\u044b\u0432\u043e\u0434\u0430, \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432<\/p>\n<p>  \u0410 \u0432\u043d\u0435\u0448\u043d\u044e\u044e \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u0443\u044e \u043f\u0430\u043c\u044f\u0442\u044c \u0438 ROM \u043c\u043e\u0436\u043d\u043e \u0432\u0441\u0443\u043d\u0443\u0442\u044c \u043d\u0430 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u044b\u0439 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0430\u0434\u0440\u0435\u0441\u043e\u043a c \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043f\u0440\u0435\u0441\u043b\u043e\u0432\u0443\u0442\u043e\u0433\u043e <b>EBU<\/b>.<\/p>\n<p>  \u0422\u0430\u043a \u0432\u043e\u0442, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0434\u043b\u044f \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 <b>USART0<\/b> \u0432\u044b\u0434\u0435\u043b\u0435\u043d \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d <b>F1000000-F1000084<\/b>.<br \/>  \u0412\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u044d\u0442\u043e \u0432 \u0440\u0430\u0431\u043e\u0447\u0435\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438 \u043a\u0430\u043a-\u0442\u043e \u0442\u0430\u043a:<\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/getpro\/habr\/post_images\/2e7\/102\/daa\/2e7102daa11b592b965da3edd8120d38.png\" alt=\"image\"\/><\/p>\n<p>  \u041a\u0430\u0436\u0434\u044b\u0439 <b>WORD<\/b> (\u0432 <b>ARM<\/b> \u0440\u0430\u0432\u0435\u043d 4 \u0431\u0430\u0439\u0442\u0430\u043c) \u0432 \u044d\u0442\u043e\u043c \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u043c \u0434\u043b\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u044d\u0442\u0438\u043c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u043c.<br \/>  \u0422\u043e \u0435\u0441\u0442\u044c, \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0435 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b, \u043c\u044b \u043f\u0435\u0440\u0435\u0434\u0430\u0451\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0438\u043b\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0443,<br \/>  \u0430 \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u044f \u0441 \u043d\u0438\u0445 \u2014 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f.<\/p>\n<p>  \u042f \u0437\u0430\u0431\u044b\u043b \u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u0447\u0442\u043e <b>USART0<\/b> (\u0423\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0439 \u0421\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u0439 \u0410\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u0439 \u041f\u0440\u0438\u0451\u043c\u043d\u0438\u043a \u0438 \u041f\u0435\u0440\u0435\u0434\u0430\u0442\u0447\u0438\u043a) \u0443 \u043d\u0430\u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043a\u0430\u043a \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u0447\u0438\u043a \u0438 \u043f\u0440\u0438\u0451\u043c\u043d\u0438\u043a \u043f\u043e \u043a\u0430\u0431\u0435\u043b\u044e, \u0433\u0440\u0443\u0431\u043e \u0433\u043e\u0432\u043e\u0440\u044f,<b> COM-\u043f\u043e\u0440\u0442<\/b>, \u043d\u043e \u0441 \u0437\u0430\u043d\u0438\u0436\u0435\u043d\u043d\u044b\u043c \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u0435\u043c.<br \/>  \u0418 \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043f\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0435 1 \u0431\u0430\u0439\u0442\u0430 \u0432 \u043f\u0440\u043e\u0441\u0442\u0435\u0439\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435:<\/p>\n<pre><code class=\"cpp\">#define USART_REG(a)        \t* ( (unsigned int   *) ( a ) )\t #define USART0_BASE\t\t0xF1000000  #define USART0_CLC\t\tUSART0_BASE\t\t\/* Clock Control Register *\/ #define USART0_ID\t\tUSART0_BASE + 0x08\t\/* Module Identification Register *\/ #define USART0_CON\t\tUSART0_BASE + 0x10\t\/* Control Register *\/ #define USART0_BG\t\tUSART0_BASE + 0x14\t\/* Baudrate Timer Reload Register *\/ #define USART0_FDV\t\tUSART0_BASE + 0x18\t\/* Fractional Divider Register *\/ #define USART0_TXB\t\tUSART0_BASE + 0x20\t\/* Transmit Buffer *\/ #define USART0_RXB\t\tUSART0_BASE + 0x24\t\/* Receive Buffer *\/ #define USART0_FCSTAT\t\tUSART0_BASE + 0x68\t\/* Flowcontrol status register *\/ #define\tUSART0_ICR\t\tUSART0_BASE + 0x70  void USART0_InitAndTransmit() { \tunsigned char tx = 0xDD;  \t\/\/ \u0412\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \tUSART_REG(USART0_CLC) = 0x200; \t\/\/ \u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u0431\u0430\u0443\u0434\u0440\u0435\u0439\u0442 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0434\u0435\u043b\u0438\u0442\u0435\u043b\u0435\u0439 \tUSART_REG(USART0_BG)  = 0x05; \tUSART_REG(USART0_FDV) = 0xDA; \t\/\/ \u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u0440\u0435\u0436\u0438\u043c \u0440\u0430\u0431\u043e\u0442\u044b \tUSART_REG(USART0_CON) = 0x8811;  \t\/\/ \u0417\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c \u0431\u0430\u0439\u0442 \u0432 \u0431\u0443\u0444\u0435\u0440 \tUSART_REG(USART0_TXB) = tx & 0xFF; \t\/\/ \u0416\u0434\u0451\u043c \u043f\u043e\u043a\u0430 \u0431\u0430\u0439\u0442 \u043d\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0441\u0442\u0441\u044f \u043d\u0430 \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \twhile(!(USART_REG(USART0_FCSTAT) & 2)); \t\/\/ \u0421\u0431\u0440\u043e\u0441\u0438\u043c \u0444\u043b\u0430\u0433\u0438 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f \tUSART_REG(USART0_ICR) = (USART_REG(USART0_ICR)) | 0x02; } <\/code><\/pre>\n<p>  \u041d\u0443, \u0442\u043e \u0435\u0441\u0442\u044c \u0447\u0442\u043e\u0431\u044b \u0447\u0442\u043e-\u0442\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0443, \u043d\u0430\u0434\u043e \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0432 \u044d\u0442\u0438 \u0447\u0451\u0440\u0442\u043e\u0432\u044b \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b, \u043d\u0443 \u0438 \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c \u0441 \u043d\u0438\u0445 \u0436\u0435, \u044d\u0442\u0438\u043c \u0438 \u0431\u0443\u0434\u0435\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0445\u0432\u0430\u0442\u0430.<\/p>\n<h5>MMU \u0438 \u0422\u0430\u0431\u043b\u0438\u0446\u0430 \u043f\u0435\u0440\u0435\u0430\u0434\u0440\u0435\u0441\u0430\u0446\u0438\u0438 <\/h5>\n<p>  <b>MMU<\/b> \u2014 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0432 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0435 \u0434\u043b\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u0430\u043c\u044f\u0442\u044c\u044e \u0438 \u0430\u0434\u0440\u0435\u0441\u043d\u044b\u043c \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e\u043c. \u041e\u043d\u043e \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u043e, \u0430 \u043c\u043e\u0436\u0435\u0442 \u0438 \u043d\u0435\u0442, \u043d\u043e \u0443 \u043d\u0430\u0441 \u043e\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0438 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442 \u0440\u0435\u0436\u0438\u043c\u044b \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u043c \u0443\u0447\u0430\u0441\u0442\u043a\u0430\u043c \u043f\u0430\u043c\u044f\u0442\u0438, \u0438 \u0441\u0430\u043c\u043e\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0435 \u2014 \u043c\u043e\u0436\u0435\u0442 \u043f\u0435\u0440\u0435\u0430\u0434\u0440\u0435\u0441\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u0438\u043b\u0438 \u0437\u0435\u0440\u043a\u0430\u043b\u0438\u0442\u044c \u0430\u0434\u0440\u0435\u0441\u0430.<\/p>\n<p>  \u042f \u0437\u0430\u0432\u043e\u0434\u0438\u043b \u0440\u0435\u0447\u044c \u043e \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0430\u0434\u0440\u0435\u0441\u0430\u0445 \u0438 \u0432\u0441\u0451 \u0442\u0430\u043a\u043e\u0435, \u043d\u043e \u0435\u0449\u0451 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 \u0438 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <b>MMU<\/b>. <br \/>  \u0412\u0441\u0451 4-\u0433\u0438\u0433\u0430\u0431\u0430\u0439\u0442\u043d\u043e\u0435 \u0430\u0434\u0440\u0435\u0441\u043d\u043e\u0435 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u043f\u0440\u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0447\u043a\u0435 \u043f\u0435\u0440\u0435\u0430\u0434\u0440\u0435\u0441\u0430\u0446\u0438\u0438.<\/p>\n<p>  <b>\u0422\u0430\u0431\u043b\u0438\u0446\u0430 \u043f\u0435\u0440\u0435\u0430\u0434\u0440\u0435\u0441\u0430\u0446\u0438\u0438<\/b> \u2014 \u044d\u0442\u043e \u0443\u0447\u0430\u0441\u0442\u043e\u043a \u043f\u0430\u043c\u044f\u0442\u0438, \u043e\u0431\u044b\u0447\u043d\u043e \u0432 <b>SRAM<\/b>, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043e\u043f\u0438\u0441\u0430\u043d\u043e <b>4096 \u041c\u0431<\/b> \u0430\u0434\u0440\u0435\u0441\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430. \u0418 \u043a\u0430\u0436\u0434\u0430\u044f \u044f\u0447\u0435\u0439\u043a\u0430 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c \u0441 <b>WORD<\/b> \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 <b>1 \u041c\u0431<\/b>. \u041d\u0435\u0445\u0438\u0442\u0440\u044b\u043c\u0438 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f\u043c\u0438 \u043c\u043e\u0436\u043d\u043e \u0443\u0437\u043d\u0430\u0442\u044c \u0435\u0451 \u0440\u0430\u0437\u043c\u0435\u0440 \u2014 <b>16 \u041a\u0431<\/b>. \u0415\u0449\u0451 \u0435\u0441\u0442\u044c \u0432\u0442\u043e\u0440\u043e\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u0442\u0430\u0431\u043b\u0438\u0446, \u043d\u043e \u043d\u0435 \u0431\u0443\u0434\u0435\u043c \u043b\u0435\u0437\u0442\u044c \u0432 \u0434\u0435\u0431\u0440\u0438, \u044d\u0442\u043e \u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e. \u0422\u0430\u043a \u0432\u043e\u0442, \u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u044f\u0447\u0435\u0439\u043a\u0438 \u043e\u0442 \u043d\u0430\u0447\u0430\u043b\u0430 \u0433\u043e\u0432\u043e\u0440\u0438\u0442 MMU \u043e \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u043e\u043c \u0430\u0434\u0440\u0435\u0441\u0435,<br \/>  \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0430\u0434\u043e \u0442\u0440\u0430\u043d\u0441\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0439, \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0432 \u043d\u0435\u0439 \u0438 \u043f\u0440\u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442\u0441\u044f. \u0412 \u044f\u0447\u0435\u0439\u043a\u0435 \u0442\u0430\u043a\u0436\u0435 \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u044b \u044d\u0442\u043e\u0433\u043e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 \u0432 <b>1 \u041c\u0431<\/b> \u2014 \u043a\u0435\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439, \u0431\u0443\u0444\u0435\u0440\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439, \u0440\u0435\u0436\u0438\u043c\u044b \u0434\u043e\u0441\u0442\u0443\u043f\u0430. \u0415\u0441\u043b\u0438 \u044f\u0447\u0435\u0439\u043a\u0430 \u043f\u0443\u0441\u0442\u0430, \u0442\u043e \u0435\u0441\u0442\u044c \u0440\u0430\u0432\u043d\u0430 <b>0x00000000<\/b> (\u043d\u0443 \u0438\u043b\u0438 \u0445\u043e\u0442\u044f \u0431\u044b \u0431\u0438\u0442\u044b \u043e\u0442\u0432\u0435\u0447\u0430\u044e\u0449\u0438\u0435 \u0437\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u044c), \u0442\u043e \u0430\u0434\u0440\u0435\u0441, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u043d\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u043d\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442, \u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 \u0435\u0433\u043e \u043d\u0435 \u0443\u0432\u0438\u0434\u0438\u0442.<\/p>\n<p>  \u0414\u043b\u044f \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u043f\u0440\u0438\u043c\u0435\u0440\u0447\u0438\u043a \u0442\u0430\u043a\u043e\u0439 \u0432\u043e\u0442 \u0442\u0430\u0431\u043b\u0438\u0446\u044b:  <\/p>\n<table>\n<tr>\n<th>\u0410\u0434\u0440\u0435\u0441 \u044f\u0447\u0435\u0439\u043a\u0438<\/th>\n<th>\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435<\/th>\n<th>\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435<\/th>\n<\/tr>\n<tr>\n<td>0x0000<\/td>\n<td>0x00000C12<\/td>\n<td>\u041e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 0x00000000-0x000FFFFF \/ RW \/ \u041d\u0435\u043a\u0435\u0448\u0438\u0440. \u041d\u0435\u0431\u0443\u0444.<\/td>\n<\/tr>\n<tr>\n<td>0x0004<\/td>\n<td>0x00100C12<\/td>\n<td>\u041e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 0x00100000-0x001FFFFF \/ RW \/ \u041d\u0435\u043a\u0435\u0448\u0438\u0440. \u041d\u0435\u0431\u0443\u0444.<\/td>\n<\/tr>\n<tr>\n<td>0x0008<\/td>\n<td>0x00200C12<\/td>\n<td>\u041e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 0x00200000-0x002FFFFF \/ RW \/ \u041d\u0435\u043a\u0435\u0448\u0438\u0440. \u041d\u0435\u0431\u0443\u0444.<\/td>\n<\/tr>\n<tr>\n<td>0x000C<\/td>\n<td>0x00300C12<\/td>\n<td>\u041e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 0x00300000-0x003FFFFF \/ RW \/ \u041d\u0435\u043a\u0435\u0448\u0438\u0440. \u041d\u0435\u0431\u0443\u0444.<\/td>\n<\/tr>\n<tr>\n<td>0x0010<\/td>\n<td>0x00400C12<\/td>\n<td>\u041e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 0x00400000-0x004FFFFF \/ RW \/ \u041d\u0435\u043a\u0435\u0448\u0438\u0440. \u041d\u0435\u0431\u0443\u0444.<\/td>\n<\/tr>\n<tr>\n<td>&#8230;..<\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>0x3840<\/td>\n<td>0xF1000C12<\/td>\n<td>\u0417\u0435\u0440\u043a\u0430\u043b\u0438\u0442 \u0441 0xF1000000-0xF10FFFFF \u043d\u0430 0xE1000000-0xE10FFFFF<\/td>\n<\/tr>\n<tr>\n<td>&#8230;..<\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>0x3C40<\/td>\n<td>0xF1000C12<\/td>\n<td>\u041e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 0xF1000000-0xF10FFFFF \/ RW \/ \u041d\u0435\u043a\u0435\u0448\u0438\u0440. \u041d\u0435\u0431\u0443\u0444.<\/td>\n<\/tr>\n<tr>\n<td>&#8230;..<\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>0xFFFC<\/td>\n<td>0x00000000<\/td>\n<td>\u0410\u0434\u0440\u0435\u0441\u0430 0xFFF00000-0xFFFFFFFF \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 \u043d\u0435 \u0432\u0438\u0434\u0438\u0442<\/td>\n<\/tr>\n<\/table>\n<p>  \u0418 \u0434\u0430, \u044d\u0442\u0443 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u043c\u044b \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c \u0441\u0430\u043c\u0438 \u0438 \u0433\u0434\u0435 \u0437\u0430\u0445\u043e\u0442\u0438\u043c, \u0432 \u043b\u044e\u0431\u043e\u043c \u0443\u0447\u0430\u0441\u0442\u043a\u0435 <b>RAM<\/b> \u0438\u043b\u0438 <b>Flash<\/b>, \u0430 \u0447\u0442\u043e\u0431\u044b <b>MMU<\/b> \u0437\u043d\u0430\u043b\u0430 \u043e \u043d\u0435\u0439, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0440\u043e\u043f\u0438\u0441\u0430\u0442\u044c \u0430\u0434\u0440\u0435\u0441 \u0432 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0435 \u0441\u043e\u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 <b>CP15<\/b>, \u043d\u043e \u0438 \u044d\u0442\u043e \u0434\u043b\u044f \u043d\u0430\u0441 \u043d\u0435 \u0432\u0430\u0436\u043d\u043e.<\/p>\n<h5>\u0412\u0435\u043a\u0442\u043e\u0440\u044b \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f<\/h5>\n<p>  \u041f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f \u0431\u044b\u0432\u0430\u044e\u0442 \u0436\u0435\u043b\u0435\u0437\u043d\u044b\u0435 (\u043e\u0442 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432), \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0435 (\u0447\u0435\u0440\u0435\u0437 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 <b>BKPT<\/b> \u0438 <b>SWI<\/b>) \u0438 \u043e\u0442 \u043e\u0448\u0438\u0431\u043e\u043a (\u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0439).<br \/>  \u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440, \u043a\u0430\u043a \u043d\u0438 \u0441\u0442\u0440\u0430\u043d\u043d\u043e, \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 \u043d\u0430 \u0442\u0435\u043a\u0443\u0449\u0438\u043c \u0430\u0434\u0440\u0435\u0441\u0435 \u0438 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442 \u043d\u0430 \u0442\u0430\u043a \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u043c\u044b\u0439 \u0432\u0435\u043a\u0442\u043e\u0440 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f, \u0442\u043e \u0435\u0441\u0442\u044c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0439 \u0430\u0434\u0440\u0435\u0441, \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0442\u0438\u043f\u0430 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f. \u0418 \u043d\u0430 \u043d\u0451\u043c \u043e\u0431\u044b\u0447\u043d\u043e \u0440\u0430\u0437\u043c\u0435\u0449\u0430\u0435\u0442\u0441\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0430 \u043d\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u044d\u0442\u043e\u0433\u043e \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f \/ \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f.<br \/>  \u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u044d\u0442\u0438 \u0432\u0435\u043a\u0442\u043e\u0440\u044b:  <\/p>\n<table>\n<tr>\n<th>\u0410\u0434\u0440\u0435\u0441 \u043d\u0438\u0436\u043d\u0438\u0439<\/th>\n<th>\u0410\u0434\u0440\u0435\u0441 \u0432\u0435\u0440\u0445\u043d\u0438\u0439<\/th>\n<th>\u0412\u0435\u043a\u0442\u043e\u0440<\/th>\n<th>\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435<\/th>\n<\/tr>\n<tr>\n<td>0x00000000<\/td>\n<td>0xFFFF0000<\/td>\n<td>Reset<\/td>\n<td>\u0421\u0431\u0440\u043e\u0441<\/td>\n<\/tr>\n<tr>\n<td>0x00000004<\/td>\n<td>0xFFFF0004<\/td>\n<td>Undefined_Instruction<\/td>\n<td>\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0430\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f<\/td>\n<\/tr>\n<tr>\n<td>0x00000008<\/td>\n<td>0xFFFF0008<\/td>\n<td>SWI<\/td>\n<td>\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0435 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0435<\/td>\n<\/tr>\n<tr>\n<td>0x0000000C<\/td>\n<td>0xFFFF000C<\/td>\n<td>Prefetch_Abort<\/td>\n<td>\u041e\u0442\u043a\u0430\u0437 \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u044b<\/td>\n<\/tr>\n<tr>\n<td>0x00000010<\/td>\n<td>0xFFFF0010<\/td>\n<td>Data_Abort<\/td>\n<td>\u041e\u0442\u043a\u0430\u0437 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0434\u0430\u043d\u043d\u044b\u043c<\/td>\n<\/tr>\n<tr>\n<td>0x00000014<\/td>\n<td>0xFFFF0014<\/td>\n<td>RESERVED<\/td>\n<td>\u0417\u0430\u0440\u0435\u0437\u0435\u0440\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u043e<\/td>\n<\/tr>\n<tr>\n<td>0x00000018<\/td>\n<td>0xFFFF0018<\/td>\n<td>IRQ<\/td>\n<td>\u0416\u0435\u043b\u0435\u0437\u043d\u043e\u0435 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0435<\/td>\n<\/tr>\n<tr>\n<td>0x0000001C<\/td>\n<td>0xFFFF001C<\/td>\n<td>FIQ<\/td>\n<td>\u0416\u0435\u043b\u0435\u0437\u043d\u043e\u0435 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0435<\/td>\n<\/tr>\n<\/table>\n<p>  \u0412 <b>Siemens SGold<\/b> \u043e\u043d\u0438 \u0432\u044b\u0433\u043b\u044f\u0434\u044f\u0442 \u0432\u043e\u0442 \u0442\u0430\u043a:<\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/getpro\/habr\/post_images\/823\/2d8\/99e\/8232d899eb20302f7c6d9cc331cfc323.png\" alt=\"image\"\/><\/p>\n<p>  \u041d\u043e \u043d\u0430\u0441 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u0438\u043d \u0432\u0435\u043a\u0442\u043e\u0440 <b>Data Abort<\/b>. \u042d\u0442\u043e \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0435 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442, \u043a\u043e\u0433\u0434\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 \u043f\u044b\u0442\u0430\u0435\u0442\u0441\u044f \u0441\u043e\u0432\u0435\u0440\u0448\u0438\u0442\u044c<br \/>  \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044e \u0447\u0442\u0435\u043d\u0438\u044f \/ \u0437\u0430\u043f\u0438\u0441\u0438 \u0438\u0437 \u043d\u0435\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0433\u043e \u0430\u0434\u0440\u0435\u0441\u0430 \u0438\u043b\u0438 \u0430\u0434\u0440\u0435\u0441\u0430, \u043a \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u0432 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u043d\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u0430.<br \/>  \u041f\u0440\u043e\u0448\u0438\u0432\u043a\u0430 <b>Siemens SGold<\/b> \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u044d\u0442\u043e\u0442 \u0432\u0435\u043a\u0442\u043e\u0440 \u043f\u0440\u043e\u0441\u0442\u043e \u043a\u0430\u043a \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u044e \u043e\u0448\u0438\u0431\u043a\u0438 \u0438 \u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0441 \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u043d\u044b\u043c \u0437\u0432\u0443\u043a\u043e\u043c.<br \/>  \u0422\u043e \u0435\u0441\u0442\u044c \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a, \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443 <b>0x00000030<\/b>, \u043c\u043e\u0436\u043d\u043e \u0431\u0435\u0437\u0431\u043e\u043b\u0435\u0437\u043d\u0435\u043d\u043d\u043e \u043f\u043e\u0434\u043c\u0435\u043d\u044f\u0442\u044c \u043d\u0430 \u0441\u0432\u043e\u0439.<\/p>\n<h5>\u041c\u0435\u0445\u0430\u043d\u0438\u0437\u043c \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u043d\u0438\u044f \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u0447\u0442\u0435\u043d\u0438\u044f\/\u0437\u0430\u043f\u0438\u0441\u0438<\/h5>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c, \u043a\u043e\u0433\u0434\u0430 \u043c\u044b \u0432\u0432\u0435\u0434\u0435\u043d\u044b \u0432 \u043a\u0443\u0440\u0441 \u0434\u0435\u043b\u0430, \u043c\u043e\u0436\u043d\u043e \u0438 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c, \u043a\u0430\u043a \u044d\u0442\u0430 \u0444\u0438\u0433\u043e\u0432\u0438\u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442-\u0442\u043e.<br \/>  \u041e\u0431\u0440\u0430\u0442\u0438\u043c \u0441\u0432\u043e\u0439 \u0432\u0437\u043e\u0440 \u043d\u0430 \u043f\u0435\u0440\u0432\u0443\u044e \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0443 \u0432 \u0441\u0442\u0430\u0442\u044c\u0435, \u043d\u0435 \u043f\u043e\u0431\u043e\u044e\u0441\u044c \u044d\u0442\u043e\u0433\u043e \u0441\u043b\u043e\u0432\u0430, \u0431\u043b\u043e\u043a-\u0441\u0445\u0435\u043c\u0443.<br \/>  \u0412\u0437\u0433\u043b\u044f\u043d\u0435\u043c \u043d\u0430 \u043a\u043e\u0434 ARM \u2014 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u0430 (\u043d\u0435 \u0438\u0449\u0438\u0442\u0435 \u0432 \u043d\u0451\u043c \u0441\u043c\u044b\u0441\u043b\u0430 \u0438\u043b\u0438 \u0437\u0430\u043a\u043e\u043d\u0447\u0435\u043d\u043d\u043e\u0441\u0442\u0438):<\/p>\n<pre><code class=\"cpp\">LDR\tR1, =0xF4700000 ;  \u041f\u043e\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u0432 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 R1 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f 0xF4700000 LDR\tR2, [R1, #0x14] ;  \u0427\u0442\u0435\u043d\u0438\u0435 \u0432 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 R2 \u0438\u0437 \u0430\u0434\u0440\u0435\u0441\u0430 \u0432 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0435 R1 + 0x14 (\u0432 \u0438\u0442\u043e\u0433\u0435 \u0438\u0437 \u0430\u0434\u0440\u0435\u0441\u0430 0xF4700014) BIC\tR2, R2, #1\t;  \u041e\u0447\u0438\u0441\u0442\u043a\u0430 0-\u0433\u043e \u0431\u0438\u0442\u0430 \u0432 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0435 R2 STR\tR2, [R1, #0x14] ;  \u0417\u0430\u043f\u0438\u0441\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430 R2 \u0432 \u0430\u0434\u0440\u0435\u0441 \u0432 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0435 R1 + 0x14 (\u0432 \u0438\u0442\u043e\u0433\u0435 \u0432 \u0430\u0434\u0440\u0435\u0441 0xF4700014) MOV\tR2, #2\t\t;  \u041f\u043e\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u0432 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 R2 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f 2 <\/code><\/pre>\n<p>  \u0421\u0430\u043c\u043e\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0435 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438:<\/p>\n<pre><code class=\"cpp\">LDR\tR2, [R1, #0x14] ;  \u0427\u0442\u0435\u043d\u0438\u0435 \u0432 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 R2 \u0438\u0437 \u0430\u0434\u0440\u0435\u0441\u0430 \u0432 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0435 R1 + 0x14 (\u0432 \u0438\u0442\u043e\u0433\u0435 \u0438\u0437 \u0430\u0434\u0440\u0435\u0441\u0430 0xF4700014) <\/code><\/pre>\n<p>  \u0417\u0434\u0435\u0441\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0441\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u0442 \u0443 <b>MMU<\/b>: \u00ab\u0410\u0434\u0440\u0435\u0441 <b>0xF4700014<\/b> \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u043b\u0438 \u0438 \u0435\u0441\u0442\u044c \u043b\u0438 \u043a \u043d\u0435\u043c\u0443 \u0434\u043e\u0441\u0442\u0443\u043f?\u00bb<br \/>  <b>MMU<\/b> \u0433\u043e\u0432\u043e\u0440\u0438\u0442, \u0447\u0442\u043e \u0434\u0430 \u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u044b\u0439 \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442 \u0438\u0437 \u0430\u0434\u0440\u0435\u0441\u0430 \u0438 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0443.<\/p>\n<p>  \u041f\u043e\u0434\u043c\u0435\u043d\u044f\u0435\u043c \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f <b>Data Abort<\/b> \u043d\u0430 \u0441\u0432\u043e\u0439, \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u043e\u043c\u0435\u043d\u044f\u0442\u044c \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u0430\u0434\u0440\u0435\u0441\u0435 <b>0x00000030<\/b>.<br \/>  \u0417\u0435\u0440\u043a\u0430\u043b\u0438\u043c \u0447\u0435\u0440\u0435\u0437 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u043f\u0435\u0440\u0435\u0430\u0434\u0440\u0435\u0441\u0430\u0446\u0438\u0438 \u0430\u0434\u0440\u0435\u0441\u043d\u043e\u0435 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e <b>0xF4700000-0xF47FFFFF<\/b> \u043d\u0430 <b>0xE4700000-0xE47FFFFF<\/b>,<br \/>  \u0430 \u043f\u043e\u0434\u043b\u0438\u043d\u043d\u044b\u0439 \u0430\u0434\u0440\u0435\u0441 \u0442\u0430\u043c \u0441\u0442\u0438\u0440\u0430\u0435\u043c. \u041f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u0447\u0442\u043e <b>0xF4700014<\/b> \u2014 \u043d\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442, \u0442\u043e \u0435\u0441\u0442\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 \u0435\u0433\u043e \u043d\u0435 \u0432\u0438\u0434\u0438\u0442, \u0437\u0430\u0442\u043e \u0435\u0441\u0442\u044c<br \/>  <b>0xE4700014<\/b> \u2014 \u0442\u0440\u0430\u043d\u0441\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 (\u043e\u0442\u0437\u0435\u0440\u043a\u0430\u043b\u0435\u043d\u043d\u044b\u0439) \u0441 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0430\u0434\u0440\u0435\u0441\u0430 <b>0xF4700014<\/b>.<\/p>\n<p>  \u041f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u043c \u043a\u043e\u0434, \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 \u043d\u0430\u0442\u044b\u043a\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0442\u0443 \u0441\u0430\u043c\u0443\u044e \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044e, \u0441\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u0442 \u043e \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043e\u0432\u0430\u043d\u0438\u0438 \u0430\u0434\u0440\u0435\u0441\u0430 \u0438 \u0442\u0443\u0442 \u043d\u0430 \u0442\u0435\u0431\u0435 \u0437\u0434\u0440\u0430\u0441\u0442\u0435, \u043d\u0435\u0442\u0443! <br \/>  \u041f\u0430\u043d\u0438\u043a\u0430. \u0412 \u0442\u0430\u043a\u0438\u0445 \u0441\u043b\u0443\u0447\u0430\u044f\u0445 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 \u043f\u0440\u044b\u0433\u0430\u0435\u0442 \u043d\u0430 \u0432\u0435\u043a\u0442\u043e\u0440 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f \u0438 \u043f\u043e\u043f\u0430\u0434\u0430\u0435\u0442 \u043a\u0443\u0434\u0430? \u041f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e, \u0432 \u043d\u0430\u0448 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a. \u041c\u044b \u0431\u0435\u0440\u0435\u0436\u043d\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442 \u043f\u0440\u0435\u0440\u0432\u0430\u043d\u043d\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u0447\u0442\u043e\u0431\u044b \u043d\u0438\u0447\u0442\u043e \u043d\u0435 \u043f\u043e\u0442\u0435\u0440\u044f\u043b\u043e\u0441\u044c \u0438 \u043d\u0435 \u0437\u0430\u0442\u0451\u0440\u043b\u043e\u0441\u044c.<br \/>  \u0414\u0430\u043b\u0435\u0435, \u0438\u0434\u0451\u0442 \u044d\u043c\u0443\u043b\u044f\u0446\u0438\u044f \u044d\u0442\u043e\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438, \u043d\u043e \u0441 \u0443\u0447\u0451\u0442\u043e\u043c \u0447\u0442\u043e \u0430\u0434\u0440\u0435\u0441\u0430-\u0442\u043e \u043d\u0435\u0442\u0443 \u0438 \u0432\u043c\u0435\u0441\u0442\u043e \u043d\u0435\u0433\u043e \u043d\u0430\u0434\u043e \u0431\u0440\u0430\u0442\u044c <b>0xE4700014<\/b>. <br \/>  \u041f\u043e\u0434 \u044d\u043c\u0443\u043b\u044f\u0446\u0438\u0435\u0439 \u0438\u043c\u0435\u0435\u0442\u0441\u044f: \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043c\u0435\u0441\u0442\u043e\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438, \u0430\u043d\u0430\u043b\u0438\u0437 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u043e\u043d\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u0434\u0435\u043b\u0430\u0442\u044c, \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u044d\u0442\u043e \u0432\u0441\u0451 \u0438 \u0434\u0435\u043b\u0430\u0435\u043c, \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u043c \u043a \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0443 (\u043f\u043e\u043c\u043d\u0438\u0442\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u043b\u0438), \u0437\u0430\u043f\u0438\u0448\u0435\u043c \u0432\u0441\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043e\u0431 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 (\u0430\u0434\u0440\u0435\u0441 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438, \u0430\u0434\u0440\u0435\u0441 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430, \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0438 \u0442\u0438\u043f \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438) \u043a\u0443\u0434\u0430-\u043d\u0438\u0431\u0443\u0434\u044c, \u043f\u0440\u0435\u0441\u043f\u043e\u043a\u043e\u0439\u043d\u043e \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u0435\u0433\u043e \u0438 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 \u043d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044e.<\/p>\n<p>  \u0415\u0441\u043b\u0438 \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0430 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0441 \u0430\u0434\u0440\u0435\u0441\u0430\u043c\u0438 <b>0xF4700000-0xF47FFFFF<\/b>, \u0442\u043e \u043d\u0435\u0438\u0437\u0431\u0435\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043f\u0430\u0434\u0430\u0442\u044c \u043d\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a, \u0430 \u043e\u043d, \u0432 \u0441\u0432\u043e\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c, \u0438\u0441\u043f\u0440\u0430\u0432\u043d\u043e \u0432\u0435\u0441\u0442\u0438 \u0436\u0443\u0440\u043d\u0430\u043b \u044d\u0442\u0438\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439. \u041a\u0440\u0430\u0441\u043e\u0442\u0430 \u0436\u0435! \u041f\u0440\u0430\u0432\u0434\u0430 \u0437\u0430\u043c\u0435\u0441\u0442\u043e \u043e\u0434\u043d\u043e\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u043d\u0443\u0436\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043e\u0433\u0440\u043e\u043c\u0435\u043d\u043d\u044b\u0439 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a, \u043d\u043e \u043d\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0438 \u0440\u0430\u0431\u043e\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u0441\u043b\u0430\u0431\u043e \u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f.<\/p>\n<h2>\u0420\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0430<\/h2>\n<p>  \u042f \u0434\u0443\u043c\u0430\u044e, \u0447\u0442\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0432\u0441\u0435\u0433\u043e \u044d\u0442\u043e\u0433\u043e \u2014 \u0441\u0438\u043b\u044c\u043d\u043e \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0438 \u044d\u0442\u043e\u0442 \u043a\u043e\u0434 \u043d\u0438\u043a\u043e\u043c\u0443 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0434\u0430\u0441\u0442,<br \/>  \u043d\u043e \u0432\u0441\u0451 \u0436\u0435 \u0431\u0443\u0434\u0435\u0442 \u043a\u0430\u043a-\u0442\u043e \u0441\u0442\u0440\u0430\u043d\u043d\u043e \u0431\u0435\u0437 \u044d\u0442\u043e\u0433\u043e. \u0412\u0441\u0451 \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u043b\u043e\u0441\u044c \u0432 \u0441\u0440\u0435\u0434\u0435 IAR 4.2 <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">arm_defs.h<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"cpp\">#ifndef __ARM_DEFS_H__ #define __ARM_DEFS_H__  #define WORD(a)        * ( (unsigned int   *) ( a ) ) #define HWRD(a)        * ( (unsigned short *) ( a ) ) #define BYTE(a)        * ( (unsigned char  *) ( a ) )  #define INS_BIT(i,b)           ( ( i &gt;&gt; b )&1 ) #define I32_FIELD(i,b,e)       ( ( ( i &lt;&lt; ( 31 - b ) ) &gt;&gt; 31 - b ) &gt;&gt; ( e ) ) #define I32_FIELD_FAST(i,e,m)  ( ( i &gt;&gt; e ) & m ) #define IARM_COND(i)           ( ( i &gt;&gt; 28 )&0xF )  #define IARM_Rn(i)          ( ( i &gt;&gt; 16 )&0xF ) #define IARM_Rd(i)          ( ( i &gt;&gt; 12 )&0xF ) #define IARM_Rs(i)          ( ( i &gt;&gt;  8 )&0xF ) #define IARM_Rm(i)          ( ( i &gt;&gt;  0 )&0xF )  #define IARM_ImmHi(i)       ( ( i &gt;&gt; 16 )&0xF ) #define IARM_ImmLo(i)       ( ( i &gt;&gt;  0 )&0xF ) #define IARM_Imm12(i)       ( ( i &gt;&gt;  0 )&0xFFF )  #define IARM_ShiftImm(i)    I32_FIELD_FAST(i,7,0x1F) #define IARM_Shift(i)       I32_FIELD_FAST(i,5,3)  #define IARM_Shift_LSL      0 #define IARM_Shift_LSR      1  #define PC_ALIGN(pc)        (pc & 0xFFFFFFFE)  #define MAX_REGS   17  #define _R0        0 #define _R1        1 #define _R2        2 #define _R3        3 #define _R4        4 #define _R5        5 #define _R6        6 #define _R7        7 #define _R8        8 #define _R9        9 #define _R10       10 #define _R11       11 #define _R12       12 #define _SP        13 #define _LR        14 #define _PC        15 #define _CPSR      16  #define GET_PSR_N(cpsr)    ((cpsr &gt;&gt; 31)&1) #define GET_PSR_Z(cpsr)    ((cpsr &gt;&gt; 30)&1) #define GET_PSR_C(cpsr)    ((cpsr &gt;&gt; 29)&1) #define GET_PSR_V(cpsr)    ((cpsr &gt;&gt; 28)&1) #define GET_PSR_Q(cpsr)    ((cpsr &gt;&gt; 27)&1)  #define GET_PSR_I(cpsr)    ((cpsr &gt;&gt;  7)&1) #define GET_PSR_F(cpsr)    ((cpsr &gt;&gt;  6)&1) #define GET_PSR_T(cpsr)    ((cpsr &gt;&gt;  5)&1) #define GET_PSR_M(cpsr)    ((cpsr)&0x1F)  #define SET_PSR_T(cpsr, i)  (cpsr |= ( i &lt;&lt; 5))  #define MUSR           0x10 \/\/ User Mode #define MFIQ           0x11 \/\/ FIQ Mode #define MIRQ           0x12 \/\/ IRQ Mode #define MSVC           0x13 \/\/ Supervisor Mode #define MABT           0x17 \/\/ Abort Mode #define MUND           0x1B \/\/ Undefined Mode #define MSYS           0x1F \/\/ System Mode #define MMSK           0x1F \/\/ Mask Mode  #define CEQ            0 \/\/ \u0420\u0430\u0432\u043d\u043e: Z == 1 #define CNE            1 \/\/ \u041d\u0435 \u0440\u0430\u0432\u043d\u043e: Z == 0 #define CCS            2 \/\/ \u041f\u0435\u0440\u0435\u043d\u043e\u0441: C == 1 #define CHS            2 \/\/ \u0411\u0435\u0437\u0437\u043d\u0430\u043a \u0431\u043e\u043b\u044c\u0448\u0435 \u0438\u043b\u0438 \u0440\u0430\u0432\u043d\u043e: C == 1 #define CCC            3 \/\/ \u041d\u0435\u0442 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0430: C == 0 #define CLO            3 \/\/ \u0411\u0435\u0437\u0437\u043d\u0430\u043a\u043e\u0432\u043e\u0435 \u043c\u0435\u043d\u044c\u0448\u0435: C == 0 #define CMI            4 \/\/ \u041c\u0438\u043d\u0443\u0441\/\u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0435: N == 1 #define CPL            5 \/\/ \u041f\u043b\u044e\u0441\/\u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0438\u043b\u0438 \u043d\u0443\u043b\u044c: N == 0 #define CVS            6 \/\/ \u041f\u0435\u0440\u0435\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435: V == 1 #define CVC            7 \/\/ \u041d\u0435\u0442 \u043f\u0435\u0440\u0435\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f: V == 0 #define CHI            8 \/\/ \u0411\u0435\u0437\u0437\u043d\u0430\u043a\u043e\u0432\u043e\u0435 \u0431\u043e\u043b\u044c\u0448\u0435: C == 1 && Z == 0 #define CLS            9 \/\/ \u0411\u0435\u0437\u0437\u043d\u0430\u043a\u043e\u0432\u043e\u0435 \u043c\u0435\u043d\u044c\u0448\u0435 \u0438\u043b\u0438 \u0440\u0430\u0432\u043d\u043e: C == 0 && Z == 1 #define CGE           10 \/\/ \u0411\u043e\u043b\u044c\u0448\u0435 \u0438\u043b\u0438 \u0440\u0430\u0432\u043d\u043e, \u0441\u043e \u0437\u043d\u0430\u043a\u043e\u043c: N == V #define CLT           11 \/\/ \u041c\u0435\u043d\u044c\u0448\u0435 \u0447\u0435\u043c, \u0441\u043e \u0437\u043d\u0430\u043a\u043e\u043c: N != V #define CGT           12 \/\/ \u0411\u043e\u043b\u044c\u0448\u0435 \u0447\u0435\u043c, \u0441\u043e \u0437\u043d\u0430\u043a\u043e\u043c: Z == 0 && N == V #define CLE           13 \/\/ \u041c\u0435\u043d\u044c\u0448\u0435 \u0438\u043b\u0438 \u0440\u0430\u0432\u043d\u043e, \u0441\u043e \u0437\u043d\u0430\u043a\u043e\u043c: Z == 1 && N != V #define CAL           14 \/\/ \u0411\u0435\u0437\u0443\u0441\u043b\u043e\u0432\u043d\u043e\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 #define CMSK          15 \/\/ \u041c\u0430\u0441\u043a\u0430 \u0443\u0441\u043b\u043e\u0432\u0438\u0439   \/\/ LDR \/ STR #define IARM_IS_LDR(i)  \\   ( I32_FIELD_FAST(i,26,3)==1 && INS_BIT(i,22)==0 && INS_BIT(i,20)==1 ) #define IARM_IS_STR(i)  \\   ( I32_FIELD_FAST(i,26,3)==1 && INS_BIT(i,22)==0 && INS_BIT(i,20)==0 )  #define IARM_LDR_I(i)       INS_BIT(i,25) #define IARM_LDR_P(i)       INS_BIT(i,24) #define IARM_LDR_U(i)       INS_BIT(i,23) #define IARM_LDR_W(i)       INS_BIT(i,21)    \/\/ if Load and Store word or unsigned byte instructions #define IARM_IS_LDRHS(i)    ( (i &gt;&gt; 25)&7 == 0 && (i &gt;&gt; 7)&1 == 1 && (i &gt;&gt; 4)&1 == 1 ) #define IARM_LDRHS_P(i)     INS_BIT(i,24) #define IARM_LDRHS_U(i)     INS_BIT(i,23) #define IARM_LDRHS_I(i)     INS_BIT(i,22)  #define IARM_LDRHS_W(i)     INS_BIT(i,21) #define IARM_LDRHS_L(i)     INS_BIT(i,20) #define IARM_LDRHS_S(i)     INS_BIT(i, 6) #define IARM_LDRHS_H(i)     INS_BIT(i, 5)  \/* THUMBs command detector Load \/ Store *\/  \/\/ PC-relative load #define ITHUMB_LS_PCREL(i)                (((i &gt;&gt; 11)  &   0x1F) == 0x09) #define ITHUMB_LS_PCREL_Rd(i)             ((i &gt;&gt; 8)    &   0x07) #define ITHUMB_LS_PCREL_Offset(i)         (i & 0xF)  \/\/ load\/store with register offset #define ITHUMB_LS_WITHREGOFFSET(i)        (((i &gt;&gt; 9)  &(~0x06)) == 0x28) #define ITHUMB_LS_WITHREGOFFSET_Ro(i)     ((i &gt;&gt; 6)   &   0x07) #define ITHUMB_LS_WITHREGOFFSET_Rb(i)     ((i &gt;&gt; 3)   &   0x07) #define ITHUMB_LS_WITHREGOFFSET_Rd(i)     ((i &gt;&gt; 0)   &   0x07) #define ITHUMB_LS_WITHREGOFFSET_L(i)      ((i &gt;&gt; 11)  &   0x01) #define ITHUMB_LS_WITHREGOFFSET_B(i)      ((i &gt;&gt; 10)  &   0x01)  \/\/ load\/store sign-extended byte\/halfword #define ITHUMB_LS_SIGNEXTBYTEHWRD(i)      (((i &gt;&gt; 9)  &(~0x06)) == 0x29) #define ITHUMB_LS_SIGNEXTBYTEHWRD_Ro(i)   ((i &gt;&gt; 6)   &   0x07) #define ITHUMB_LS_SIGNEXTBYTEHWRD_Rb(i)   ((i &gt;&gt; 3)   &   0x07) #define ITHUMB_LS_SIGNEXTBYTEHWRD_Rd(i)   ((i &gt;&gt; 0)   &   0x07) #define ITHUMB_LS_SIGNEXTBYTEHWRD_H(i)    ((i &gt;&gt; 11)  &   0x01) #define ITHUMB_LS_SIGNEXTBYTEHWRD_S(i)    ((i &gt;&gt; 10)  &   0x01)  \/\/ load\/store with immediate offset #define ITHUMB_LS_WITHIMMOFFSET(i)        (((i &gt;&gt; 11)  &(~0x03)) == 0x0C) #define ITHUMB_LS_WITHIMMOFFSET_L(i)      ((i &gt;&gt; 11)  &   0x01) #define ITHUMB_LS_WITHIMMOFFSET_B(i)      ((i &gt;&gt; 12)  &   0x01) #define ITHUMB_LS_WITHIMMOFFSET_Rb(i)     ((i &gt;&gt; 3)   &   0x07) #define ITHUMB_LS_WITHIMMOFFSET_Rd(i)     ((i &gt;&gt; 0)     &   0x07) #define ITHUMB_LS_WITHIMMOFFSET_Offset(i) ((i &gt;&gt; 6)     &   0x1F)  \/\/ load\/store halfword #define ITHUMB_LS_HWRD(i)                 (((i &gt;&gt; 11)   &  (~0x01)) == 0x10) #define ITHUMB_LS_HWRD_L(i)               ((i &gt;&gt; 11)    &   0x01) #define ITHUMB_LS_HWRD_Rb(i)              ((i &gt;&gt; 3)     &   0x07) #define ITHUMB_LS_HWRD_Rd(i)              ((i &gt;&gt; 0)     &   0x07) #define ITHUMB_LS_HWRD_Offset(i)          ((i &gt;&gt; 6)     &   0x1F)  \/\/ SP-relative load\/store #define ITHUMB_LS_SPREL(i)                (((i &gt;&gt; 12)  &   0x0F) == 0x09) #define ITHUMB_LS_SPREL_L(i)              ((i &gt;&gt; 11)    &   0x01) #define ITHUMB_LS_SPREL_Rd(i)             ((i &gt;&gt; 8)    &   0x07) #define ITHUMB_LS_SPREL_Offset(i)         (i & 0xF)  #endif \/\/ __ARM_DEFS_H__ <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">sniffer.h<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"cpp\">#ifndef __SNIFFER_H__ #define __SNIFFER_H__  #include &quot;arm_defs.h&quot;   extern  void da_handler();  #define IO_ADDRESS                    0xF0000000 #define IO_ADDRESS_MIRROR             0xE0000000 #define IO_ADDRESS_DIF                0x10000000  #define VECTOR_DATAABORT_JUMPER       0xE59FF018 #define VECTOR_DATAABORT_JUMPER_OFS   0x10 #define VECTOR_DATAABORT_HANDLER_OFS  0x30  #define MMU_ATTR                      0xC12 #define MMU_TABLE                     0x00090000 #define MMU_GRID(a)                   * ( (unsigned int   *) ( (MMU_TABLE + ((a &gt;&gt; 20) & 0xFFF) * 4) ) )   #define MMU_GRID_MIRROR(a)            MMU_GRID(a - IO_ADDRESS_DIF) #define MMU_GRID_SETATTR(a)           ((a & 0xFFF00000) | MMU_ATTR)  typedef struct  {   unsigned int r0;   unsigned int r1;   unsigned int r2;   unsigned int r3;   unsigned int r4;   unsigned int r5;   unsigned int r6;   unsigned int r7;   unsigned int r8;   unsigned int r9;   unsigned int r10;   unsigned int r11;   unsigned int r12;   unsigned int sp;   unsigned int lr;   unsigned int pc;   unsigned int cpsr; }REGISTERS;  typedef struct  {   union regs      {      unsigned int a[MAX_REGS];      REGISTERS    s;     }; }CONTEXT;  void  io_sniffer_init(void (*sniff_prc)(unsigned int address, unsigned int value, unsigned int pc, char is_ldr)); void  io_sniffer_deinit(); int   io_sniffer_add(unsigned int io_address); int   io_sniffer_remove(unsigned int io_address);  #endif \/\/ __SNIFFER_H__ <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">system.h<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"cpp\">#ifndef __SYSTEM_H__ #define __SYSTEM_H__  __arm void SetDomainAccess(unsigned int domains); __arm void SetMemoryAccess(unsigned int domains); __arm void UnlockAllMemoryAccess(); __arm void DisableInterrupt(); __arm void EnableInterrupt(); __arm void EnableModeForOSWork(); __arm void DisableModeForOSWork();  #endif \/\/ __SYSTEM_H__ <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">da_handler.asm<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"cpp\">#include &quot;arm_defs.h&quot;                                                                                     EXTERN context                                             EXTERN abt_stack                                             EXTERN emualate_ldr_str                                              CODE32                                                                                          ARM                                               RSEG    CODE:CODE                                                                                                                                       PUBLIC  da_handler                                                                             da_handler:                                                                                         \/\/ \u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442 R0 - R12 \u043f\u0440\u0435\u0440\u0432\u0430\u043d\u043d\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b                                             LDR     SP, =context                                             STMIA   SP, {R0-R12}                                                                                \/\/ \u041f\u043e\u0434\u0433\u043e\u0442\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u0441\u0442\u0435\u043a \u0434\u043b\u044f \u0445\u0435\u043d\u0434\u0435\u0440\u0430                                             LDR     SP, =abt_stack                                             ADD     SP, SP, #0x4000                                                                                                                                       \/\/ \u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c CPSR \u043f\u0440\u0435\u0440\u0432\u0430\u043d\u043d\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b                                             MRS     R1, SPSR                                             LDR     R0, =context                                             STR     R1, [R0, #_CPSR*4]                                                                                          \/\/ \u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c PC \u043f\u0440\u0435\u0440\u0432\u0430\u043d\u043d\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b                                             SUB     LR, LR, #0x08                                             STR     LR, [R0, #_PC*4]                                                                                          \/\/ \u0411\u0435\u0440\u0451\u043c \u0440\u0435\u0436\u0438\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 \u043f\u0440\u0435\u0440\u0432\u0430\u043d\u043d\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b                                             AND     R2, R1, #MMSK                                             CMP     R2, #MUSR                                             \/\/ \u0415\u0441\u043b\u0438 \u0440\u0435\u0436\u0438\u043c USR, \u0442\u043e \u0432\u043e\u0437\u044c\u043c\u0451\u043c SYS                                             MOVEQ   R2, #MSYS                                                                                          \/\/ \u0412\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0440\u0435\u0436\u0438\u043c \u043f\u0440\u0435\u0440\u0432\u0430\u043d\u043d\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b                                             MRS     R1, CPSR                                             BIC     R1, R1, #MMSK                                             ORR     R1, R1, R2                                             MSR     CPSR_c, R1                                                                                          \/\/ \u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c SP \u0438 LR \u043f\u0440\u0435\u0440\u0432\u0430\u043d\u043d\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b                                             STR     SP, [R0, #_SP*4]                                             STR     LR, [R0, #_LR*4]                                                                                          \/\/ \u041a\u043e\u043d\u0442\u0435\u043a\u0441\u0442 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0441\u043e\u0445\u0440\u0430\u043d\u0451\u043d,                                              \/\/ \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0438\u043c \u043e\u0431\u0440\u0430\u0442\u043d\u043e \u0432 \u0440\u0435\u0436\u0438\u043c ABT                                             BIC     R1, R1, #MMSK                                             ORR     R1, R1, #MABT                                             MSR     CPSR_c, R1                                                                                          BL      emualate_ldr_str                                                                                          \/\/ \u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c CPSR \u043f\u0440\u0435\u0440\u0432\u0430\u043d\u043d\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b                                             LDR     R0, =context                                             LDR     R1, [R0, #_CPSR*4]                                             MSR     SPSR_cxsf, R1                                                                                          \/\/ \u0411\u0435\u0440\u0451\u043c \u0440\u0435\u0436\u0438\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 \u043f\u0440\u0435\u0440\u0432\u0430\u043d\u043d\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b                                             AND     R2, R1, #MMSK                                             CMP     R2, #MUSR                                             \/\/ \u0415\u0441\u043b\u0438 \u0440\u0435\u0436\u0438\u043c USR, \u0442\u043e \u0432\u043e\u0437\u044c\u043c\u0451\u043c SYS                                             MOVEQ   R2, #MSYS                                                                                          \/\/ \u0412\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0440\u0435\u0436\u0438\u043c \u043f\u0440\u0435\u0440\u0432\u0430\u043d\u043d\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b                                             MRS     R1, CPSR                                             BIC     R1, R1, #MMSK                                             ORR     R1, R1, R2                                             MSR     CPSR_c, R1                                                                                          \/\/ \u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c SP \u0438 LR \u043f\u0440\u0435\u0440\u0432\u0430\u043d\u043d\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b                                             LDR     SP, [R0, #_SP*4]                                             LDR     LR, [R0, #_LR*4]                                                                                          \/\/ \u0412\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0441\u043d\u043e\u0432\u0430 \u0440\u0435\u0436\u0438\u043c ABT                                             BIC     R1, R1, #MMSK                                             ORR     R1, R1, #MABT                                             MSR     CPSR_c, R1                                                                                          \/\/ \u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c PC                                             LDR     SP, =context                                             LDR     LR, [SP, #_PC*4]                                                                                          \/\/ \u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b R0-R12                                             LDMIA   SP, {R0-R12}                                                                                          \/\/ \u041f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u043a \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438                                             \/\/ \u0412\u043e\u0441\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0444\u043b\u0430\u0433\u043e\u0432                                             MOVS    PC, LR                                                                                                                                     END  <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">sniffer.c<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"cpp\">#include &quot;sniffer.h&quot; #include &quot;system.h&quot;  CONTEXT context; unsigned char abt_stack[0x4000]; unsigned char sniffer_map[0x100];  unsigned int  da_jumper    = 0; unsigned int  da_address   = 0;  void (*sniff_p)(unsigned int address, unsigned int value, unsigned int pc, char is_ldr) = 0;   __arm void sniff_proc(unsigned int address, unsigned int value, unsigned int pc, char is_ldr)  {   if (sniff_p)     sniff_p(address, value, pc, is_ldr); }   __arm int emualate_ldr_str_sub(CONTEXT *context) {      unsigned int  cpsr;     unsigned int  instruction;     unsigned int  address;       \/\/unsigned char cond;       char i, l, b, h, w, s, u, p;     char rn, rd, rm;       cpsr = context-&gt;s.cpsr;          \/\/ ARM     if (!GET_PSR_T(cpsr))     {       \/\/ \u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044e       instruction = WORD(context-&gt;s.pc);            \/\/ \u0411\u0435\u0440\u0451\u043c \u0443\u0441\u043b\u043e\u0432\u0438\u0435       \/\/cond = IARM_COND(instruction);           \/\/ \u0427\u0442\u0435\u043d\u0438\u0435 (LDR)       if (IARM_IS_LDR(instruction))       {         p = IARM_LDR_P(instruction);         i = IARM_LDR_I(instruction);         u = IARM_LDR_U(instruction);         w = IARM_LDR_W(instruction);               rn = IARM_Rn(instruction);         rd = IARM_Rd(instruction);         rm = IARM_Rm(instruction);               int sign;         unsigned int index;                 \/\/ \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0430\u0434\u0440\u0435\u0441\u0430         if (!i)           index = IARM_Imm12(instruction);         \/\/ \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0438\u0437 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430 \u0434\u043b\u044f \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0430\u0434\u0440\u0435\u0441\u0430         else          {           \/\/ \u0421\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u043e\u0442 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430           if (!IARM_ShiftImm(instruction) && !IARM_Shift(instruction))             index = context-&gt;a[rm];           \/\/ \u0421\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u043e\u0442 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430 \u0441\u043e \u0441\u0434\u0432\u0438\u0433\u043e\u043c           else           {             \/\/ \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0441\u0434\u0432\u0438\u0433\u0430             unsigned short si = IARM_ShiftImm(instruction);             \/\/ \u0422\u0438\u043f \u0441\u0434\u0432\u0438\u0433\u0430             unsigned short st = IARM_Shift(instruction);                        switch(st)             {               case IARM_Shift_LSL:                 index = context-&gt;a[rm] &lt;&lt; si;                 break;               case IARM_Shift_LSR:                 if (si)                  {                   index = 0;                   break;                 } else                 {                   index = context-&gt;a[rm] &gt;&gt; si;                   break;                 }             }          }       }              \/\/ \u0417\u043d\u0430\u0447\u0438\u0442 \u0431\u0443\u0434\u0435\u043c \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c       if (u) sign = 1;       \/\/ \u0417\u043d\u0430\u0447\u0438\u0442 \u0431\u0443\u0434\u0435\u043c \u043e\u0442\u043d\u0438\u043c\u0430\u0442\u044c       else   sign = -1;        \/\/ \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u043f\u043e\u0441\u0442-\u0438\u043d\u0434\u0435\u043a\u0441\u0430\u0446\u0438\u044e        if (!p)       {         address =  context-&gt;a[rn];         context-&gt;a[rn] = address + index*sign;         context-&gt;a[rd] = WORD(address - IO_ADDRESS_DIF);                  \/\/ \u041f\u0435\u0440\u0435\u0434\u0430\u0434\u0438\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u043e\u0431 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438         sniff_proc(address, context-&gt;a[rd], context-&gt;s.pc, 1);       } else       {         \/\/ \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u043f\u0440\u0435\u0434-\u0438\u043d\u0434\u0435\u043a\u0441\u0430\u0446\u0438\u044e          if (w)         {           address         =   context-&gt;a[rn] + index*sign;           context-&gt;a[rn]  =   address;           context-&gt;a[rd]  =   WORD(address - IO_ADDRESS_DIF);                      \/\/ \u041f\u0435\u0440\u0435\u0434\u0430\u0434\u0438\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u043e\u0431 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438           sniff_proc(address, context-&gt;a[rd], context-&gt;s.pc, 1);          }            \/\/ \u041d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u043f\u043e\u0441\u0442\/\u043f\u0440\u0435\u0434-\u0438\u043d\u0434\u0435\u043a\u0441\u0430\u0446\u0438\u044e           else          {               address         =   context-&gt;a[rn] + index*sign;             context-&gt;a[rd]  =   WORD(address - IO_ADDRESS_DIF);                          \/\/ \u041f\u0435\u0440\u0435\u0434\u0430\u0434\u0438\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u043e\u0431 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438             sniff_proc(address, context-&gt;a[rd], context-&gt;s.pc, 1);          }       }     }      \/\/ \u0417\u0430\u043f\u0438\u0441\u044c (STR)     else if (IARM_IS_STR(instruction))     {       p = IARM_LDR_P(instruction);       i = IARM_LDR_I(instruction);       u = IARM_LDR_U(instruction);       w = IARM_LDR_W(instruction);             rn = IARM_Rn(instruction);       rd = IARM_Rd(instruction);       rm = IARM_Rm(instruction);             int sign;       unsigned int index;            \/\/ \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0430\u0434\u0440\u0435\u0441\u0430       if (!i) index = IARM_Imm12(instruction);       \/\/ \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0438\u0437 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430 \u0434\u043b\u044f \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0430\u0434\u0440\u0435\u0441\u0430       else        {         \/\/ \u0421\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u043e\u0442 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430         if (!IARM_ShiftImm(instruction) && !IARM_Shift(instruction)) index = context-&gt;a[rm];         \/\/ \u0421\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u043e\u0442 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430 \u0441\u043e \u0441\u0434\u0432\u0438\u0433\u043e\u043c         else         {             \/\/ \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0441\u0434\u0432\u0438\u0433\u0430             unsigned short si = IARM_ShiftImm(instruction);             \/\/ \u0422\u0438\u043f \u0441\u0434\u0432\u0438\u0433\u0430             unsigned short st = IARM_Shift(instruction);                        switch(st)             {               case IARM_Shift_LSL:                 index = context-&gt;a[rm] &lt;&lt; si;                 break;               case IARM_Shift_LSR:                 if (si)                  {                   index = 0;                   break;                 } else                 {                   index = context-&gt;a[rm] &gt;&gt; si;                  break;                 }             }         }       }              \/\/ \u0417\u043d\u0430\u0447\u0438\u0442 \u0431\u0443\u0434\u0435\u043c \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c       if (u) sign = 1;       \/\/ \u0417\u043d\u0430\u0447\u0438\u0442 \u0431\u0443\u0434\u0435\u043c \u043e\u0442\u043d\u0438\u043c\u0430\u0442\u044c       else   sign = -1;        \/\/ \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u043f\u043e\u0441\u0442-\u0438\u043d\u0434\u0435\u043a\u0441\u0430\u0446\u0438\u044e        if (!p)       {         address                         = context-&gt;a[rn];         context-&gt;a[rn]                  = address + index*sign;          WORD(address - IO_ADDRESS_DIF)  = context-&gt;a[rd];                  \/\/ \u041f\u0435\u0440\u0435\u0434\u0430\u0434\u0438\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u043e\u0431 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438         sniff_proc(address, context-&gt;a[rd], context-&gt;s.pc, 0);       } else       {         \/\/ \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u043f\u0440\u0435\u0434-\u0438\u043d\u0434\u0435\u043a\u0441\u0430\u0446\u0438\u044e          if (w)         {           address                         = context-&gt;a[rn] + index*sign;           context-&gt;a[rn]                  = address;             WORD(address - IO_ADDRESS_DIF)  = context-&gt;a[rd];                      \/\/ \u041f\u0435\u0440\u0435\u0434\u0430\u0434\u0438\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u043e\u0431 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438           sniff_proc(address, context-&gt;a[rd], context-&gt;s.pc, 0);         }          \/\/ \u041d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u043f\u043e\u0441\u0442\/\u043f\u0440\u0435\u0434-\u0438\u043d\u0434\u0435\u043a\u0441\u0430\u0446\u0438\u044e          else         {             address                         = context-&gt;a[rn] + index*sign;;           WORD(address - IO_ADDRESS_DIF)  = context-&gt;a[rd];                      \/\/ \u041f\u0435\u0440\u0435\u0434\u0430\u0434\u0438\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u043e\u0431 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438           sniff_proc(address, context-&gt;a[rd], context-&gt;s.pc, 0);         }       }       }         context-&gt;s.pc += 4;     return 1;   } else    \/\/ THUMB   {     \/\/ \u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044e     instruction   = HWRD(context-&gt;s.pc);            if (ITHUMB_LS_WITHREGOFFSET(instruction))     {         rd              =   ITHUMB_LS_WITHREGOFFSET_Rd(instruction);                  l               =   ITHUMB_LS_WITHREGOFFSET_L(instruction);         b               =   ITHUMB_LS_WITHREGOFFSET_B(instruction);                      \/\/ \u0427\u0442\u0435\u043d\u0438\u0435         if (l)         {             \/\/ \u0421\u0447\u0438\u0442\u044b\u0432\u0430\u043d\u0438\u0435 \u0431\u0430\u0439\u0442\u0430             if (b)             context-&gt;a[rd]  =   BYTE(address - IO_ADDRESS_DIF);             else             \/\/ \u0421\u0447\u0438\u0442\u044b\u0432\u0430\u043d\u0438\u0435 \u0441\u043b\u043e\u0432\u0430             context-&gt;a[rd]  =   WORD(address - IO_ADDRESS_DIF);                          \/\/ \u041f\u0435\u0440\u0435\u0434\u0430\u0434\u0438\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u043e\u0431 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438             sniff_proc(address, context-&gt;a[rd], context-&gt;s.pc, 1);         }         \/\/ \u0417\u0430\u043f\u0438\u0441\u044c            else         {             \/\/ \u0417\u0430\u043f\u0438\u0441\u044c \u0431\u0430\u0439\u0442\u0430             if (b)             BYTE(address - IO_ADDRESS_DIF)   =  context-&gt;a[rd];             else             \/\/ \u0417\u0430\u043f\u0438\u0441\u044c \u0441\u043b\u043e\u0432\u0430             WORD(address - IO_ADDRESS_DIF)   =  context-&gt;a[rd];                          \/\/ \u041f\u0435\u0440\u0435\u0434\u0430\u0434\u0438\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u043e\u0431 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438             sniff_proc(address, context-&gt;a[rd], context-&gt;s.pc, 0);         }              } else  if (ITHUMB_LS_SIGNEXTBYTEHWRD(instruction))     {                  address         =   context-&gt;a[ITHUMB_LS_SIGNEXTBYTEHWRD_Rb(instruction)] + context-&gt;a[ITHUMB_LS_SIGNEXTBYTEHWRD_Ro(instruction)];         rd              =   ITHUMB_LS_SIGNEXTBYTEHWRD_Rd(instruction);                  h               =   ITHUMB_LS_SIGNEXTBYTEHWRD_H(instruction);         s               =   ITHUMB_LS_SIGNEXTBYTEHWRD_S(instruction);                      \/\/ \u0417\u0430\u043f\u0438\u0441\u044c \u043f\u043e\u043b\u0443\u0441\u043b\u043e\u0432\u0430         if (!h && !s)         {             HWRD(address - IO_ADDRESS_DIF)   =  context-&gt;a[rd];                          \/\/ \u041f\u0435\u0440\u0435\u0434\u0430\u0434\u0438\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u043e\u0431 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438             sniff_proc(address, context-&gt;a[rd], context-&gt;s.pc, 0);         \/\/\u0427\u0442\u0435\u043d\u0438\u0435 \u043f\u043e\u043b\u0443\u0441\u043b\u043e\u0432\u0430         } else if (h && !s)         {             context-&gt;a[rd]               =   HWRD(address - IO_ADDRESS_DIF);                          \/\/ \u041f\u0435\u0440\u0435\u0434\u0430\u0434\u0438\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u043e\u0431 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438             sniff_proc(address, context-&gt;a[rd], context-&gt;s.pc, 1);         \/\/ \u0427\u0442\u0435\u043d\u0438\u0435 \u0431\u0430\u0439\u0442\u0430 \u0441 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u044b\u043c \u0437\u043d\u0430\u043a\u043e\u043c         } else if (!h && s)         {             context-&gt;a[rd]               =   BYTE(address - IO_ADDRESS_DIF);              if (INS_BIT(context-&gt;a[rd], 7))               context-&gt;a[rd] |= 0xFFFFFF00;                          \/\/ \u041f\u0435\u0440\u0435\u0434\u0430\u0434\u0438\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u043e\u0431 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438             sniff_proc(address, context-&gt;a[rd], context-&gt;s.pc, 1);         \/\/ \u0427\u0442\u0435\u043d\u0438\u0435 \u043f\u043e\u043b\u0443\u0441\u043b\u043e\u0432\u0430 \u0441 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u044b\u043c \u0437\u043d\u0430\u043a\u043e\u043c         } else if (h && s)         {             context-&gt;a[rd]               =   HWRD(address - IO_ADDRESS_DIF);               if (INS_BIT(context-&gt;a[rd], 15))               context-&gt;a[rd] |= 0xFFFF0000;                          \/\/ \u041f\u0435\u0440\u0435\u0434\u0430\u0434\u0438\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u043e\u0431 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438             sniff_proc(address, context-&gt;a[rd], context-&gt;s.pc, 1);         }              } else  if (ITHUMB_LS_WITHIMMOFFSET(instruction))     {         rd              =   ITHUMB_LS_WITHIMMOFFSET_Rd(instruction);                  l               =   ITHUMB_LS_WITHIMMOFFSET_L(instruction);         b               =   ITHUMB_LS_WITHIMMOFFSET_B(instruction);                   if (b)         address        =   context-&gt;a[ITHUMB_LS_WITHIMMOFFSET_Rb(instruction)] + ITHUMB_LS_WITHIMMOFFSET_Offset(instruction);         else         address        =   context-&gt;a[ITHUMB_LS_WITHIMMOFFSET_Rb(instruction)] + (ITHUMB_LS_WITHIMMOFFSET_Offset(instruction) &lt;&lt; 2);                 \/\/ \u0427\u0442\u0435\u043d\u0438\u0435         if (l)         {             \/\/ \u0421\u0447\u0438\u0442\u044b\u0432\u0430\u043d\u0438\u0435 \u0431\u0430\u0439\u0442\u0430             if (b)             context-&gt;a[rd]  =   BYTE(address - IO_ADDRESS_DIF);             else             \/\/ \u0421\u0447\u0438\u0442\u044b\u0432\u0430\u043d\u0438\u0435 \u0441\u043b\u043e\u0432\u0430             context-&gt;a[rd]  =   WORD(address - IO_ADDRESS_DIF);                          \/\/ \u041f\u0435\u0440\u0435\u0434\u0430\u0434\u0438\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u043e\u0431 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438             sniff_proc(address, context-&gt;a[rd], context-&gt;s.pc, 1);         }         \/\/ \u0417\u0430\u043f\u0438\u0441\u044c            else         {             \/\/ \u0417\u0430\u043f\u0438\u0441\u044c \u0431\u0430\u0439\u0442\u0430             if (b)             BYTE(address - IO_ADDRESS_DIF)   =  context-&gt;a[rd];             else             \/\/ \u0417\u0430\u043f\u0438\u0441\u044c \u0441\u043b\u043e\u0432\u0430             WORD(address - IO_ADDRESS_DIF)   =  context-&gt;a[rd];                          \/\/ \u041f\u0435\u0440\u0435\u0434\u0430\u0434\u0438\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u043e\u0431 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438             sniff_proc(address, context-&gt;a[rd], context-&gt;s.pc, 0);         }              } else  if (ITHUMB_LS_HWRD(instruction))     {         rd              =   ITHUMB_LS_HWRD_Rd(instruction);         l               =   ITHUMB_LS_HWRD_L(instruction);         address         =   context-&gt;a[ITHUMB_LS_HWRD_Rb(instruction)] + (ITHUMB_LS_HWRD_Offset(instruction) &lt;&lt; 1);                  \/\/ \u0427\u0442\u0435\u043d\u0438\u0435         if (l)             context-&gt;a[rd]  =   HWRD(address - IO_ADDRESS_DIF);         \/\/ \u0417\u0430\u043f\u0438\u0441\u044c            else             HWRD(address - IO_ADDRESS_DIF)   =  context-&gt;a[rd];                  \/\/ \u041f\u0435\u0440\u0435\u0434\u0430\u0434\u0438\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u043e\u0431 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438         sniff_proc(address, context-&gt;a[rd], context-&gt;s.pc, l);     } else  if (ITHUMB_LS_SPREL(instruction))     {         address         =   context-&gt;s.sp + (ITHUMB_LS_SPREL_Offset(instruction) &lt;&lt; 2);         rd              =   ITHUMB_LS_SPREL_Rd(instruction);         l               =   ITHUMB_LS_SPREL_L(instruction);                    \/\/ \u0427\u0442\u0435\u043d\u0438\u0435         if (l)           context-&gt;a[rd]  =   WORD(address - IO_ADDRESS_DIF);         else         \/\/ \u0417\u0430\u043f\u0438\u0441\u044c             WORD(address - IO_ADDRESS_DIF)   =  context-&gt;a[rd];                  \/\/ \u041f\u0435\u0440\u0435\u0434\u0430\u0434\u0438\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u043e\u0431 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438         sniff_proc(address, context-&gt;a[rd], context-&gt;s.pc, l);     }           context-&gt;s.pc   +=  2;     return 1;   }   }  __arm void emualate_ldr_str(CONTEXT *context) {   SetDomainAccess(0xFFFFFFFF);   emualate_ldr_str_sub(context);   SetDomainAccess(1); }  void io_sniffer_init(void (*sniff_prc)(unsigned int address, unsigned int value, unsigned int pc, char is_ldr)) {   if (sniff_prc)   {     UnlockAllMemoryAccess();        da_jumper       =  WORD(VECTOR_DATAABORT_JUMPER_OFS);     da_address      =  WORD(VECTOR_DATAABORT_HANDLER_OFS);        WORD(VECTOR_DATAABORT_JUMPER_OFS)   =  VECTOR_DATAABORT_JUMPER;     WORD(VECTOR_DATAABORT_HANDLER_OFS)  =  (int)&da_handler;        SetMemoryAccess(1);        sniff_p         =   sniff_prc;          for (int i = 0; i &lt; 0x100; i++)       sniffer_map[i] = 0;   } }   void io_sniffer_deinit() {   UnlockAllMemoryAccess();      da_jumper     =  WORD(VECTOR_DATAABORT_JUMPER_OFS);   da_address    =  WORD(VECTOR_DATAABORT_HANDLER_OFS);      WORD(VECTOR_DATAABORT_JUMPER_OFS)   =  (unsigned int)&da_jumper;   WORD(VECTOR_DATAABORT_HANDLER_OFS)  =  (unsigned int)&da_address;      for (int i = 0; i &lt; 0x100; i++)   {     if (sniffer_map[i])     {       unsigned int io_address       = IO_ADDRESS | (i &lt;&lt; 20) | MMU_ATTR;       MMU_GRID(io_address)          = MMU_GRID_SETATTR(io_address);       MMU_GRID_MIRROR(io_address)   = 0x00000000;      }          sniffer_map[i] = 0;   }      SetMemoryAccess(1);      sniff_p       =   0; }  int io_sniffer_add(unsigned int io_address) {   if ((io_address &gt;&gt; 28) == 0x0F)   {     unsigned char sm    =  (io_address &gt;&gt; 20) & 0x0FF;     if (!sniffer_map[sm])     {       UnlockAllMemoryAccess();              MMU_GRID(io_address)          = 0x00000000;       MMU_GRID_MIRROR(io_address)   = MMU_GRID_SETATTR(io_address);              SetMemoryAccess(1);              sniffer_map[sm] = 1;       return 1;     }   }      return 0; }  int io_sniffer_remove(unsigned int io_address) {   if ((io_address &gt;&gt; 28) == 0x0F)   {     unsigned char sm =  (io_address &gt;&gt; 20) & 0x0FF;     if (sniffer_map[sm])     {       UnlockAllMemoryAccess();              MMU_GRID(io_address)          = MMU_GRID_SETATTR(io_address);       MMU_GRID_MIRROR(io_address)   = 0x00000000;              SetMemoryAccess(1);              sniffer_map[sm] = 0;       return 1;     }   }      return 0; } <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">system.c<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"cpp\">#include &quot;system.h&quot; #include &quot;intrinsics.h&quot;  #pragma swi_number=0x00 __swi __arm void system_mode_sg();  #pragma swi_number=0x04 __swi __arm void system_mode_nsg();  #pragma swi_number=0x81B5 __swi __arm int is_nsg();   __arm void SetDomainAccess(unsigned int domains) {  __MCR(15, 0, domains, 3, 0, 0);    for (int i = 0; i &lt; 20; i++); }  __arm void SetMemoryAccess(unsigned int domains) {  if (is_nsg()) system_mode_nsg();    else system_mode_sg();    __disable_interrupt();    SetDomainAccess(domains);  __enable_interrupt(); }  __arm void UnlockAllMemoryAccess() {  if (is_nsg()) system_mode_nsg();    else system_mode_sg();    __disable_interrupt();    SetDomainAccess(0xFFFFFFFF);  __enable_interrupt(); }  __arm void DisableInterrupt() {  if (is_nsg()) system_mode_nsg();    else system_mode_sg();  __disable_interrupt(); }  __arm void EnableInterrupt() {  if (is_nsg()) system_mode_nsg();    else system_mode_sg();  __enable_interrupt(); }  unsigned long cpsr = 0;  __arm void EnableModeForOSWork() {   cpsr = __get_CPSR();   cpsr &= 0xC0;   cpsr |= 0x1F;   __set_CPSR(cpsr); }  __arm void DisableModeForOSWork() {   if (cpsr)   __set_CPSR(cpsr);   cpsr = 0; } <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  <\/p>\n<h2>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442<\/h2>\n<p>  \u041d\u0443 \u0438 \u043d\u0430\u043f\u043e\u0441\u043b\u0435\u0434\u043e\u043a \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443, \u0447\u0442\u043e \u0436\u0435 \u0432 \u0438\u0442\u043e\u0433\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u0434\u043e\u0431\u0438\u0442\u044c\u0441\u044f, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u044d\u0442\u043e\u0442 \u0441\u043d\u0438\u0444\u0444\u0435\u0440.<br \/>  \u041d\u0430 \u0442\u0435\u043b\u0435\u0444\u043e\u043d \u0441\u043a\u0438\u0434\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0439 \u0444\u0430\u0439\u043b <b>io_sniffer.elf<\/b>, \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f.<br \/>  \u041d\u0430\u0441\u0442\u0440\u043e\u0438\u043c \u0441\u043d\u0438\u0444\u0444\u0435\u0440 \u0442\u0430\u043a, \u0447\u0442\u043e\u0431\u044b \u043e\u043d \u043e\u0442\u043b\u0430\u0432\u043b\u0438\u0432\u0430\u043b \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0441 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u043c <b>I2C<\/b> (<b>0xF4800000<\/b>).<br \/>  \u041f\u043e\u043c\u0438\u043c\u043e \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430, \u0435\u0441\u0442\u044c \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 <b>\u0442\u0430\u0441\u043a<\/b> (\u0442\u0440\u0435\u0434, \u043f\u043e\u0442\u043e\u043a), \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0451\u0442 \u0432\u0441\u0451 \u0432 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440 \u0447\u0435\u0440\u0435\u0437 \u043a\u0430\u0431\u0435\u043b\u044c, \u0430 \u0442\u0430\u043c \u0441\u0442\u043e\u0438\u0442 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430, \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u044e\u0449\u0430\u044f \u0434\u0430\u043d\u043d\u044b\u0435 \u0438 \u0432\u044b\u0432\u043e\u0434\u044f\u0449\u0430\u044f \u0438\u0445 \u0432 \u043e\u043a\u043d\u043e.<br \/>  \u0415\u0441\u043b\u0438 \u043d\u0430\u0436\u0430\u0442\u044c \u043d\u0430 \u043a\u043d\u043e\u043f\u043a\u0443 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0430, \u0442\u043e \u0435\u0433\u043e \u0434\u0438\u043d\u0430\u043c\u0438\u043a \u0438\u0437\u0434\u0430\u0441\u0442 \u0449\u0435\u043b\u0447\u043e\u043a (\u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u0445 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0430), \u044d\u0442\u043e \u043f\u043e\u0440\u043e\u0436\u0434\u0435\u043d\u0438\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 <b>Dialog<\/b>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0431\u043c\u0435\u043d\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u043e \u0448\u0438\u043d\u0435 <b>I2C<\/b> \u0441 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u043e\u043c. \u0418 \u043f\u043e \u0438\u0434\u0435\u0435, \u043c\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0443\u0432\u0438\u0434\u0435\u0442\u044c, \u0447\u0442\u043e \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0430 \u0442\u0430\u043a\u043e\u0433\u043e \u0434\u0435\u043b\u0430\u0435\u0442,<br \/>  \u0447\u0442\u043e \u044d\u0442\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0442\u0430\u043a \u0441\u0438\u043d\u0442\u0435\u0437\u0438\u0440\u0443\u0435\u0442 \u0437\u0432\u0443\u043a:<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">I2C: \u0449\u0435\u043b\u0447\u043e\u043a \u043a\u043b\u0430\u0432\u0438\u0448\u0438<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"bash\">0xA07EE064|I2C    |CLC      |0xF4800000|\u0417\u0430\u043f\u0438\u0441\u044c|0x00000100| 0xA07EE06C|I2C    |BUSCON   |0xF4800014|\u0417\u0430\u043f\u0438\u0441\u044c|0xA0007E11| 0xA07EE070|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x00880000| 0xA07EE07C|I2C    |SYSCON   |0xF4800010|\u0417\u0430\u043f\u0438\u0441\u044c|0x00880000| 0xA089550C|I2C    |ICR      |0xF48000FC|\u0427\u0442\u0435\u043d\u0438\u0435|0x00000000| 0xA0895514|I2C    |ICR      |0xF48000FC|\u0417\u0430\u043f\u0438\u0441\u044c|0x00004000| 0xA0895518|I2C    |ICR      |0xF48000FC|\u0427\u0442\u0435\u043d\u0438\u0435|0x00000000| 0xA0895520|I2C    |ICR      |0xF48000FC|\u0417\u0430\u043f\u0438\u0441\u044c|0x00001000| 0xA0895868|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x00880000| 0xA0895878|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x00880000| 0xA0895888|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x00880000| 0xA0895938|I2C    |RTB      |0xF4800018|\u0417\u0430\u043f\u0438\u0441\u044c|0x00001262| 0xA0895940|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x00880000| 0xA0895950|I2C    |SYSCON   |0xF4800010|\u0417\u0430\u043f\u0438\u0441\u044c|0x04880000| 0xA0895964|I2C    |WHBSYSCON|0xF4800020|\u0427\u0442\u0435\u043d\u0438\u0435|0x00000000| 0xA0895970|I2C    |WHBSYSCON|0xF4800020|\u0417\u0430\u043f\u0438\u0441\u044c|0x00100000| 0xA0895540|I2C    |ICR      |0xF48000FC|\u0427\u0442\u0435\u043d\u0438\u0435|0x00003000| 0xA0895548|I2C    |ICR      |0xF48000FC|\u0417\u0430\u043f\u0438\u0441\u044c|0x00007000| 0xA0895374|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x04980230| 0xA0895388|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x04980230| 0xA089539C|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x04980230| 0xA0895420|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x04980230| 0xA0895438|I2C    |SYSCON   |0xF4800010|\u0417\u0430\u043f\u0438\u0441\u044c|0x00980230| 0xA0895444|I2C    |RTB      |0xF4800018|\u0417\u0430\u043f\u0438\u0441\u044c|0x00000010| 0xA0895540|I2C    |ICR      |0xF48000FC|\u0427\u0442\u0435\u043d\u0438\u0435|0x00003000| 0xA0895548|I2C    |ICR      |0xF48000FC|\u0417\u0430\u043f\u0438\u0441\u044c|0x00007000| 0xA0895374|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x00980130| 0xA0895388|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x00980130| 0xA089539C|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x00980130| 0xA0895590|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x00980130| 0xA08955A8|I2C    |WHBSYSCON|0xF4800020|\u0427\u0442\u0435\u043d\u0438\u0435|0x00000000| 0xA08955B4|I2C    |WHBSYSCON|0xF4800020|\u0417\u0430\u043f\u0438\u0441\u044c|0x00080000| 0xA08955BC|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x008800A0| 0xA08955DC|I2C    |WHBSYSCON|0xF4800020|\u0427\u0442\u0435\u043d\u0438\u0435|0x00000000| 0xA08955E8|I2C    |WHBSYSCON|0xF4800020|\u0417\u0430\u043f\u0438\u0441\u044c|0x00000080| 0xA08955F0|I2C    |WHBSYSCON|0xF4800020|\u0427\u0442\u0435\u043d\u0438\u0435|0x00000000| 0xA08955FC|I2C    |WHBSYSCON|0xF4800020|\u0417\u0430\u043f\u0438\u0441\u044c|0x00000020| 0xA0895530|I2C    |ICR      |0xF48000FC|\u0417\u0430\u043f\u0438\u0441\u044c|0x00004000| 0xA07EDF94|I2C    |BUSCON   |0xF4800014|\u0417\u0430\u043f\u0438\u0441\u044c|0x00000000| 0xA07EDF9C|I2C    |CLC      |0xF4800000|\u0417\u0430\u043f\u0438\u0441\u044c|0x00000001| 0xA07EE064|I2C    |CLC      |0xF4800000|\u0417\u0430\u043f\u0438\u0441\u044c|0x00000100| 0xA07EE06C|I2C    |BUSCON   |0xF4800014|\u0417\u0430\u043f\u0438\u0441\u044c|0xA0007E11| 0xA07EE070|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x00880000| 0xA07EE07C|I2C    |SYSCON   |0xF4800010|\u0417\u0430\u043f\u0438\u0441\u044c|0x00880000| 0xA089550C|I2C    |ICR      |0xF48000FC|\u0427\u0442\u0435\u043d\u0438\u0435|0x00000000| 0xA0895514|I2C    |ICR      |0xF48000FC|\u0417\u0430\u043f\u0438\u0441\u044c|0x00004000| 0xA0895518|I2C    |ICR      |0xF48000FC|\u0427\u0442\u0435\u043d\u0438\u0435|0x00000000| 0xA0895520|I2C    |ICR      |0xF48000FC|\u0417\u0430\u043f\u0438\u0441\u044c|0x00001000| 0xA0895868|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x00880000| 0xA0895878|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x00880000| 0xA0895888|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x00880000| 0xA0895938|I2C    |RTB      |0xF4800018|\u0417\u0430\u043f\u0438\u0441\u044c|0x00001362| 0xA0895940|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x00880000| 0xA0895950|I2C    |SYSCON   |0xF4800010|\u0417\u0430\u043f\u0438\u0441\u044c|0x04880000| 0xA0895964|I2C    |WHBSYSCON|0xF4800020|\u0427\u0442\u0435\u043d\u0438\u0435|0x00000000| 0xA0895970|I2C    |WHBSYSCON|0xF4800020|\u0417\u0430\u043f\u0438\u0441\u044c|0x00100000| 0xA0895540|I2C    |ICR      |0xF48000FC|\u0427\u0442\u0435\u043d\u0438\u0435|0x00003000| 0xA0895548|I2C    |ICR      |0xF48000FC|\u0417\u0430\u043f\u0438\u0441\u044c|0x00007000| 0xA0895374|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x04980230| 0xA0895388|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x04980230| 0xA089539C|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x04980230| 0xA0895420|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x04980230| 0xA0895438|I2C    |SYSCON   |0xF4800010|\u0417\u0430\u043f\u0438\u0441\u044c|0x00980230| 0xA0895444|I2C    |RTB      |0xF4800018|\u0417\u0430\u043f\u0438\u0441\u044c|0x00000010| 0xA0895540|I2C    |ICR      |0xF48000FC|\u0427\u0442\u0435\u043d\u0438\u0435|0x00003000| 0xA0895548|I2C    |ICR      |0xF48000FC|\u0417\u0430\u043f\u0438\u0441\u044c|0x00007000| 0xA0895374|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x00980130| 0xA0895388|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x00980130| 0xA089539C|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x00980130| 0xA0895590|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x00980130| 0xA08955A8|I2C    |WHBSYSCON|0xF4800020|\u0427\u0442\u0435\u043d\u0438\u0435|0x00000000| 0xA08955B4|I2C    |WHBSYSCON|0xF4800020|\u0417\u0430\u043f\u0438\u0441\u044c|0x00080000| 0xA08955BC|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x008800A0| 0xA08955DC|I2C    |WHBSYSCON|0xF4800020|\u0427\u0442\u0435\u043d\u0438\u0435|0x00000000| 0xA08955E8|I2C    |WHBSYSCON|0xF4800020|\u0417\u0430\u043f\u0438\u0441\u044c|0x00000080| 0xA08955F0|I2C    |WHBSYSCON|0xF4800020|\u0427\u0442\u0435\u043d\u0438\u0435|0x00000000| 0xA08955FC|I2C    |WHBSYSCON|0xF4800020|\u0417\u0430\u043f\u0438\u0441\u044c|0x00000020| 0xA0895530|I2C    |ICR      |0xF48000FC|\u0417\u0430\u043f\u0438\u0441\u044c|0x00004000| 0xA07EDF94|I2C    |BUSCON   |0xF4800014|\u0417\u0430\u043f\u0438\u0441\u044c|0x00000000| 0xA07EDF9C|I2C    |CLC      |0xF4800000|\u0417\u0430\u043f\u0438\u0441\u044c|0x00000001| 0xA07EE064|I2C    |CLC      |0xF4800000|\u0417\u0430\u043f\u0438\u0441\u044c|0x00000100| 0xA07EE06C|I2C    |BUSCON   |0xF4800014|\u0417\u0430\u043f\u0438\u0441\u044c|0xA0007E11| 0xA07EE070|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x00880000| 0xA07EE07C|I2C    |SYSCON   |0xF4800010|\u0417\u0430\u043f\u0438\u0441\u044c|0x00880000| 0xA089550C|I2C    |ICR      |0xF48000FC|\u0427\u0442\u0435\u043d\u0438\u0435|0x00000000| 0xA0895514|I2C    |ICR      |0xF48000FC|\u0417\u0430\u043f\u0438\u0441\u044c|0x00004000| 0xA0895518|I2C    |ICR      |0xF48000FC|\u0427\u0442\u0435\u043d\u0438\u0435|0x00000000| 0xA0895520|I2C    |ICR      |0xF48000FC|\u0417\u0430\u043f\u0438\u0441\u044c|0x00001000| 0xA0895868|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x00880000| 0xA0895878|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x00880000| 0xA0895888|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x00880000| 0xA0895938|I2C    |RTB      |0xF4800018|\u0417\u0430\u043f\u0438\u0441\u044c|0x00004462| 0xA0895940|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x00880000| 0xA0895950|I2C    |SYSCON   |0xF4800010|\u0417\u0430\u043f\u0438\u0441\u044c|0x04880000| 0xA0895964|I2C    |WHBSYSCON|0xF4800020|\u0427\u0442\u0435\u043d\u0438\u0435|0x00000000| 0xA0895970|I2C    |WHBSYSCON|0xF4800020|\u0417\u0430\u043f\u0438\u0441\u044c|0x00100000| 0xA0895540|I2C    |ICR      |0xF48000FC|\u0427\u0442\u0435\u043d\u0438\u0435|0x00003000| 0xA0895548|I2C    |ICR      |0xF48000FC|\u0417\u0430\u043f\u0438\u0441\u044c|0x00007000| 0xA0895374|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x04980230| 0xA0895388|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x04980230| 0xA089539C|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x04980230| 0xA0895420|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x04980230| 0xA0895438|I2C    |SYSCON   |0xF4800010|\u0417\u0430\u043f\u0438\u0441\u044c|0x00980230| 0xA0895444|I2C    |RTB      |0xF4800018|\u0417\u0430\u043f\u0438\u0441\u044c|0x00000062| 0xA0895540|I2C    |ICR      |0xF48000FC|\u0427\u0442\u0435\u043d\u0438\u0435|0x00003000| 0xA0895548|I2C    |ICR      |0xF48000FC|\u0417\u0430\u043f\u0438\u0441\u044c|0x00007000| 0xA0895374|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x00980130| 0xA0895388|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x00980130| 0xA089539C|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x00980130| 0xA0895590|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x00980130| 0xA08955A8|I2C    |WHBSYSCON|0xF4800020|\u0427\u0442\u0435\u043d\u0438\u0435|0x00000000| 0xA08955B4|I2C    |WHBSYSCON|0xF4800020|\u0417\u0430\u043f\u0438\u0441\u044c|0x00080000| 0xA08955BC|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x008800A0| 0xA08955DC|I2C    |WHBSYSCON|0xF4800020|\u0427\u0442\u0435\u043d\u0438\u0435|0x00000000| 0xA08955E8|I2C    |WHBSYSCON|0xF4800020|\u0417\u0430\u043f\u0438\u0441\u044c|0x00000080| 0xA08955F0|I2C    |WHBSYSCON|0xF4800020|\u0427\u0442\u0435\u043d\u0438\u0435|0x00000000| 0xA08955FC|I2C    |WHBSYSCON|0xF4800020|\u0417\u0430\u043f\u0438\u0441\u044c|0x00000020| 0xA0895530|I2C    |ICR      |0xF48000FC|\u0417\u0430\u043f\u0438\u0441\u044c|0x00004000| 0xA07EDF94|I2C    |BUSCON   |0xF4800014|\u0417\u0430\u043f\u0438\u0441\u044c|0x00000000| 0xA07EDF9C|I2C    |CLC      |0xF4800000|\u0417\u0430\u043f\u0438\u0441\u044c|0x00000001| 0xA07EE064|I2C    |CLC      |0xF4800000|\u0417\u0430\u043f\u0438\u0441\u044c|0x00000100| 0xA07EE06C|I2C    |BUSCON   |0xF4800014|\u0417\u0430\u043f\u0438\u0441\u044c|0xA0007E11| 0xA07EE070|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x00880000| 0xA07EE07C|I2C    |SYSCON   |0xF4800010|\u0417\u0430\u043f\u0438\u0441\u044c|0x00880000| 0xA089550C|I2C    |ICR      |0xF48000FC|\u0427\u0442\u0435\u043d\u0438\u0435|0x00000000| 0xA0895514|I2C    |ICR      |0xF48000FC|\u0417\u0430\u043f\u0438\u0441\u044c|0x00004000| 0xA0895518|I2C    |ICR      |0xF48000FC|\u0427\u0442\u0435\u043d\u0438\u0435|0x00000000| 0xA0895520|I2C    |ICR      |0xF48000FC|\u0417\u0430\u043f\u0438\u0441\u044c|0x00001000| 0xA0895868|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x00880000| 0xA0895878|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x00880000| 0xA0895888|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x00880000| 0xA0895938|I2C    |RTB      |0xF4800018|\u0417\u0430\u043f\u0438\u0441\u044c|0x00004662| 0xA0895940|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x00880000| 0xA0895950|I2C    |SYSCON   |0xF4800010|\u0417\u0430\u043f\u0438\u0441\u044c|0x04880000| 0xA0895964|I2C    |WHBSYSCON|0xF4800020|\u0427\u0442\u0435\u043d\u0438\u0435|0x00000000| 0xA0895970|I2C    |WHBSYSCON|0xF4800020|\u0417\u0430\u043f\u0438\u0441\u044c|0x00100000| 0xA0895540|I2C    |ICR      |0xF48000FC|\u0427\u0442\u0435\u043d\u0438\u0435|0x00003000| 0xA0895548|I2C    |ICR      |0xF48000FC|\u0417\u0430\u043f\u0438\u0441\u044c|0x00007000| 0xA0895374|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x04980230| 0xA0895388|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x04980230| 0xA089539C|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x04980230| 0xA0895420|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x04980230| 0xA0895438|I2C    |SYSCON   |0xF4800010|\u0417\u0430\u043f\u0438\u0441\u044c|0x00980230| 0xA0895444|I2C    |RTB      |0xF4800018|\u0417\u0430\u043f\u0438\u0441\u044c|0x00000067| 0xA0895540|I2C    |ICR      |0xF48000FC|\u0427\u0442\u0435\u043d\u0438\u0435|0x00003000| 0xA0895548|I2C    |ICR      |0xF48000FC|\u0417\u0430\u043f\u0438\u0441\u044c|0x00007000| 0xA0895374|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x00980130| 0xA0895388|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x00980130| 0xA089539C|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x00980130| 0xA0895590|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x00980130| 0xA08955A8|I2C    |WHBSYSCON|0xF4800020|\u0427\u0442\u0435\u043d\u0438\u0435|0x00000000| 0xA08955B4|I2C    |WHBSYSCON|0xF4800020|\u0417\u0430\u043f\u0438\u0441\u044c|0x00080000| 0xA08955BC|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x008800A0| 0xA08955DC|I2C    |WHBSYSCON|0xF4800020|\u0427\u0442\u0435\u043d\u0438\u0435|0x00000000| 0xA08955E8|I2C    |WHBSYSCON|0xF4800020|\u0417\u0430\u043f\u0438\u0441\u044c|0x00000080| 0xA08955F0|I2C    |WHBSYSCON|0xF4800020|\u0427\u0442\u0435\u043d\u0438\u0435|0x00000000| 0xA08955FC|I2C    |WHBSYSCON|0xF4800020|\u0417\u0430\u043f\u0438\u0441\u044c|0x00000020| 0xA0895530|I2C    |ICR      |0xF48000FC|\u0417\u0430\u043f\u0438\u0441\u044c|0x00004000| 0xA07EDF94|I2C    |BUSCON   |0xF4800014|\u0417\u0430\u043f\u0438\u0441\u044c|0x00000000| 0xA07EDF9C|I2C    |CLC      |0xF4800000|\u0417\u0430\u043f\u0438\u0441\u044c|0x00000001| 0xA07EE064|I2C    |CLC      |0xF4800000|\u0417\u0430\u043f\u0438\u0441\u044c|0x00000100| 0xA07EE06C|I2C    |BUSCON   |0xF4800014|\u0417\u0430\u043f\u0438\u0441\u044c|0xA0007E11| 0xA07EE070|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x00880000| 0xA07EE07C|I2C    |SYSCON   |0xF4800010|\u0417\u0430\u043f\u0438\u0441\u044c|0x00880000| 0xA089550C|I2C    |ICR      |0xF48000FC|\u0427\u0442\u0435\u043d\u0438\u0435|0x00000000| 0xA0895514|I2C    |ICR      |0xF48000FC|\u0417\u0430\u043f\u0438\u0441\u044c|0x00004000| 0xA0895518|I2C    |ICR      |0xF48000FC|\u0427\u0442\u0435\u043d\u0438\u0435|0x00000000| 0xA0895520|I2C    |ICR      |0xF48000FC|\u0417\u0430\u043f\u0438\u0441\u044c|0x00001000| 0xA0895868|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x00880000| 0xA0895878|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x00880000| 0xA0895888|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x00880000| 0xA0895938|I2C    |RTB      |0xF4800018|\u0417\u0430\u043f\u0438\u0441\u044c|0x00004262| 0xA0895940|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x00880000| 0xA0895950|I2C    |SYSCON   |0xF4800010|\u0417\u0430\u043f\u0438\u0441\u044c|0x04880000| 0xA0895964|I2C    |WHBSYSCON|0xF4800020|\u0427\u0442\u0435\u043d\u0438\u0435|0x00000000| 0xA0895970|I2C    |WHBSYSCON|0xF4800020|\u0417\u0430\u043f\u0438\u0441\u044c|0x00100000| 0xA0895540|I2C    |ICR      |0xF48000FC|\u0427\u0442\u0435\u043d\u0438\u0435|0x00003000| 0xA0895548|I2C    |ICR      |0xF48000FC|\u0417\u0430\u043f\u0438\u0441\u044c|0x00007000| 0xA0895374|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x04980230| 0xA0895388|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x04980230| 0xA089539C|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x04980230| 0xA0895420|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x04980230| 0xA0895438|I2C    |SYSCON   |0xF4800010|\u0417\u0430\u043f\u0438\u0441\u044c|0x00980230| 0xA0895444|I2C    |RTB      |0xF4800018|\u0417\u0430\u043f\u0438\u0441\u044c|0x00000008| 0xA0895540|I2C    |ICR      |0xF48000FC|\u0427\u0442\u0435\u043d\u0438\u0435|0x00003000| 0xA0895548|I2C    |ICR      |0xF48000FC|\u0417\u0430\u043f\u0438\u0441\u044c|0x00007000| 0xA0895374|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x00980130| 0xA0895388|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x00980130| 0xA089539C|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x00980130| 0xA0895590|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x00980130| 0xA08955A8|I2C    |WHBSYSCON|0xF4800020|\u0427\u0442\u0435\u043d\u0438\u0435|0x00000000| 0xA08955B4|I2C    |WHBSYSCON|0xF4800020|\u0417\u0430\u043f\u0438\u0441\u044c|0x00080000| 0xA08955BC|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x008800A0| 0xA08955DC|I2C    |WHBSYSCON|0xF4800020|\u0427\u0442\u0435\u043d\u0438\u0435|0x00000000| 0xA08955E8|I2C    |WHBSYSCON|0xF4800020|\u0417\u0430\u043f\u0438\u0441\u044c|0x00000080| 0xA08955F0|I2C    |WHBSYSCON|0xF4800020|\u0427\u0442\u0435\u043d\u0438\u0435|0x00000000| 0xA08955FC|I2C    |WHBSYSCON|0xF4800020|\u0417\u0430\u043f\u0438\u0441\u044c|0x00000020| 0xA0895530|I2C    |ICR      |0xF48000FC|\u0417\u0430\u043f\u0438\u0441\u044c|0x00004000| 0xA07EDF94|I2C    |BUSCON   |0xF4800014|\u0417\u0430\u043f\u0438\u0441\u044c|0x00000000| 0xA07EDF9C|I2C    |CLC      |0xF4800000|\u0417\u0430\u043f\u0438\u0441\u044c|0x00000001| 0xA07EE064|I2C    |CLC      |0xF4800000|\u0417\u0430\u043f\u0438\u0441\u044c|0x00000100| 0xA07EE06C|I2C    |BUSCON   |0xF4800014|\u0417\u0430\u043f\u0438\u0441\u044c|0xA0007E11| 0xA07EE070|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x00880000| 0xA07EE07C|I2C    |SYSCON   |0xF4800010|\u0417\u0430\u043f\u0438\u0441\u044c|0x00880000| 0xA089550C|I2C    |ICR      |0xF48000FC|\u0427\u0442\u0435\u043d\u0438\u0435|0x00000000| 0xA0895514|I2C    |ICR      |0xF48000FC|\u0417\u0430\u043f\u0438\u0441\u044c|0x00004000| 0xA0895518|I2C    |ICR      |0xF48000FC|\u0427\u0442\u0435\u043d\u0438\u0435|0x00000000| 0xA0895520|I2C    |ICR      |0xF48000FC|\u0417\u0430\u043f\u0438\u0441\u044c|0x00001000| 0xA0895868|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x00880000| 0xA0895878|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x00880000| 0xA0895888|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x00880000| 0xA0895938|I2C    |RTB      |0xF4800018|\u0417\u0430\u043f\u0438\u0441\u044c|0x00004462| 0xA0895940|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x00880000| 0xA0895950|I2C    |SYSCON   |0xF4800010|\u0417\u0430\u043f\u0438\u0441\u044c|0x04880000| 0xA0895964|I2C    |WHBSYSCON|0xF4800020|\u0427\u0442\u0435\u043d\u0438\u0435|0x00000000| 0xA0895970|I2C    |WHBSYSCON|0xF4800020|\u0417\u0430\u043f\u0438\u0441\u044c|0x00100000| 0xA0895540|I2C    |ICR      |0xF48000FC|\u0427\u0442\u0435\u043d\u0438\u0435|0x00003000| 0xA0895548|I2C    |ICR      |0xF48000FC|\u0417\u0430\u043f\u0438\u0441\u044c|0x00007000| 0xA0895374|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x04980230| 0xA0895388|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x04980230| 0xA089539C|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x04980230| 0xA0895420|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x04980230| 0xA0895438|I2C    |SYSCON   |0xF4800010|\u0417\u0430\u043f\u0438\u0441\u044c|0x00980230| 0xA0895444|I2C    |RTB      |0xF4800018|\u0417\u0430\u043f\u0438\u0441\u044c|0x00000062| 0xA0895540|I2C    |ICR      |0xF48000FC|\u0427\u0442\u0435\u043d\u0438\u0435|0x00003000| 0xA0895548|I2C    |ICR      |0xF48000FC|\u0417\u0430\u043f\u0438\u0441\u044c|0x00007000| 0xA0895374|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x00980130| 0xA0895388|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x00980130| 0xA089539C|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x00980130| 0xA0895590|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x00980130| 0xA08955A8|I2C    |WHBSYSCON|0xF4800020|\u0427\u0442\u0435\u043d\u0438\u0435|0x00000000| 0xA08955B4|I2C    |WHBSYSCON|0xF4800020|\u0417\u0430\u043f\u0438\u0441\u044c|0x00080000| 0xA08955BC|I2C    |SYSCON   |0xF4800010|\u0427\u0442\u0435\u043d\u0438\u0435|0x008800A0| 0xA08955DC|I2C    |WHBSYSCON|0xF4800020|\u0427\u0442\u0435\u043d\u0438\u0435|0x00000000| 0xA08955E8|I2C    |WHBSYSCON|0xF4800020|\u0417\u0430\u043f\u0438\u0441\u044c|0x00000080| 0xA08955F0|I2C    |WHBSYSCON|0xF4800020|\u0427\u0442\u0435\u043d\u0438\u0435|0x00000000| 0xA08955FC|I2C    |WHBSYSCON|0xF4800020|\u0417\u0430\u043f\u0438\u0441\u044c|0x00000020| 0xA0895530|I2C    |ICR      |0xF48000FC|\u0417\u0430\u043f\u0438\u0441\u044c|0x00004000| 0xA07EDF94|I2C    |BUSCON   |0xF4800014|\u0417\u0430\u043f\u0438\u0441\u044c|0x00000000| 0xA07EDF9C|I2C    |CLC      |0xF4800000|\u0417\u0430\u043f\u0438\u0441\u044c|0x00000001| <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  \u0410 \u0432\u043e\u0442 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0430 8-\u0431\u0430\u0439\u0442\u043d\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430 (\u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0443\u0433\u0430\u0434\u0430\u0439\u0442\u0435) <b>habr.txt<\/b> \u043f\u043e \u0418\u041a-\u043f\u043e\u0440\u0442\u0443<br \/>  \u0441 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0430 <b>Siemens CF75<\/b> (\u043d\u0430 \u043d\u0451\u043c \u0441\u043d\u0438\u0444\u0444\u0435\u0440) \u0432 <b>Siemens CX75<\/b>.<br \/>  \u041e\u0442\u043b\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u0442\u043e\u043b\u044c\u043a\u043e \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b \u0434\u0430\u043d\u043d\u044b\u0445:<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">USART1: \u0418\u041a \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0430 \u0444\u0430\u0439\u043b\u0430 habr.txt<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"bash\">0xA0A3F3B0|USART1 |TXB      |0xF1800020|\u0417\u0430\u043f\u0438\u0441\u044c|  FF FF FF FF FF FF FF FF FF FF FF C0 FF 3F 01 10 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u044f?..  64 77 01 FF FF FF FF 01 00 00 06 7C C1 C1       dw.\u044f\u044f\u044f\u044f....|\u0411\u0411   0xA07F1BC0|USART1 |RXB      |0xF1800024|\u0427\u0442\u0435\u043d\u0438\u0435|  C1 FF FF FF FF FF FF FF FF FF FF C0 FE BF 01 40 \u0411\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u044e\u0457.@  90 81 09 10 64 77 01 01 00 00 B1 24 00 53 49 45 \u0452\u0403..dw....\u00b1$.SIE  4D 45 4E 53 20 43 58 37 35 3E 35 C1             MENS CX75&gt;5\u0411     0xA0A3F3B0|USART1 |TXB      |0xF1800020|\u0417\u0430\u043f\u0438\u0441\u044c|  FF FF FF FF FF FF FF FF FF FF FF C0 FF 3F 01 10 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u044f?..  64 77 01 FF FF FF FF 01 01 00 DE 65 C1 C1       dw.\u044f\u044f\u044f\u044f...\u042ee\u0411\u0411   0xA07F1BC0|USART1 |RXB      |0xF1800024|\u0427\u0442\u0435\u043d\u0438\u0435|  C1                                              \u0411                0xA0A3F3B0|USART1 |TXB      |0xF1800020|\u0417\u0430\u043f\u0438\u0441\u044c|  FF FF FF FF FF FF FF FF FF FF FF C0 FF 3F 01 10 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u044f?..  64 77 01 FF FF FF FF 01 02 00 B6 4F C1 C1 FF FF dw.\u044f\u044f\u044f\u044f...\u00b6O\u0411\u0411\u044f\u044f  FF FF FF FF FF FF FF FF FF C0 FF 3F 01 10 64 77 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u044f?..dw  01 FF FF FF FF 01 03 00 6E 56 C1 C1 FF FF FF FF .\u044f\u044f\u044f\u044f...nV\u0411\u0411\u044f\u044f\u044f\u044f  FF FF FF FF FF FF FF C0 FF 3F 01 10 64 77 01 FF \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u044f?..dw.\u044f  FF FF FF 01 04 00 66 1B C1 C1 FF FF FF FF FF FF \u044f\u044f\u044f...f.\u0411\u0411\u044f\u044f\u044f\u044f\u044f\u044f  FF FF FF FF FF C0 FF 3F 01 10 64 77 01 FF FF FF \u044f\u044f\u044f\u044f\u044f\u0410\u044f?..dw.\u044f\u044f\u044f  FF 01 05 00 BE 02 C1 C1 FF FF FF FF FF FF FF FF \u044f...\u0455.\u0411\u0411\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f  FF FF FF C0 FF 3F 01 10 64 77 01 FF FF FF FF 01 \u044f\u044f\u044f\u0410\u044f?..dw.\u044f\u044f\u044f\u044f.  FF 00 B1 24 00 53 49 45 4D 45 4E 53 20 43 46 37 \u044f.\u00b1$.SIEMENS CF7  35 51 CD C1 C1 FF FF FF FF FF FF FF FF FF FF FF 5Q\u041d\u0411\u0411\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f  C0 FF 93 10 64 77 01 40 90 81 09 B4 01 01 3E 82 \u0410\u044f\u201c.dw.@\u0452\u0403.\u0491..&gt;\u201a  01 07 83 01 0F 84 01 01 85 01 04 86 01 07 08 01 ..\u0453..\u201e..\u2026..\u2020....  FF 25 82 C1 C1                                  \u044f%\u201a\u0411\u0411            0xA07F1BC0|USART1 |RXB      |0xF1800024|\u0427\u0442\u0435\u043d\u0438\u0435|  C1 FF FF FF FF FF FF FF FF FF FF C0 B4 73 40 90 \u0411\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u0491s@\u0452  81 09 10 64 77 01 01 01 3E 82 01 07 83 01 0F 84 \u0403..dw...&gt;\u201a..\u0453..\u201e  01 01 85 01 04 86 01 07 08 01 FF 60 18 C1       ..\u2026..\u2020....\u044f`.\u0411   0xA0A3F3B0|USART1 |TXB      |0xF1800020|\u0417\u0430\u043f\u0438\u0441\u044c|  FF FF FF FF FF FF FF FF FF FF FF FF FF C0 B5 11 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u00b5.  99 4A C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 \u2122J\u0411\u0411\u0411\u0411\u0411\u0411\u0411\u0411\u0411\u0411\u0411\u0411\u0411\u0411  C1 C1                                           \u0411\u0411               0xA07F1BC0|USART1 |RXB      |0xF1800024|\u0427\u0442\u0435\u043d\u0438\u0435|  FF FF FF FF FF FF FF FF FF FF FF FF C0 B4 11 41 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u0491.A  53 C1                                           S\u0411               0xA0A3F3B0|USART1 |TXB      |0xF1800020|\u0417\u0430\u043f\u0438\u0441\u044c|  FF FF FF FF FF FF FF FF FF FF FF FF FF C0 B5 10 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u00b5.  80 02 01 00 34 14 C1 C1                         \u0402...4.\u0411\u0411         0xA07F1BC0|USART1 |RXB      |0xF1800024|\u0427\u0442\u0435\u043d\u0438\u0435|  FF FF FF FF FF FF FF FF FF FF FF FF C0 B4 31 43 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u04911C  72 C1                                           r\u0411               0xA0A3F3B0|USART1 |TXB      |0xF1800020|\u0417\u0430\u043f\u0438\u0441\u044c|  FF FF FF FF FF FF FF FF FF FF FF FF FF C0 B5 11 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u00b5.  99 4A C1 C1                                     \u2122J\u0411\u0411             0xA07F1BC0|USART1 |RXB      |0xF1800024|\u0427\u0442\u0435\u043d\u0438\u0435|  FF FF FF FF FF FF FF FF FF FF FF FF C0 B4 30 82 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u04910\u201a  00 81 00 8C 70 C1                               .\u0403.\u040ap\u0411           0xA0A3F3B0|USART1 |TXB      |0xF1800020|\u0417\u0430\u043f\u0438\u0441\u044c|  FF FF FF FF FF FF FF FF FF FF FF FF FF C0 B5 32 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u00b52  00 02 84 04 4F 42 45 58 13 49 72 44 41 3A 54 69 ..\u201e.OBEX.IrDA:Ti  6E 79 54 50 3A 4C 73 61 70 53 65 6C 04 AF C1 C1 nyTP:LsapSel.\u0407\u0411\u0411 0xA07F1BC0|USART1 |RXB      |0xF1800024|\u0427\u0442\u0435\u043d\u0438\u0435|  FF FF FF FF FF FF FF FF FF FF FF FF C0 B4 51 45 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u0491QE  11 C1                                           .\u0411               0xA0A3F3B0|USART1 |TXB      |0xF1800020|\u0417\u0430\u043f\u0438\u0441\u044c|  FF FF FF FF FF FF FF FF FF FF FF FF FF C0 B5 31 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u00b51  9B 6B C1 C1                                     \u203ak\u0411\u0411             0xA07F1BC0|USART1 |RXB      |0xF1800024|\u0427\u0442\u0435\u043d\u0438\u0435|  FF FF FF FF FF FF FF FF FF FF FF FF C0 B4 52 02 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u0491R.  00 84 00 00 01 00 02 01 00 00 00 04 8D AF C1    .\u201e..........\u040c\u0407\u0411  0xA0A3F3B0|USART1 |TXB      |0xF1800020|\u0417\u0430\u043f\u0438\u0441\u044c|  FF FF FF FF FF FF FF FF FF FF FF FF FF C0 B5 54 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u00b5T  84 04 01 00 04 18 B5 C1 C1                      \u201e.....\u00b5\u0411\u0411        0xA07F1BC0|USART1 |RXB      |0xF1800024|\u0427\u0442\u0435\u043d\u0438\u0435|  FF FF FF FF FF FF FF FF FF FF FF FF C0 B4 71 47 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u0491qG  30 C1                                           0\u0411               0xA0A3F3B0|USART1 |TXB      |0xF1800020|\u0417\u0430\u043f\u0438\u0441\u044c|  FF FF FF FF FF FF FF FF FF FF FF FF FF C0 B5 51 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u00b5Q  9D 08 C1 C1                                     \u045c.\u0411\u0411             0xA07F1BC0|USART1 |RXB      |0xF1800024|\u0427\u0442\u0435\u043d\u0438\u0435|  FF FF FF FF FF FF FF FF FF FF FF FF C0 B4 74 84 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u0491t\u201e  04 81 00 04 41 A3 C1                            .\u0403..A\u0408\u0411          0xA0A3F3B0|USART1 |TXB      |0xF1800020|\u0417\u0430\u043f\u0438\u0441\u044c|  FF FF FF FF FF FF FF FF FF FF FF FF FF C0 B5 71 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u00b5q  9F 29 C1 C1                                     \u045f)\u0411\u0411             0xA07F1BC0|USART1 |RXB      |0xF1800024|\u0427\u0442\u0435\u043d\u0438\u0435|  FF FF FF FF FF FF FF FF FF FF FF FF C0 B4 71 47 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u0491qG  30 C1                                           0\u0411               0xA0A3F3B0|USART1 |TXB      |0xF1800020|\u0417\u0430\u043f\u0438\u0441\u044c|  FF FF FF FF FF FF FF FF FF FF FF FF FF C0 B5 71 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u00b5q  9F 29 C1 C1                                     \u045f)\u0411\u0411             0xA07F1BC0|USART1 |RXB      |0xF1800024|\u0427\u0442\u0435\u043d\u0438\u0435|  FF FF FF FF FF FF FF FF FF FF FF FF C0 B4 71 47 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u0491qG  30 C1                                           0\u0411               0xA0A3F3B0|USART1 |TXB      |0xF1800020|\u0417\u0430\u043f\u0438\u0441\u044c|  FF FF FF FF FF FF FF FF FF FF FF FF FF C0 B5 71 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u00b5q  9F 29 C1 C1 C1                                  \u045f)\u0411\u0411\u0411            0xA07F1BC0|USART1 |RXB      |0xF1800024|\u0427\u0442\u0435\u043d\u0438\u0435|  FF FF FF FF FF FF FF FF FF FF FF FF C0 B4 71 47 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u0491qG  30 C1                                           0\u0411               0xA0A3F3B0|USART1 |TXB      |0xF1800020|\u0417\u0430\u043f\u0438\u0441\u044c|  FF FF FF FF FF FF FF FF FF FF FF FF FF C0 B5 71 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u00b5q  9F 29 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 \u045f)\u0411\u0411\u0411\u0411\u0411\u0411\u0411\u0411\u0411\u0411\u0411\u0411\u0411\u0411  C1 C1                                           \u0411\u0411               0xA07F1BC0|USART1 |RXB      |0xF1800024|\u0427\u0442\u0435\u043d\u0438\u0435|  FF FF FF FF FF FF FF FF FF FF FF FF C0 B4 71 47 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u0491qG  30 C1                                           0\u0411               0xA0A3F3B0|USART1 |TXB      |0xF1800020|\u0417\u0430\u043f\u0438\u0441\u044c|  FF FF FF FF FF FF FF FF FF FF FF FF FF C0 B5 71 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u00b5q  9F 29 C1 C1 C1                                  \u045f)\u0411\u0411\u0411            0xA07F1BC0|USART1 |RXB      |0xF1800024|\u0427\u0442\u0435\u043d\u0438\u0435|  FF FF FF FF FF FF FF FF FF FF FF FF C0 B4 71 47 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u0491qG  30 C1                                           0\u0411               0xA0A3F3B0|USART1 |TXB      |0xF1800020|\u0417\u0430\u043f\u0438\u0441\u044c|  FF FF FF FF FF FF FF FF FF FF FF FF FF C0 B5 71 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u00b5q  9F 29 C1 C1                                     \u045f)\u0411\u0411             0xA07F1BC0|USART1 |RXB      |0xF1800024|\u0427\u0442\u0435\u043d\u0438\u0435|  FF FF FF FF FF FF FF FF FF FF FF FF C0 B4 71 47 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u0491qG  30 C1                                           0\u0411               0xA0A3F3B0|USART1 |TXB      |0xF1800020|\u0417\u0430\u043f\u0438\u0441\u044c|  FF FF FF FF FF FF FF FF FF FF FF FF FF C0 B5 71 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u00b5q  9F 29 C1 C1                                     \u045f)\u0411\u0411             0xA07F1BC0|USART1 |RXB      |0xF1800024|\u0427\u0442\u0435\u043d\u0438\u0435|  FF FF FF FF FF FF FF FF FF FF FF FF C0 B4 71 47 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u0491qG  30 C1                                           0\u0411               0xA0A3F3B0|USART1 |TXB      |0xF1800020|\u0417\u0430\u043f\u0438\u0441\u044c|  FF FF FF FF FF FF FF FF FF FF FF FF FF C0 B5 71 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u00b5q  9F 29 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1       \u045f)\u0411\u0411\u0411\u0411\u0411\u0411\u0411\u0411\u0411\u0411\u0411\u0411   0xA07F1BC0|USART1 |RXB      |0xF1800024|\u0427\u0442\u0435\u043d\u0438\u0435|  FF FF FF FF FF FF FF FF FF FF FF FF C0 B4 71 47 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u0491qG  30 C1                                           0\u0411               0xA0A3F3B0|USART1 |TXB      |0xF1800020|\u0417\u0430\u043f\u0438\u0441\u044c|  FF FF FF FF FF FF FF FF FF FF FF FF FF C0 B5 71 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u00b5q  9F 29 C1 C1                                     \u045f)\u0411\u0411             0xA07F1BC0|USART1 |RXB      |0xF1800024|\u0427\u0442\u0435\u043d\u0438\u0435|  FF FF FF FF FF FF FF FF FF FF FF FF C0 B4 71 47 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u0491qG  30 C1                                           0\u0411               0xA0A3F3B0|USART1 |TXB      |0xF1800020|\u0417\u0430\u043f\u0438\u0441\u044c|  FF FF FF FF FF FF FF FF FF FF FF FF FF C0 B5 71 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u00b5q  9F 29 C1 C1                                     \u045f)\u0411\u0411             0xA07F1BC0|USART1 |RXB      |0xF1800024|\u0427\u0442\u0435\u043d\u0438\u0435|  FF FF FF FF FF FF FF FF FF FF FF FF C0 B4 71 47 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u0491qG  30 C1                                           0\u0411               0xA0A3F3B0|USART1 |TXB      |0xF1800020|\u0417\u0430\u043f\u0438\u0441\u044c|  FF FF FF FF FF FF FF FF FF FF FF FF FF C0 B5 76 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u00b5v  04 04 00 80 00 07 10 00 02 0B 92 AC C1 C1       ...\u0402......\u2019\u00ac\u0411\u0411   0xA07F1BC0|USART1 |RXB      |0xF1800024|\u0427\u0442\u0435\u043d\u0438\u0435|  FF FF FF FF FF FF FF FF FF FF FF FF C0 B4 91 49 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u0491\u2018I  D7 C1                                           \u0427\u0411               0xA0A3F3B0|USART1 |TXB      |0xF1800020|\u0417\u0430\u043f\u0438\u0441\u044c|  FF FF FF FF FF FF FF FF FF FF FF FF FF C0 B5 71 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u00b5q  9F 29 C1 C1                                     \u045f)\u0411\u0411             0xA07F1BC0|USART1 |RXB      |0xF1800024|\u0427\u0442\u0435\u043d\u0438\u0435|  FF FF FF FF FF FF FF FF FF FF FF FF C0 B4 96 04 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u0491\u2013.  04 01 A0 00 07 10 00 02 0B 6F 76 C1             ..\u00a0......ov\u0411     0xA0A3F3B0|USART1 |TXB      |0xF1800020|\u0417\u0430\u043f\u0438\u0441\u044c|  FF FF FF FF FF FF FF FF FF FF FF FF FF C0 B5 98 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u00b5\u0098  04 04 01 02 00 1D 01 00 15 00 68 00 61 00 62 00 ..........h.a.b.  72 00 2E 00 74 00 78 00 74 00 00 C3 00 00 00 08 r...t.x.t..\u0413....  8C 02 C1 C1                                     \u040a.\u0411\u0411             0xA07F1BC0|USART1 |RXB      |0xF1800024|\u0427\u0442\u0435\u043d\u0438\u0435|  FF FF FF FF FF FF FF FF FF FF FF FF C0 B4 B1 4B \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u0491\u00b1K  F6 C1                                           \u0446\u0411               0xA0A3F3B0|USART1 |TXB      |0xF1800020|\u0417\u0430\u043f\u0438\u0441\u044c|  FF FF FF FF FF FF FF FF FF FF FF FF FF C0 B5 91 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u00b5\u2018  91 CE C1 C1                                     \u2018\u041e\u0411\u0411             0xA07F1BC0|USART1 |RXB      |0xF1800024|\u0427\u0442\u0435\u043d\u0438\u0435|  FF FF FF FF FF FF FF FF FF FF FF FF C0 B4 B8 04 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u0491\u0451.  04 01 90 00 03 99 A7 C1                         ..\u0452..\u2122\u00a7\u0411         0xA0A3F3B0|USART1 |TXB      |0xF1800020|\u0417\u0430\u043f\u0438\u0441\u044c|  FF FF FF FF FF FF FF FF FF FF FF FF FF C0 B5 BA \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u00b5\u0454  04 04 01 02 00 0E 48 00 0B 48 41 42 52 48 41 42 ......H..HABRHAB  52 96 88 C1 C1                                  R\u2013\u20ac\u0411\u0411            0xA07F1BC0|USART1 |RXB      |0xF1800024|\u0427\u0442\u0435\u043d\u0438\u0435|  FF FF FF FF FF FF FF FF FF FF FF FF C0 B4 D1 4D \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u0491\u0421M  95 C1                                           \u2022\u0411               0xA0A3F3B0|USART1 |TXB      |0xF1800020|\u0417\u0430\u043f\u0438\u0441\u044c|  FF FF FF FF FF FF FF FF FF FF FF FF FF C0 B5 B1 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u00b5\u00b1  93 EF C1 C1                                     \u201c\u043f\u0411\u0411             0xA07F1BC0|USART1 |RXB      |0xF1800024|\u0427\u0442\u0435\u043d\u0438\u0435|  FF FF FF FF FF FF FF FF FF FF FF FF C0 B4 D1 4D \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u0491\u0421M  95 C1                                           \u2022\u0411               0xA0A3F3B0|USART1 |TXB      |0xF1800020|\u0417\u0430\u043f\u0438\u0441\u044c|  FF FF FF FF FF FF FF FF FF FF FF FF FF C0 B5 B1 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u00b5\u00b1  93 EF C1 C1                                     \u201c\u043f\u0411\u0411             0xA07F1BC0|USART1 |RXB      |0xF1800024|\u0427\u0442\u0435\u043d\u0438\u0435|  FF FF FF FF FF FF FF FF FF FF FF FF C0 B4 D1 4D \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u0491\u0421M  95 C1                                           \u2022\u0411               0xA0A3F3B0|USART1 |TXB      |0xF1800020|\u0417\u0430\u043f\u0438\u0441\u044c|  FF FF FF FF FF FF FF FF FF FF FF FF FF C0 B5 B1 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u00b5\u00b1  93 EF C1 C1                                     \u201c\u043f\u0411\u0411             0xA07F1BC0|USART1 |RXB      |0xF1800024|\u0427\u0442\u0435\u043d\u0438\u0435|  FF FF FF FF FF FF FF FF FF FF FF FF C0 B4 D1 4D \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u0491\u0421M  95 C1                                           \u2022\u0411               0xA0A3F3B0|USART1 |TXB      |0xF1800020|\u0417\u0430\u043f\u0438\u0441\u044c|  FF FF FF FF FF FF FF FF FF FF FF FF FF C0 B5 B1 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u00b5\u00b1  93 EF C1 C1                                     \u201c\u043f\u0411\u0411             0xA07F1BC0|USART1 |RXB      |0xF1800024|\u0427\u0442\u0435\u043d\u0438\u0435|  FF FF FF FF FF FF FF FF FF FF FF FF C0 B4 D1 4D \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u0491\u0421M  95 C1                                           \u2022\u0411               0xA0A3F3B0|USART1 |TXB      |0xF1800020|\u0417\u0430\u043f\u0438\u0441\u044c|  FF FF FF FF FF FF FF FF FF FF FF FF FF C0 B5 B1 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u00b5\u00b1  93 EF C1 C1                                     \u201c\u043f\u0411\u0411             0xA07F1BC0|USART1 |RXB      |0xF1800024|\u0427\u0442\u0435\u043d\u0438\u0435|  FF FF FF FF FF FF FF FF FF FF FF FF C0 B4 D1 4D \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u0491\u0421M  95 C1                                           \u2022\u0411               0xA0A3F3B0|USART1 |TXB      |0xF1800020|\u0417\u0430\u043f\u0438\u0441\u044c|  FF FF FF FF FF FF FF FF FF FF FF FF FF C0 B5 B1 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u00b5\u00b1  93 EF C1 C1                                     \u201c\u043f\u0411\u0411             0xA07F1BC0|USART1 |RXB      |0xF1800024|\u0427\u0442\u0435\u043d\u0438\u0435|  FF FF FF FF FF FF FF FF FF FF FF FF C0 B4 D1 4D \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u0491\u0421M  95 C1                                           \u2022\u0411               0xA0A3F3B0|USART1 |TXB      |0xF1800020|\u0417\u0430\u043f\u0438\u0441\u044c|  FF FF FF FF FF FF FF FF FF FF FF FF FF C0 B5 B1 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u00b5\u00b1  93 EF C1 C1                                     \u201c\u043f\u0411\u0411             0xA07F1BC0|USART1 |RXB      |0xF1800024|\u0427\u0442\u0435\u043d\u0438\u0435|  FF FF FF FF FF FF FF FF FF FF FF FF C0 B4 DA 04 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u0491\u042a.  04 01 90 00 03 A7 34 C1                         ..\u0452..\u00a74\u0411         0xA0A3F3B0|USART1 |TXB      |0xF1800020|\u0417\u0430\u043f\u0438\u0441\u044c|  FF FF FF FF FF FF FF FF FF FF FF FF FF C0 B5 DC \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u00b5\u042c  04 04 01 82 00 06 49 00 03 DD A5 C1 C1          ...\u201a..I..\u042d\u0490\u0411\u0411    0xA07F1BC0|USART1 |RXB      |0xF1800024|\u0427\u0442\u0435\u043d\u0438\u0435|  FF FF FF FF FF FF FF FF FF FF FF FF C0 B4 F1 4F \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u0491\u0441O  B4 C1                                           \u0491\u0411               0xA0A3F3B0|USART1 |TXB      |0xF1800020|\u0417\u0430\u043f\u0438\u0441\u044c|  FF FF FF FF FF FF FF FF FF FF FF FF FF C0 B5 D1 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u00b5\u0421  95 8C C1 C1                                     \u2022\u040a\u0411\u0411             0xA07F1BC0|USART1 |RXB      |0xF1800024|\u0427\u0442\u0435\u043d\u0438\u0435|  FF FF FF FF FF FF FF FF FF FF FF FF C0 B4 FC 04 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u0491\u044c.  04 01 A0 00 03 47 89 C1                         ..\u00a0..G\u2030\u0411         0xA0A3F3B0|USART1 |TXB      |0xF1800020|\u0417\u0430\u043f\u0438\u0441\u044c|  FF FF FF FF FF FF FF FF FF FF FF FF FF C0 B5 FE \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u00b5\u044e  04 04 01 81 00 03 A4 66 C1 C1                   ...\u0403..\u00a4f\u0411\u0411       0xA07F1BC0|USART1 |RXB      |0xF1800024|\u0427\u0442\u0435\u043d\u0438\u0435|  FF FF FF FF FF FF FF FF FF FF FF FF C0 B4 11 41 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u0491.A  53 C1                                           S\u0411               0xA0A3F3B0|USART1 |TXB      |0xF1800020|\u0417\u0430\u043f\u0438\u0441\u044c|  FF FF FF FF FF FF FF FF FF FF FF FF FF C0 B5 F1 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u00b5\u0441  97 AD C1 C1                                     \u2014\u00ad\u0411\u0411             0xA07F1BC0|USART1 |RXB      |0xF1800024|\u0427\u0442\u0435\u043d\u0438\u0435|  FF FF FF FF FF FF FF FF FF FF FF FF C0 B4 1E 04 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u0491..  04 01 A0 00 03 64 9C C1                         ..\u00a0..d\u045a\u0411         0xA0A3F3B0|USART1 |TXB      |0xF1800020|\u0417\u0430\u043f\u0438\u0441\u044c|  FF FF FF FF FF FF FF FF FF FF FF FF FF C0 B5 11 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u00b5.  99 4A C1 C1                                     \u2122J\u0411\u0411             0xA07F1BC0|USART1 |RXB      |0xF1800024|\u0427\u0442\u0435\u043d\u0438\u0435|  FF FF FF FF FF FF FF FF FF FF FF FF C0 B4 11 41 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u0491.A  53 C1                                           S\u0411               0xA0A3F3B0|USART1 |TXB      |0xF1800020|\u0417\u0430\u043f\u0438\u0441\u044c|  FF FF FF FF FF FF FF FF FF FF FF FF FF C0 B5 11 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u00b5.  99 4A C1 C1                                     \u2122J\u0411\u0411             0xA07F1BC0|USART1 |RXB      |0xF1800024|\u0427\u0442\u0435\u043d\u0438\u0435|  FF FF FF FF FF FF FF FF FF FF FF FF C0 B4 11 41 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u0491.A  53 C1                                           S\u0411               0xA0A3F3B0|USART1 |TXB      |0xF1800020|\u0417\u0430\u043f\u0438\u0441\u044c|  FF FF FF FF FF FF FF FF FF FF FF FF FF C0 B5 10 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u00b5.  84 04 02 01 E0 8B C1 C1                         \u201e...\u0430\u2039\u0411\u0411         0xA07F1BC0|USART1 |RXB      |0xF1800024|\u0427\u0442\u0435\u043d\u0438\u0435|  FF FF FF FF FF FF FF FF FF FF FF FF C0 B4 31 43 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u04911C  72 C1                                           r\u0411               0xA0A3F3B0|USART1 |TXB      |0xF1800020|\u0417\u0430\u043f\u0438\u0441\u044c|  FF FF FF FF FF FF FF FF FF FF FF FF FF C0 B5 11 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u00b5.  99 4A C1 C1                                     \u2122J\u0411\u0411             0xA07F1BC0|USART1 |RXB      |0xF1800024|\u0427\u0442\u0435\u043d\u0438\u0435|  FF FF FF FF FF FF FF FF FF FF FF FF C0 B4 31 43 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u04911C  72 C1                                           r\u0411               0xA0A3F3B0|USART1 |TXB      |0xF1800020|\u0417\u0430\u043f\u0438\u0441\u044c|  FF FF FF FF FF FF FF FF FF FF FF FF FF C0 B5 12 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u00b5.  80 02 02 01 5D 39 C1 C1                         \u0402...]9\u0411\u0411         0xA07F1BC0|USART1 |RXB      |0xF1800024|\u0427\u0442\u0435\u043d\u0438\u0435|  FF FF FF FF FF FF FF FF FF FF FF FF C0 B4 51 45 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u0491QE  11 C1                                           .\u0411               0xA0A3F3B0|USART1 |TXB      |0xF1800020|\u0417\u0430\u043f\u0438\u0441\u044c|  FF FF FF FF FF FF FF FF FF FF FF FF FF C0 B5 11 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u00b5.  99 4A C1 C1                                     \u2122J\u0411\u0411             0xA07F1BC0|USART1 |RXB      |0xF1800024|\u0427\u0442\u0435\u043d\u0438\u0435|  FF FF FF FF FF FF FF FF FF FF FF FF C0 B4 51 45 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u0491QE  11 C1                                           .\u0411               0xA0A3F3B0|USART1 |TXB      |0xF1800020|\u0417\u0430\u043f\u0438\u0441\u044c|  FF FF FF FF FF FF FF FF FF FF FF FF FF C0 B5 11 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u00b5.  99 4A C1 C1 C1                                  \u2122J\u0411\u0411\u0411            0xA07F1BC0|USART1 |RXB      |0xF1800024|\u0427\u0442\u0435\u043d\u0438\u0435|  FF FF FF FF FF FF FF FF FF FF FF FF C0 B4 51 45 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u0491QE  11 C1                                           .\u0411               0xA0A3F3B0|USART1 |TXB      |0xF1800020|\u0417\u0430\u043f\u0438\u0441\u044c|  FF FF FF FF FF FF FF FF FF FF FF FF FF C0 B5 11 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u00b5.  99 4A C1 C1                                     \u2122J\u0411\u0411             0xA07F1BC0|USART1 |RXB      |0xF1800024|\u0427\u0442\u0435\u043d\u0438\u0435|  FF FF FF FF FF FF FF FF FF FF FF FF C0 B4 51 45 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u0491QE  11 C1                                           .\u0411               0xA0A3F3B0|USART1 |TXB      |0xF1800020|\u0417\u0430\u043f\u0438\u0441\u044c|  FF FF FF FF FF FF FF FF FF FF FF FF FF C0 B5 11 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u00b5.  99 4A C1 C1                                     \u2122J\u0411\u0411             0xA07F1BC0|USART1 |RXB      |0xF1800024|\u0427\u0442\u0435\u043d\u0438\u0435|  FF FF FF FF FF FF FF FF FF FF FF FF C0 B4 51 45 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u0491QE  11 C1                                           .\u0411               0xA0A3F3B0|USART1 |TXB      |0xF1800020|\u0417\u0430\u043f\u0438\u0441\u044c|  FF FF FF FF FF FF FF FF FF FF FF FF FF C0 B5 11 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u00b5.  99 4A C1 C1                                     \u2122J\u0411\u0411             0xA07F1BC0|USART1 |RXB      |0xF1800024|\u0427\u0442\u0435\u043d\u0438\u0435|  FF FF FF FF FF FF FF FF FF FF FF FF C0 B4 51 45 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u0491QE  11 C1                                           .\u0411               0xA0A3F3B0|USART1 |TXB      |0xF1800020|\u0417\u0430\u043f\u0438\u0441\u044c|  FF FF FF FF FF FF FF FF FF FF FF FF FF C0 B5 11 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u00b5.  99 4A C1 C1                                     \u2122J\u0411\u0411             0xA07F1BC0|USART1 |RXB      |0xF1800024|\u0427\u0442\u0435\u043d\u0438\u0435|  FF FF FF FF FF FF FF FF FF FF FF FF C0 B4 51 45 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u0491QE  11 C1                                           .\u0411               0xA0A3F3B0|USART1 |TXB      |0xF1800020|\u0417\u0430\u043f\u0438\u0441\u044c|  FF FF FF FF FF FF FF FF FF FF FF FF FF C0 B5 11 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u00b5.  99 4A C1 C1                                     \u2122J\u0411\u0411             0xA07F1BC0|USART1 |RXB      |0xF1800024|\u0427\u0442\u0435\u043d\u0438\u0435|  FF FF FF FF FF FF FF FF FF FF FF FF C0 B4 51 45 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u0491QE  11 C1                                           .\u0411               0xA0A3F3B0|USART1 |TXB      |0xF1800020|\u0417\u0430\u043f\u0438\u0441\u044c|  FF FF FF FF FF FF FF FF FF FF FF FF FF C0 B5 11 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u00b5.  99 4A C1 C1                                     \u2122J\u0411\u0411             0xA07F1BC0|USART1 |RXB      |0xF1800024|\u0427\u0442\u0435\u043d\u0438\u0435|  FF FF FF FF FF FF FF FF FF FF FF FF C0 B4 51 45 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u0491QE  11 C1                                           .\u0411               0xA0A3F3B0|USART1 |TXB      |0xF1800020|\u0417\u0430\u043f\u0438\u0441\u044c|  FF FF FF FF FF FF FF FF FF FF FF FF FF C0 B5 11 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u00b5.  99 4A C1 C1                                     \u2122J\u0411\u0411             0xA07F1BC0|USART1 |RXB      |0xF1800024|\u0427\u0442\u0435\u043d\u0438\u0435|  FF FF FF FF FF FF FF FF FF FF FF FF C0 B4 51 45 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u0491QE  11 C1                                           .\u0411               0xA0A3F3B0|USART1 |TXB      |0xF1800020|\u0417\u0430\u043f\u0438\u0441\u044c|  FF FF FF FF FF FF FF FF FF FF FF FF FF C0 B5 11 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u00b5.  99 4A C1 C1                                     \u2122J\u0411\u0411             0xA07F1BC0|USART1 |RXB      |0xF1800024|\u0427\u0442\u0435\u043d\u0438\u0435|  FF FF FF FF FF FF FF FF FF FF FF FF C0 B4 51 45 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u0491QE  11 C1                                           .\u0411               0xA0A3F3B0|USART1 |TXB      |0xF1800020|\u0417\u0430\u043f\u0438\u0441\u044c|  FF FF FF FF FF FF FF FF FF FF FF FF FF C0 B5 11 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u00b5.  99 4A C1 C1                                     \u2122J\u0411\u0411             0xA07F1BC0|USART1 |RXB      |0xF1800024|\u0427\u0442\u0435\u043d\u0438\u0435|  FF FF FF FF FF FF FF FF FF FF FF FF C0 B4 51 45 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u0491QE  11 C1                                           .\u0411               0xA0A3F3B0|USART1 |TXB      |0xF1800020|\u0417\u0430\u043f\u0438\u0441\u044c|  FF FF FF FF FF FF FF FF FF FF FF FF FF C0 B5 11 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u00b5.  99 4A C1 C1                                     \u2122J\u0411\u0411             0xA07F1BC0|USART1 |RXB      |0xF1800024|\u0427\u0442\u0435\u043d\u0438\u0435|  FF FF FF FF FF FF FF FF FF FF FF FF C0 B4 51 45 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u0491QE  11 C1                                           .\u0411               0xA0A3F3B0|USART1 |TXB      |0xF1800020|\u0417\u0430\u043f\u0438\u0441\u044c|  FF FF FF FF FF FF FF FF FF FF FF FF FF C0 B5 11 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u00b5.  99 4A C1 C1                                     \u2122J\u0411\u0411             0xA07F1BC0|USART1 |RXB      |0xF1800024|\u0427\u0442\u0435\u043d\u0438\u0435|  FF FF FF FF FF FF FF FF FF FF FF FF C0 B4 51 45 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u0491QE  11 C1                                           .\u0411               0xA0A3F3B0|USART1 |TXB      |0xF1800020|\u0417\u0430\u043f\u0438\u0441\u044c|  FF FF FF FF FF FF FF FF FF FF FF FF FF C0 B5 53 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u00b5S  8F 2B C1 C1                                     \u040f+\u0411\u0411             0xA07F1BC0|USART1 |RXB      |0xF1800024|\u0427\u0442\u0435\u043d\u0438\u0435|  FF FF FF FF FF FF FF FF FF FF FF FF C0 B4 73 40 \u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u044f\u0410\u0491s@  90 81 09 10 64 77 01 3C 38 C1                   \u0452\u0403..dw.&lt;8\u0411       <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  \u0412\u0435\u0440\u043d\u0451\u043c\u0441\u044f \u043e\u043f\u044f\u0442\u044c \u043a <b>I2C<\/b>. \u041f\u043e\u0441\u0442\u0430\u0432\u0438\u043c \u0444\u0438\u043b\u044c\u0442\u0440 \u0442\u0430\u043a, \u0447\u0442\u043e\u0431\u044b \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u043b\u0430\u0441\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0430 \u0434\u0430\u043d\u043d\u044b\u0445.<br \/>  \u041f\u0440\u0438 \u0449\u0435\u043b\u0447\u043a\u0430\u0445, \u0441\u0435\u0440\u0432\u0438\u0441\u043d\u044b\u0445 \u0437\u0432\u0443\u043a\u0430\u0445, \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0438 \u043f\u043e\u0434\u0441\u0432\u0435\u0442\u043a\u0438, \u0433\u0440\u043e\u043c\u043a\u043e\u0441\u0442\u0438 \u0438 \u0432\u0438\u0431\u0440\u0430\u0446\u0438\u0438, \u043c\u044b \u0443\u0432\u0438\u0434\u0438\u043c \u0447\u0442\u043e \u0447\u0442\u043e-\u0442\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442:<\/p>\n<p>  <iframe loading=\"lazy\" width=\"560\" height=\"349\" src=\"\/\/www.youtube.com\/embed\/mrXty3rPfgc?wmode=opaque\" frameborder=\"0\" allowfullscreen><\/iframe><\/p>\n<h2>\u0424\u0430\u0439\u043b\u044b<\/h2>\n<p>  <a href=\"http:\/\/dimadze.sgold.su\/habr\/io_sniffer\/IOSniffer_CPPBuilder_XE5.rar\">IOSniffer_CPPBuilder_XE5.rar<\/a><br \/>  <a href=\"http:\/\/dimadze.sgold.su\/habr\/io_sniffer\/IOSniffer_IAR42.rar\">IOSniffer_IAR42.rar<\/a><br \/>  <a href=\"http:\/\/dimadze.sgold.su\/habr\/io_sniffer\/IOSniffer_I2C.avi\">IOSniffer_I2C.avi<\/a>      \t<\/p>\n<div class=\"clear\"><\/div>\n<\/p><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"http:\/\/habrahabr.ru\/post\/226575\/\"> http:\/\/habrahabr.ru\/post\/226575\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"content html_format\">     \t<b>\u0421\u043d\u0438\u0444\u0444\u0435\u0440<\/b> \u2014 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u0430\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0434\u043b\u044f \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0438 \u043f\u0435\u0440\u0435\u0445\u0432\u0430\u0442\u0430 \u0441\u0435\u0442\u0435\u0432\u043e\u0433\u043e \u0442\u0440\u0430\u0444\u0438\u043a\u0430, \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0447\u0435\u0440\u0435\u0437 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b<br \/>  \u0438 \u043c\u043d\u043e\u0433\u043e\u0433\u043e \u0434\u0440\u0443\u0433\u043e\u0433\u043e. \u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u0442\u044c \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 (\u0447\u0442\u0435\u043d\u0438\u0435 \u0438 \u0437\u0430\u043f\u0438\u0441\u044c) \u0441 \u043f\u043e\u0440\u0442\u0430\u043c\u0438 \u0432\u0432\u043e\u0434\u0430-\u0432\u044b\u0432\u043e\u0434\u0430<br \/>  \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0430 \u043b\u0438\u043d\u0435\u0439\u043a\u0438 <b>Siemens SGold<\/b> \u0438 \u044f \u043f\u043e\u0441\u0442\u0430\u0440\u0430\u044e\u0441\u044c \u043e\u0431\u044a\u044f\u0441\u043d\u0438\u0442\u044c, \u043a\u0430\u043a \u044d\u0442\u043e \u0432\u0441\u0451 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442.<\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/getpro\/habr\/post_images\/941\/3bb\/1f9\/9413bb1f9b177406a5720ed4f99e071f.png\" alt=\"image\"\/><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-226575","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/226575","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=226575"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/226575\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=226575"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=226575"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=226575"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}