рдХреИрд╕реЗ рдПрдХ рдорд╣рдВрдЧрд╛ рдХреИрдорд░рд╛ рджрд░рд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреЛ рдЖрдкрдХреА рдкрддреНрдиреА рдЖрдкрдХреЛ рдирд╣реАрдВ рдорд╛рд░рддреА рд╣реИ

рдбрд┐рд╕реНрдХреНрд▓реЗрдорд░: рдЕрдзреНрдпрдпрди 2013 рдореЗрдВ рд╢реБрд░реВ рд╣реБрдЖ рдерд╛, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рддрд░реАрдХреЗ рдмреЗрд╡рдХреВрдл рдФрд░ рдЦрддрд░рдирд╛рдХ рд╣реИрдВ - рддреЛ рдЖрдк рд╕рд╣реА рд╣реИрдВ, рдпрд╣ рдмрд╛рдд рдереАред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдореИрдВрдиреЗ рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдмрд╣реБрдд рдХреБрдЫ рд╕реАрдЦрд╛ред

рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐
рдпрд╣ рд╕рдм рдореЗрд░реЗ рдкрд╣рд▓реЗ рдмрдЪреНрдЪреЗ рдХреЗ рдЬрдиреНрдо рд╕реЗ рдХреБрдЫ рдорд╣реАрдиреЗ рдкрд╣рд▓реЗ рд╢реБрд░реВ рд╣реБрдЖред рдореИрдВ рдФрд░ рдореЗрд░реА рдкрддреНрдиреА рд╣рдореЗрд╢рд╛ рдПрдХ рд╢рд╛рдВрдд рд▓реЗрдИрдХрд╛ рдХреИрдорд░рд╛ рдЦрд░реАрджрдирд╛ рдЪрд╛рд╣рддреЗ рдереЗ рдФрд░ рдЕрдЪрд╛рдирдХ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдХрд┐ рдЕрдЧрд░ рд╣рдордиреЗ рдЗрд╕реЗ рдЕрднреА рдирд╣реАрдВ рдЦрд░реАрджрд╛ рд╣реИ, рддреЛ рд╣рдо рдЗрд╕реЗ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рдЗрд╕рд▓рд┐рдП, рд╣рдордиреЗ M240 рдХреИрдорд░рд╛ рдФрд░ ... рдмреВрдо рдХрд╛ рдЖрджреЗрд╢ рджрд┐рдпрд╛, рд╣рдореЗрдВ рдЫрд╣ рдорд╣реАрдиреЗ рддрдХ рд▓рд╛рдЗрди рдореЗрдВ рд▓рдЧрд╛рдпрд╛ рдЧрдпрд╛ред рдЬрд▓реНрдж рд╣реА рдореИрдВ рдкреНрд░рддреАрдХреНрд╖рд╛ рд╕реЗ рдердХ рдЧрдпрд╛, рдФрд░ рдореИрдВрдиреЗ рдЙрдирдХреА рд╕рд╛рдЗрдЯ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ред рдореЗрд░рд╛ рдзреНрдпрд╛рди рддреБрд░рдВрдд рдлрд╛рдЗрд▓ рд╕реЗрдХреНрд╢рди рдкрд░ рдЧрдпрд╛ред рдЦреИрд░, рдЖрдк рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХреНрдпреЛрдВ ... рдлрд░реНрдорд╡реЗрдпрд░!

рдореИрдВрдиреЗ рдПрдХ рдЕрдирдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдФрд░ рдЕрд╕рдореНрдкреАрдбрд┐рдд рдлрд╝рд╛рдЗрд▓ ( m8-2_005.upd ) m8-2_005.upd рдЬреЛ PWAD рдореИрдЬрд┐рдХ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИред рдХреНрдпрд╛ рдЖрдк рдкрд╣рдЪрд╛рдирддреЗ рд╣реИрдВ? рд╣рд╛рдВ, рдпрд╣ рд╕рд╣реА рд╣реИ, рдпрд╣ рдХрдпрд╛рдордд рдкреИрдЪ WAD рдкреНрд░рд╛рд░реВрдк рд╣реИред рджреЛрд╕реНрддреЛрдВ рд▓рдЧрддрд╛ рд╣реИ рдХреНрд▓рд╛рд╕рд┐рдХреНрд╕ рд╕реЗ рдкреНрдпрд╛рд░ рд╣реЛ рдЧрдпрд╛ред рдкреНрд░рд╛рд░реВрдк рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдкреНрд░рд▓реЗрдЦрд┐рдд рд╣реИ , рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдкрд╛рд░реНрд╕ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рдерд╛ред

Leica рдлрд░реНрдорд╡реЗрдпрд░ рдлрд╝рд╛рдЗрд▓реЗрдВ


рдлрд░реНрдорд╡реЗрдпрд░ рд▓реАрдХрд╛ рдПрдо 8


рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрд╣реБрдд рдордЬрд╝реЗрджрд╛рд░ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЬрдм рдореИрдВрдиреЗ рдмрд╛рдж рдореЗрдВ рд╕рдВрдкреАрдбрд╝рд┐рдд рд▓реАрдХрд╛ рдЯреА рдлрд░реНрдорд╡реЗрдпрд░ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд┐рдпрд╛, рддреЛ рдореИрдВрдиреЗ рдкрд╣рд▓реА рдмрд╛рд░ рд╕рдВрдкреАрдбрд╝рди рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдЬреЛ рдЖрдИрдбреА рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдЕрддреАрдд рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рдХрд╛ рдХрд╣рдирд╛ рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЛрдВрдиреЗ LHA рдкреНрд░рд╛рд░реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рдЬреЛ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ LZW рд╣реИред рд▓реЗрдХрд┐рди рдЖрдо LZW рдбрд┐рдХрдореНрдкреНрд░реЗрд╕рд░реНрд╕ рдлрд┐рдЯ рдирд╣реАрдВ рдереЗ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЖрдИрдбреА рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреЗ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рддрд▓рд╛рд╢ рд╢реБрд░реВ рдХрд░ рджреА - рдФрд░ рд╡реЙрдЗрд▓рд╛, рдореБрдЭреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ рдХреИрдЯрд╛рдХреЙрдореНрдм рдЖрд░реНрдордЧреЗрдбрди рдорд┐рд▓рд╛ред рдореБрдЭреЗ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рднрд╛рдЧреНрдпрд╢рд╛рд▓реАред

рдХрд┐рд╕реА рднреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ, M8 рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдПрдВред рдпрд╣рд╛рдБ рдлрд░реНрдорд╡реЗрдпрд░ рд╕рдВрд░рдЪрдирд╛ рд╣реИ:

  рдирд┐рдпрдо: 0x0000008C (3036: 0x00000BDC) - XML тАЛтАЛрд╡рд┐рд╡рд░рдг
 LUTS: 0x00000C68 (183274: 0x0002CBEA)
  рдЧрд╛рдорд╛: 0x0000007C (31760: 0x00007C10)
  GAIN: 0x00007C8C (50344: 0x0000C4A8)
  LEICA: 0x00014134 (7000: 0x00001B58)
  BLEMISH: 0x00015C8C (250: 0x000000FA)
  WREF: 0x00015D88 (82480: 0x00014230)
  OBJ: 0x00029FB8 (11268: 0x00002C04)
  рд╕рдВрд╕реНрдХрд░рдг: 0x0002CBBC (46: 0x0000002E)
 рдкреАрдПрдХреНрд╕рдП: 0x0002D854 (858384: 0x000D1910)
 рдмреАрдПрдл: 0x000FF164 (134522: 0x00020D7A) - рдПрдирд╛рд▓реЙрдЧ рдбрд┐рд╡рд╛рдЗрд╕реЗрд╕ рдмреНрд▓реИрдХрдлрд┐рди рдкреНрд░реЛрд╕реЗрд╕рд░ рдкрд░рд┐рд╡рд╛рд░
 GUI: 0x0011FEE0 (3574180: 0x003689A4)
  рдЯреНрд░рд╛рдВрд╕: 0x0000005C (59988: 0x0000EA54) - рд╕реНрдерд╛рдиреАрдпрдХрд░рдг
  IMAGES: 0x0000EAB0 (267433: 0x000414A9)
   21_1PRT: 0x000000CC (18411: 0x000047EB) - JFIF рдХреА рддрд╕реНрд╡реАрд░
   21_2GRP: 0x000048B8 (23172: 0x00005A84) - JFIF рдХреА рдЫрд╡рд┐
   21_3PAN: 0x0000A33C (23034: 0x000059FA) - JFIF рдХреА рддрд╕реНрд╡реАрд░
   24_1PRT: 0x0000FD38 (18489: 0x00004839) - JFIF рдХреА рдЫрд╡рд┐
   24_2GRP: 0x00014574 (23230: 0x00005ABE) - JFIF рдХреА рдЫрд╡рд┐
   24_3PAN: 0x0001A034 (22998: 0x000059D6) - JFIF рдХреА рдЫрд╡рд┐
   28_1PRT: 0x0001FA0C (22605: 0x0000584D) - JFIF рдХреА рддрд╕реНрд╡реАрд░
   28_2GRP: 0x0002525C (23081: 0x00005A29) - JFIF рдХреА рдЫрд╡рд┐
   28_3PAN: 0x0002AC88 (23282: 0x00005AF2) - JFIF рдХреА рдЫрд╡рд┐
   35_1PRT: 0x0003077C (22496: 0x000057E0) - JFIF рдХреА рдЫрд╡рд┐
   35_2GRP: 0x00035F5C (23532: 0x00005BEC) - JFIF рдХреА рддрд╕реНрд╡реАрд░
   35_3PAN: 0x0003BB48 (22881: 0x00005961) - JFIF рдХреА рдЫрд╡рд┐
  FONT1: 0x0004FF5C (1522988: 0x00173D2C)
  FONT2: 0x001C3C88 (1723676: 0x001A4D1C)
  рд╕рдВрд╕реНрдХрд░рдг: 0x003689A4 (0: 0x00000000)
 M16C: 0x00488884 (130406: 0x0001FD66) - рд░реЗрдиреЗрд╕рд╕ M16C рдкрд░рд┐рд╡рд╛рд░ (рдореЛрдЯреЛрд░реЛрд▓рд╛ S- рд░рд┐рдХреЙрд░реНрдб)
 FPGA: 0x004A85EC (131604: 0x00020214) - Xilinx рд╕рдВрдпрдореА 3
 FSL: 0x004C8800 (814: 0x0000032E) - рдкрд╣рд▓рд╛ рдЪрд░рдг рдмреВрдЯрд▓реЛрдбрд░ 

рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдЖрдИрдбреАрдП рдмреНрд▓реИрдХрдлрд┐рди рдкреНрд░реЛрд╕реЗрд╕рд░ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рддреГрддреАрдп-рдкрдХреНрд╖ рдкреНрд▓рдЧрдЗрди рд╣реИ ред

рдлрд░реНрдорд╡реЗрдпрд░ рд▓реАрдХрд╛ рдПрдо 9


Leica M9 рдлрд░реНрдорд╡реЗрдпрд░ рдлрд╝рд╛рдЗрд▓ ( m9-1_196.upd ) рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рд▓рдЧрддреА рд╣реИ: рд╣рд┐рд╕реНрдЯреЛрдЧреНрд░рд╛рдо рд▓рдЧрднрдЧ 0.45% рдХрд╛ рд╡рд┐рддрд░рдг рджрд┐рдЦрд╛рддрд╛ рд╣реИред



рдХрд╣рд╛рдиреА рдХрд╛ рдЕрдВрдд? рд╢рд╛рдпрдж рдирд╣реАрдВред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рд▓реЗрдИрдХрд╛ рдиреЗ рдХреИрдорд░реЛрдВ рдореЗрдВ рдХрдордЬреЛрд░ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдерд╛, рдФрд░ рдЙрд╕ рд╕рдордп рдЙрдкрднреЛрдХреНрддрд╛ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХреНрд╕ рдореЗрдВ XOR рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХрд╛ рдЕрдХреНрд╕рд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ XOR рдСрдкрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдлрд░реНрдорд╡реЗрдпрд░ рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдФрд░ рдХреБрдЫ рдЖрдВрдХрдбрд╝реЛрдВ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ рдЙрдкрдХрд░рдг рд▓рд┐рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред

рдкреНрд░рдореБрдЦ рд▓рдВрдмрд╛рдИ рдХреЛ рд╕рдмрд╕реЗ рд▓рдВрдмреЗ рджреЛрд╣рд░рд╛рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреИрдЯрд░реНрди рдХреА рдЦреЛрдЬ рдХрд░рдХреЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╣ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдХрд┐рд╕реА рднреА рдлрд░реНрдорд╡реЗрдпрд░ рдореЗрдВ рдЖрдорддреМрд░ рдкрд░ рджреЛрд╣рд░рд╛рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдбреЗрдЯрд╛ рдХреЗ рдмрдбрд╝реЗ рдмреНрд▓реЙрдХ рд╢рд╛рдорд┐рд▓ рд╣реЛрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ 0x00 / 0xFF рдкреИрдб рдпрд╛ рдЧреНрд░реВрдЯ рдкрд┐рдХреНрд╕рд▓ рдХреЗ рд╕рд╛рде рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ред рдХреБрдВрдЬреА рдХреЛ рдХреБрдВрдЬреА рдХреА рд▓рдВрдмрд╛рдИ рдХреЗ рднреАрддрд░ рдмрд╛рдЗрдЯреНрд╕ рдХреА рдЖрд╡реГрддреНрддрд┐ рджреНрд╡рд╛рд░рд╛ рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИ, рдЬрд╣рд╛рдВ рд╕рдмрд╕реЗ рдЖрдо рдмрд╛рдЗрдЯ рдХреБрдВрдЬреА рдмрдлрд░ рдореЗрдВ рдЬрд╛рддреА рд╣реИред рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдкрд░рд┐рдгрд╛рдо рдиреЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ XOR рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХрд╛ рд╕рдВрдХреЗрдд рджрд┐рдпрд╛ред рдлрд┐рд░ рдореБрдЭреЗ рд╕рдВрднрд╛рд╡рд┐рдд рдХреБрдВрдЬреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдФрд░ рдХреЛрдб рдХреЛ рдбрд┐рдХреНрд░рд┐рдкреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреВрд▓ рдХреЛ рдереЛрдбрд╝рд╛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдирд╛ рдкрдбрд╝рд╛ред рдпрд╣ рдлрд┐рд░ рд╕реЗ рдПрдХ PWAD рдлрд╝рд╛рдЗрд▓ рдмрди рдЧрдИред

рдкреАрдбрдмреНрд▓реВрдПрдбреА рдХреА рд╕рд╛рдордЧреНрд░реА рд╕реЗ рдирд┐рдореНрди рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рдкрддрд╛ рдЪрд▓рд╛:

  рдирд┐рдпрдо: 0x0000007C (2788: 0x00000AE4) - рдПрдХреНрд╕рдПрдордПрд▓ рд╡рд┐рд╡рд░рдг
 LUTS: 0x00000B60 (4060616: 0x003DF5C8)
  рдкреНрд░рдХреНрд░рд┐рдпрд╛: 0x0000004C (3900572: 0x003B849C)
   рдХреНрд░рд┐рдПрдЯ: 0x0000004C (20: 0x00000014) - рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк
   LUTS: 0x00000060 (427744: 0x000686E0)
   GAINMAP: 0x00068740 (20008: 0x00004E28)
   рд▓реЗрдВрд╕: 0x0006D568 (3452724: 0x0034AF34)
  рд╕реАрд╕реАрдбреА: 0x003B84E8 (148662: 0x000244B6)
   рдХреНрд░рд┐рдПрдЯ: 0x0000004C (20: 0x00000014) - рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк
   BLEMISH: 0x00000060 (1092: 0x00000444)
   WREF: 0x000004A4 (147452: 0x00023FFC)
   рд▓рд┐рди: 0x000244A0 (22: 0x00000016)
  ICCPROF: 0x003DC9A0 (4304: 0x000010D0)
   ECI-RGB: 0x0000003C (540: 0x0000021C)
   sRGB: 0x00000258 (3144: 0x00000C48)
   A-RGB: 0x00000EA0 (560: 0x00000230)
  WBPARAM: 0x003DDA70 (7000: 0x00001B58)
 BF561: 0x003E0128 (289128: 0x00046968) - рдПрдирд╛рд▓реЙрдЧ рдбрд┐рд╡рд╛рдЗрд╕реЗрд╕ рдмреНрд▓реИрдХрдлрд┐рди рдкреНрд░реЛрд╕реЗрд╕рд░ рдкрд░рд┐рд╡рд╛рд░
  bf0: 0x0000004C (117846: 0x0001CC56) - рдореБрдЦреНрдп рдкреНрд░реЛрд╕реЗрд╕рд░
  bf1: 0x0001CCA4 (117826: 0x0001CC42) - рд╕рдмрдкреНрд░реЛрд╕реЗрд╕рд░ рдХреА рдлрд░реНрдорд╡реЗрдпрд░
  bf0.map: 0x000398E8 (27072: 0x000069C0) - рд╡рд░реНрдгреЛрдВ рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рдкреНрд░реЛрд╕реЗрд╕рд░ рдлрд░реНрдорд╡реЗрдпрд░ рдХрд╛рд░реНрдб: D
  bf1.map: 0x000402A8 (26304: 0x000066C0) - рдкрд╛рддреНрд░реЛрдВ рдХреЗ рд╕рд╛рде рдЙрдк-рдкреНрд░реЛрд╕реЗрд╕рд░ рдлрд░реНрдорд╡реЗрдпрд░ рдХрд╛рд░реНрдб: рдбреА
 рд╢рд░реАрд░: 0x00426A90 (143280: 0x00022FB0) - рд░реЗрдиреЗрд╕рд╛ M16C рдкрд░рд┐рд╡рд╛рд░ (рдореЛрдЯреЛрд░реЛрд▓рд╛ S- рд░рд┐рдХреЙрд░реНрдб)
 GUI: 0x00449A40 (3647624: 0x0037A888)
  рдЯреНрд░рд╛рдВрд╕: 0x0000005C (131656: 0x00020248) - рд╕реНрдерд╛рдиреАрдпрдХрд░рдг
  IMAGES: 0x000202A4 (267433: 0x000414A9)
   21_1PRT: 0x000000CC (18411: 0x000047EB) - JFIF рдХреА рддрд╕реНрд╡реАрд░
   21_2GRP: 0x000048B8 (23172: 0x00005A84) - JFIF рдХреА рдЫрд╡рд┐
   21_3PAN: 0x0000A33C (23034: 0x000059FA) - JFIF рдХреА рддрд╕реНрд╡реАрд░
   24_1PRT: 0x0000FD38 (18489: 0x00004839) - JFIF рдХреА рдЫрд╡рд┐
   24_2GRP: 0x00014574 (23230: 0x00005ABE) - JFIF рдХреА рдЫрд╡рд┐
   24_3PAN: 0x0001A034 (22998: 0x000059D6) - JFIF рдХреА рдЫрд╡рд┐
   28_1PRT: 0x0001FA0C (22605: 0x0000584D) - JFIF рдХреА рддрд╕реНрд╡реАрд░
   28_2GRP: 0x0002525C (23081: 0x00005A29) - JFIF рдХреА рдЫрд╡рд┐
   28_3PAN: 0x0002AC88 (23282: 0x00005AF2) - JFIF рдХреА рдЫрд╡рд┐
   35_1PRT: 0x0003077C (22496: 0x000057E0) - JFIF рдХреА рдЫрд╡рд┐
   35_2GRP: 0x00035F5C (23532: 0x00005BEC) - JFIF рдХреА рддрд╕реНрд╡реАрд░
   35_3PAN: 0x0003BB48 (22881: 0x00005961) - JFIF рдХреА рдЫрд╡рд┐
  FONT1: 0x00061750 (1522988: 0x00173D2C)
  USBLOGO: 0x001D547C (1775: 0x000006EF) - JFIF рдХреА рддрд╕реНрд╡реАрд░
  FONT2: 0x001D5B6C (1723676: 0x001A4D1C)
 FPGA: 0x007C42C8 (150176: 0x00024AA0) - Xilinx Spanan MA
 BF547: 0x007E8D68 (937576: 0x000E4E68) - рдПрдирд╛рд▓реЙрдЧ рдбрд┐рд╡рд╛рдЗрд╕реЗрд╕ рдмреНрд▓реИрдХрдлрд┐рди рдкреНрд░реЛрд╕реЗрд╕рд░ рдлреИрдорд┐рд▓реА (FSL?) 


рдлрд░реНрдорд╡реЗрдпрд░ рд▓реАрдХрд╛ рдПрдо 240


рдореБрдЭреЗ рд╣рд░ рд╕реБрдмрд╣ рд▓реАрдХрд╛ рдлрд░реНрдорд╡реЗрдпрд░ рдХреЗ рд╕рд╛рде рдбрд╛рдЙрдирд▓реЛрдб рдкреГрд╖реНрда рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреА рдЖрджрдд рдкрдбрд╝ рдЧрдИред рдЬрд▓реНрдж рд╣реА рдПрдХ рдирдИ рдлрд╝рд╛рдЗрд▓ рджрд┐рдЦрд╛рдИ рджреА: FW_M240_1_1_0_2.FW ред

рдпрд╣ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдирд╣реАрдВ рджрд┐рдЦрддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рд╕рдВрдХреБрдЪрд┐рдд рдерд╛ ...

рджрдмрд╛рд╡


рд╣рд┐рд╕реНрдЯреЛрдЧреНрд░рд╛рдо 0x9D рдкрд░ рдПрдХ рд╡рд┐рд╢рд╛рд▓ рдлрдЯ рджрд┐рдЦрд╛рддрд╛ рд╣реИред



рд╢рд╛рдпрдж рдпрд╣ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╕рдВрдкреАрдбрд╝рди рдЬрд╛рджреВ рд╣реИред рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдПрдХ рдЦреЛрдЬ [9D + рд╕рдореНрдкреАрдбрди] рдХреБрдЫ рднреА рдирд╣реАрдВ рдирд┐рдХрд▓реА, рд╕рд┐рд╡рд╛рдп рдЗрд╕рдХреЗ рдХрд┐ 0x1F9D рдХреЛ LZ1 рд╕рдВрдкреАрдбрд╝рди рдХреЗ рд▓рд┐рдП рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ ред рдпрджрд┐ рдХреБрдЫ рднреА рд╣реЛ, рддреЛ рдореИрдВ LZ рд╕рдВрдкреАрдбрд╝рди рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рд╕рдордЭрддрд╛ рд╣реВрдВ рдФрд░ 0x9D рдХреЗ рдмрд╛рдж рдмрд╛рдЗрдЯреНрд╕ рдХреЛ рджреЗрдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рд╣реИред рдФрд░ рдореИрдВрдиреЗ рдЪрд╛рд░ рд╡рд┐рдХрд▓реНрдк рджреЗрдЦреЗ:

  1. 9D 70 C4
  2. 9D 00
  3. 9D XX YY
  4. 9D XX 8Y YY

рдЖрдкрдиреЗ рдФрд░ рдХреНрдпрд╛ рдиреЛрдЯрд┐рд╕ рдХрд┐рдпрд╛:

  • рдкрд╣рд▓рд╛ рд╡рд┐рдХрд▓реНрдк 0x30 рдкрддреЗ рдкрд░ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рдкреЙрдк рдЕрдк рдХрд░рддрд╛ рд╣реИ: рдпрд╣ рд╕рдВрднрд╡рддрдГ рд╕рдВрдкреАрдбрд╝рд┐рдд рдбреЗрдЯрд╛ рдХреЗ рд╕рдВрдХреЗрддрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ;
  • XX рдХрднреА рднреА 0x7F рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ;
  • рддреАрд╕рд░реЗ рдФрд░ рдЪреМрдереЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ YY рдХрд╛ рдЕрдВрддрд┐рдо рдмрд╛рдЗрдЯ рдХрднреА 0x7F рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ

LZ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореБрдЭреЗ рдЬреЛ рдкрддрд╛ рд╣реИ, рдпрд╣ LZ77 рдпрд╛ LZSS рд╕реЗ рдмрд╣реБрдд рдорд┐рд▓рддрд╛-рдЬреБрд▓рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ YY рдЗрдВрдбреЗрдВрдЯ рд╕реНрдЯреЗрдк рд╣реИ рдФрд░ XX рдХреЛ рдХреЙрдкреА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдЗрдЯреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реИред рдФрд░ рджреВрд╕рд░рд╛ рд╡рд┐рдХрд▓реНрдк 0x9D рдЬрд╛рд░реА рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓рд╛ рд╣реИред рдореИрдВрдиреЗ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╕реА рдлрд╝рдВрдХреНрд╢рди рд▓рд┐рдЦрд╛ рд╣реИ рдЬреЛ рдЗрд╕ рддрд░реНрдХ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред рдЙрд╕рдиреЗ рдкреБрд╖реНрдЯрд┐ рдХреА рдХрд┐ рд╣рдо рд╕рд╣реА рджрд┐рд╢рд╛ рдореЗрдВ рдЖрдЧреЗ рдмрдврд╝ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЪреМрдерд╛ рд╡рд┐рдХрд▓реНрдк рдЕрднреА рднреА рдпреЛрдЬрдирд╛ рдореЗрдВ рдлрд┐рдЯ рдирд╣реАрдВ рд╣реИред

рдореИрдВрдиреЗ рдЗрд╕рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рд░ рддрд░рд╣ рд╕реЗ рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдХреБрдЫ рдирд╣реАрдВ рдЖрдпрд╛ред рдЗрд╕рд▓рд┐рдП, рдореИрдВрдиреЗ рд╕рд▓рд╛рд╣ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд╕рд╛рдерд┐рдпреЛрдВ рдХреА рдУрд░ рд░реБрдЦ рдХрд┐рдпрд╛ред рдПрдХ рдЖрджрдореА рдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдореЗрд░реА рдЕрдкрдиреА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, YY рдХреА рдЪреМрдереА рдмрд╛рдЗрдЯ рдХреЗрд╡рд▓ рддрднреА рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИ рдЬрдм рдЙрдЪреНрдЪрддрдо рдмрд┐рдЯ 0x8Y рд╕реЗрдЯ рд╣реЛрддрд╛ рд╣реИ: рдпрд╣ рдЗрдВрдбреЗрдВрдЯ рд╕реНрдЯреЗрдк рдХреЗ рд▓рд┐рдП рд╕рд┐рд░реНрдл рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рджреВрд░реА рд╣реИред рдореБрдЭреЗ рд╢рд░реНрдо рдЖ рд░рд╣реА рдереА, рд╕рдм рдХреБрдЫ рдЗрддрдирд╛ рд╕реНрдкрд╖реНрдЯ рдирд┐рдХрд▓рд╛ ...

рдЕрдВрдд рдореЗрдВ, рдбрд┐рдХрдореНрдкреНрд░реЗрд╕рд░ рдиреЗ рдПрдХ рд╡реИрдз рд╕реНрдЯреНрд░реАрдо рдЬрд╛рд░реА рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ ... рдЬрдм рддрдХ рдпрд╣ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдмреАрдЪ рдореЗрдВ рдЕрдЯрдХ рдирд╣реАрдВ рдЧрдпрд╛ред рд╕реНрд▓рд╛рдЗрдбрд┐рдВрдЧ рд╡рд┐рдВрдбреЛ рдХреА рдЕрдЬреНрдЮрд╛рдд рд▓рдВрдмрд╛рдИ рдХреЗ рдХрд╛рд░рдг рдРрд╕рд╛ рд╣реБрдЖред рдЕрддрд┐рд░рд┐рдХреНрдд рдбрд┐рдмрдЧрд┐рдВрдЧ рдФрд░ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдиреЗ рд╕реНрдерд┐рддрд┐ рдХреЛ рддрдп рдХрд┐рдпрд╛ред

рддреЛ рдлрд░реНрдорд╡реЗрдпрд░ M240 рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдХрд░рдг рдерд╛ред

рдлрд░реНрдорд╡реЗрдпрд░ рд╕рдВрд░рдЪрдирд╛


рдПрдХ рдЕрдЬреНрдЮрд╛рдд рдкреНрд░рд╛рд░реВрдк рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдХреБрдЫ рдСрдлрд╕реЗрдЯ рдФрд░ рдХреЛрдб рд╡рд░реНрдЧреЛрдВ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдорд╛рдкрдиреЗ рд╕реЗ рдмреЗрд╣рддрд░ рдХреБрдЫ рднреА рдирд╣реАрдВ рдЖрдпрд╛ - рдФрд░ рдлрд╝рд╛рдЗрд▓ рд╣реЗрдбрд░ рдореЗрдВ рдирд┐рдХрдЯрддрдо рдореВрд▓реНрдпреЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рдмреНрд▓реЙрдХ:

0x00: 1E 1C AF 2E 01 01 00 02 07 E1 EA 5E 00 5C 1A B1
0x10: 01 29 1A 7E AE 38 73 65 9C 3D 75 B4 34 2F 44 6E
0x20: 13 17 8E 6B 00 00 00 01 00 00 00 30 E1 E3 50 D1


рдЕрдВрддрддрдГ рдореЗрдВ рдмрджрд▓ рдЧрдпрд╛:

1E1CAF2E тАФ "LEICA FILE"
01010002 - 1.1.0.2
005C1AB1 тАФ (big endian)
01291A7E тАФ (big endian)
AE3873659C3D75B4342F446E13178E6B тАФ MD5
00000001 тАФ
00000030 тАФ


рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдлрд░реНрдорд╡реЗрдпрд░ рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреЛ рд╕рдордЭрд╛, рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдЯреВрд▓ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд┐рдпрд╛, рдФрд░ рдЕрдВрдд рдореЗрдВ, рдЗрд╕рдиреЗ рдЗрд╕рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд┐рдпрд╛:

Running with options:
+ firmware folder: M240_FIRMWARE
+ verbose enabled

Open firmware file: FW_M240_1_1_0_2.FW
File size: 6036193 | 0x005C1AE1

Parse container header:
version: 1.1.0.2
packed size: 6036145 | 0x005C1AB1
unpacked size: 19470974 | 0x01291A7E
body blocks: 1 | 0x00000001
body offset: 48 | 0x00000030
MD5: AE387365 9C3D75B4 342F446E 13178E6B
MD5 check: PASSED

Uncompress container body:
6036145 -> 19470974
Uncompression: DONE

Split container:
Number of sections: 9 | 0x00000009
Section table size: 612 | 0x00000264
Section table offset: 36 | 0x00000024
Section 1
Section Name: "[A]IMG_LOKI-212"
Section offset: 0 | 0x00000000
Section size: 7340032 | 0x00700000
Section base: 1048576 | 0x00100000
MD5: A8D55AA2 B0ACDB14 0673AD79 707674F3
MD5 check: PASSED
Create file: M240_FIRMWARE/IMG_LOKI-212.bin

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Section 9
Section Name: "[A]IMG-LENSDATA-213"
Section offset: 19214844 | 0x012531FC
Section size: 255478 | 0x0003E5F6
Section base: 16252928 | 0x00F80000
MD5: 39C2BEC0 27ED23F6 2C1C8513 EEE697B9
MD5 check: PASSED
Create file: M240_FIRMWARE/IMG-LENSDATA-213.bin
Splitting container: DONE
Extraction COMPLETE!


M240 рдлрд░реНрдорд╡реЗрдпрд░ рдореЗрдВ рдиреМ рддрддреНрд╡реЛрдВ рд╡рд╛рд▓рд╛ рдПрдХ рдХрдВрдЯреЗрдирд░ рд╢рд╛рдорд┐рд▓ рд╣реИ:

IMG_LOKI-212.bin -
IMG_LOKI-213.bin -
CTRL_SYS-11.bin - -
IMG-FPGA-212.bin - ()
IMG-FPGA-213.bin - ()
IMG-DSP-212.bin - DSP
IMG-DSP-213.bin - DSP
IMG-LENSDATA-212.bin -
IMG-LENSDATA-213.bin -


рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдПрдХ рдлрд░реНрдорд╡реЗрдпрд░ рдореЗрдВ рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рджреЛ рд╕реЗрдЯ рд╣реЛрддреЗ рд╣реИрдВред рдмрд╛рдж рдореЗрдВ рдореБрдЭреЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ 212 рдЗрдореЗрдЬ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдорд╛рдЗрдХреНрд░реЛрдХреНрд░рд┐рд╕рд┐рдЯ рдХрд╛ рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рд╣реИ, рдФрд░ Leica M240 рдХреЗ рджреЛ рд╕рдВрд╕реНрдХрд░рдг рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдЧрдПред рдпрд╣ рдЕрдзреНрдпрдпрди 212 рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред

рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рдмрдВрдзрди: CTRL_SYS-11.bin


рд╕рд┐рд╕реНрдЯрдо рдирд┐рдпрдВрддреНрд░рдг рдЪрд┐рдк рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рд╕рд╛рдорд╛рдиреНрдп рд╣рд┐рд╕реНрд╕рд╛ рдлрд░реНрдорд╡реЗрдпрд░ рд╣реИред рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдмрдбрд╝рд╛ рджреНрд╡рд┐рдЖрдзрд╛рд░реА рд╣реИ, рдФрд░ рдХреЛрдб рдЖрд╕рд╛рдиреА рд╕реЗ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдХреНрдпрд╛ рдЙрджреНрджреЗрд╢реНрдп рд╣реИред

$ strings CTRL_SYS-11.bin | rg SH
-> Test SH7216 data flash driver
-> Test SH7216 SCI driver
-> Test SH7216 I2C driver
-> Test SH7216 MTU2 driver
-> Test SH7216 ADC functions
-> Test SH7216 CMT driver


рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ Renesas SH7216 рдкреНрд░реЛрд╕реЗрд╕рд░ (SH-2A) рд╣реИ, рдЬреЛ рд▓реЛрдбрд┐рдВрдЧ рдХреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЪрд░рдг, I / O рдкрд░реАрдХреНрд╖рдг рдФрд░ рдлрд░реНрдорд╡реЗрдпрд░ рдЕрдкрдбреЗрдЯ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдЖрдИрдбреАрдП рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдХреЗрд╡рд▓ рд╕рд╣реА рдЖрдзрд╛рд░ рд▓реЛрдб рдкрддрд╛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛ рд░рд╣рд╛, рдлрд░реНрдорд╡реЗрдпрд░ рдЕрдиреБрднрд╛рдЧреЛрдВ рдХреЗ рд╡рд┐рд╡рд░рдг рд╕реЗ рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ: рдпрд╣ 0x0 ред

Section Name: "[A]CTRL_SYS-11"
Section offset: 14680064 | 0x00E00000
Section size: 917277 | 0x000DFF1D
Section base: 0 | 0x00000000


рдореИрдВрдиреЗ рдЗрд╕реЗ рдЖрдИрдбреАрдП рдореЗрдВ рд▓реЛрдб рдХрд┐рдпрд╛ рдФрд░ рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдорд╛рдиреНрдпрддрд╛ рджреА, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЗрд╕рдореЗрдВ рдЦреБрджрд╛рдИ рдирд╣реАрдВ рдХреА, рдХреНрдпреЛрдВрдХрд┐ рдореБрдЦреНрдп рдкреНрд░реЛрд╕реЗрд╕рд░ рдХрд╛ рдлрд░реНрдорд╡реЗрдпрд░ рдЕрдзрд┐рдХ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИред

рдпрд╣рд╛рдВ рдпрд╣ рднреА рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдЪрд┐рдк рдХрд╛ UART рд╕рд░реНрд╡рд┐рд╕ рдкреЛрд░реНрдЯ рдкрд░ рдЦреБрд▓рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдпрд╣ рдбрд╛рдЙрдирд▓реЛрдб рд▓реЙрдЧ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред рд╣рдо рдмрд╛рдж рдореЗрдВ рдЗрд╕ рдкрд░ рд╡рд╛рдкрд╕ рдЖрдПрдВрдЧреЗред

рдореБрдЦреНрдп рдЪрд┐рдк: IMG_LOKI-212.bin


рдЗрд╕ рдлрд░реНрдорд╡реЗрдпрд░ рдХреА рд░рд┐рд╡рд░реНрд╕ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рдХреБрдЫ рд╕рд╡рд╛рд▓реЛрдВ рдХреЗ рдЬрд╡рд╛рдм рджреЗрдиреЗ рд╣реЛрдВрдЧреЗ:

  1. рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдкреНрд░реЛрд╕реЗрд╕рд░
  2. рдЖрдзрд╛рд░ рд▓реЛрдб рдкрддрд╛ рдХреНрдпрд╛ рд╣реИ
  3. рдХреНрдпрд╛ рдУрдПрд╕ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рдпрджрд┐ рдХреЛрдИ рд╣реЛ

рд╣рдорд╛рд░реЗ рдЙрдкрдХрд░рдг рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЖрдзрд╛рд░ рд▓реЛрдб рдХрд╛ рдкрддрд╛ рдЬрд╛рдирддреЗ рд╣реИрдВ: рдпрд╣ 0x100000 ред

Section Name: "[A]IMG_LOKI-212"
Section offset: 0 | 0x00000000
Section size: 7340032 | 0x00700000
Section base: 1048576 | 0x00100000


рдлрд░реНрдорд╡реЗрдпрд░ рд╢реЗрд╖ рдЙрддреНрддрд░реЛрдВ рдХреЛ рдкрдардиреАрдп рд░реВрдк рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рдкрдВрдХреНрддрд┐:

$ strings ./IMG_LOKI-212.bin | rg Softune
6Softune REALOS/FR is Realtime OS for FR Family, based on micro-ITRON COPYRIGHT(C) FUJITSU LIMITED 1994-1999
...


рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдо рдПрдХ рдХрд╕реНрдЯрдо рдкреНрд░реЛрд╕реЗрд╕рд░ Fujitsu FR (Leica рдЗрд╕реЗ Maestro рдХрд╣рддреЗ рд╣реИрдВ) рдФрд░ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо Softune REALOS рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рдмреНрд▓реИрдХрдлрд┐рди рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдмреЗрд╣рддрд░ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдЖрдИрдбреАрдП рдПрдлрдЖрд░ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред

FR рдкреНрд░реЛрд╕реЗрд╕рд░ рдореЙрдбреНрдпреВрд▓


рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рдЗрддрдиреА рдЙрдЬреНрдЬреНрд╡рд▓ рдирд╣реАрдВ рдереА, рдХреНрдпреЛрдВрдХрд┐ рдлрд░реНрдорд╡реЗрдпрд░ рдлрд╝рд╛рдЗрд▓ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдИрдбреАрдП рдХрд╛рд░реНрдпрдХреНрд░рдо рдиреЗ рдХреЛрдИ рдирд┐рд░реНрджреЗрд╢, рдмрд╛рд╣рд░реА рд▓рд┐рдВрдХ рдЖрджрд┐ рдирд╣реАрдВ рджрд┐рдЦрд╛рдПред

рдореИрдВрдиреЗ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдЕрдВрдд рдореЗрдВ рдореБрдЭреЗ рдлрд░реНрдорд╡реЗрдпрд░ рдХреЗ рдХреБрдЫ рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рдкрдбрд╝рд╛ред рдпрд╣рд╛рдБ рдкрд░рд┐рдгрд╛рдо рд╣реИ:





ana , ins рдФрд░ out рдореЗрдВ рд╕реБрдзрд╛рд░ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирдпрд╛ emu рдХреЛрдб рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:

  • рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдХреЛрдб рдФрд░ рдмрд╛рд╣рд░реА рд▓рд┐рдВрдХ рдХреЛ рдкрд╣рдЪрд╛рдирдирд╛;
  • рд╕реНрд╡рд┐рдЪ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХреЛ рдкрд╣рдЪрд╛рдиреЗрдВ
  • рд╕реНрдЯреИрдХ рдЯреНрд░реЗрд╕рд┐рдВрдЧ рдХрд░реЗрдВ;
  • рдЕрд▓рдЧ-рдЕрд▓рдЧ рдвреЗрд░ рддрд░реНрдХ рдФрд░ рд╕реНрдерд╛рдиреАрдп рдЪрд░
  • рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкрд╣рдЪрд╛рдиреЗрдВред

рд▓реЗрдХрд┐рди рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рдмрджрд▓рд╛рд╡, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдиреЗ рджреЗрдЦрд╛, рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП рдмрдбрд╝реЗ рдЕрдХреНрд╖рд░ рд╣реИрдВ :)

рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдкреВрд░рд╛ рд╕реЗрдЯ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ? рдпрд╣рд╛рдБ рдпрд╣ рд╣реИ:

  ADD OR BTSTH LSR MOV BN LDRES EXTSH   
 ADD2 ORH MUL LSR2 JMP BP рд╕реНрдЯреНрд░рд┐рдкреНрд╕ EXTUH   
 ADDC ORB рдореБрд▓реВ ASR рдХреЙрд▓ BV COPOP SRCH0   
 ADDN EOR MULH ASR2 RET BNV COPLD SRCH1   
 ADDN2 EORH MULUH LDI INT BLT COPST SRCHC   
 SUB EORB DIV0S LDI INTE BGE COPSV LDM0    
 SUBC BANDL DIV0U LDI RETI BLE NOP LDM1    
 SUBN BANDH DIV1 LD BRA BGT ANDCCR STM0    
 CMP BORL DIV2 LDUH BNO BLS ORCCR STM1    
 CMP2 BORH DIV3 LDUB BEQ BHI STILM ENTER   
 рдФрд░ BEORL DIV4S ST BNE DMOV ADDSP рд▓реАрд╡   
 ANDH BEORH LSL STH BC DMOVH EXTSB XCHB    
 ANDB BTSTL LSL2 STB BNC DMOVB EXTUB 

рддреЛ, рд╕рд░рд▓ рдФрд░ рд╕реБрдВрджрд░ред

рд╡реИрд╕реЗ, рдЖрдкрдиреЗ рджреЗрдЦрд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдХреБрдЫ рдирд┐рд░реНрджреЗрд╢ рд╕рдВрд░реЗрдЦрд┐рдд рдирд╣реАрдВ рд╣реИрдВ:

  рдмреАрдЖрд░рдП: рдбреА loc_xxx
     LDI: 8 # 0x64, R5 

рдпрд╣ рдкреНрд░реЛрд╕реЗрд╕рд░ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдЧрд▓рддреА рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдлреБрдЬрд┐рддреНрд╕реБ рдПрдлрдЖрд░ рдкрд░рд┐рд╡рд╛рд░ рдХреА рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИред рдЗрд╕реЗ рджреЗрд░реА рд╕реНрд▓реЙрдЯ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдпрд╣ RISC рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИред

FR80 рдкреНрд░реЛрд╕реЗрд╕рд░ рдореИрдиреБрдЕрд▓ рд╕реЗ (рдзреНрдпрд╛рди рджреЗрдВ: рд▓рд┐рдВрдХ рдЕрдм рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ):

рдирд┐рд░реНрджреЗрд╢, рдЬреЛ рд╢рд╛рдЦрд╛ рдирд┐рд░реНрджреЗрд╢ рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж рд╕реНрдерд┐рдд рд╣реИ (рдЗрд╕рдХрд╛ рд╕реНрдерд╛рди "рд╡рд┐рд▓рдВрдм рд╕реНрд▓реЙрдЯ" рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ) рд╢рд╛рдЦрд╛ рд╕реЗ рдкрд╣рд▓реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд▓рдХреНрд╖реНрдп рдкрддреЗ рдкрд░ рдирд┐рд░реНрджреЗрд╢ рд╢рд╛рдЦрд╛ рдХреЗ рдмрд╛рдж рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЪреВрдВрдХрд┐ рджреЗрд░реА рд╕реНрд▓реЙрдЯ рдореЗрдВ рдирд┐рд░реНрджреЗрд╢ рд╢рд╛рдЦрд╛ рдСрдкрд░реЗрд╢рди рд╕реЗ рдкрд╣рд▓реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╕реНрдкрд╖реНрдЯ рдирд┐рд╖реНрдкрд╛рджрди рдЧрддрд┐ 1 рдЪрдХреНрд░ рд╣реИред

рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдпрд╣, рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХрд╛ рдЕрдиреБрдХреВрд▓рди рд╣реИ, рдФрд░ рдЗрд╕реЗ рдпрд╛рдж рд░рдЦрдирд╛ рдмреЗрд╣рддрд░ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд▓реАрдХрд╛ рдлрд░реНрдорд╡реЗрдпрд░ рдореЗрдВ рд╣рд░ рдЬрдЧрд╣ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╕рд╛рдлреНрдЯреНрдпреВрди REALOS


рд╡рд┐рдХреА рд╕реЗ :

рд╕реЙрдлреНрдЯреНрдпреВрди Fujitsu FR, FR-V рдФрд░ F2MC рдкреНрд░реЛрд╕реЗрд╕рд░ рдкрд░рд┐рд╡рд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП Fujitsu рдХрд╛ рдПрдХреАрдХреГрдд рд╡рд┐рдХрд╛рд╕ рд╡рд╛рддрд╛рд╡рд░рдг рд╣реИред REALOS RONITRON рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдХрд░реНрдиреЗрд▓ рджреНрд╡рд╛рд░рд╛ рд╕рдВрдЪрд╛рд▓рд┐рддред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ Nikon DSLR рдХреИрдорд░реЛрдВ рдореЗрдВ (Nikon EXPEED рджреЗрдЦреЗрдВ) рдФрд░ K рдХреЗ рд╕рд╛рде рдХреБрдЫ Pentax рдХреИрдорд░реЗ рд╣реИрдВред

рддреЛ рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╣реА рд▓реЛрдХрдкреНрд░рд┐рдп рд╕рднреНрдп рдЖрд░рдЯреАрдУрдПрд╕ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХрд╛рд░реНрдпреЛрдВ, рд╕реЗрдорд╛рдлреЛрд░ рдФрд░ рдЕрдиреНрдп рдЙрдкрд╣рд╛рд░ рд╣реИрдВред рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдХреНрдпрд╛ рд▓реАрдХрд╛ рдлрд░реНрдорд╡реЗрдпрд░ рдореЗрдВ рдХреБрдЫ рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкрд╣рдЪрд╛рдирдирд╛ рд╕рдВрднрд╡ рд╣реИред

рдореБрдЭреЗ рдЕрдзреНрдпрдпрди рдХреЗ рдкрд╣рд▓реЗ рднрд╛рдЧ рдХреЛ рд╕рдордп рдХреА рдПрдХ рдмрдбрд╝реА рдмрд░реНрдмрд╛рджреА рдХрд╣рдирд╛ рд╣реИ, рдФрд░ рдпрд╣рд╛рдБ рдХреНрдпреЛрдВ рд╣реИред

рд╕реЙрдлреНрдЯреНрдпреВрди рдЖрдИрдбреАрдИ рдХреЛ рдвреВрдВрдврдирд╛ рдмрд╣реБрдд рдореБрд╢реНрдХрд┐рд▓ рдерд╛, рд▓реЗрдХрд┐рди рдЕрдВрдд рдореЗрдВ рдореИрдВ рдХреБрдЫ рдкрд╛рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛ред рдЬреИрд╕рд╛ рдХрд┐ рдЕрдкреЗрдХреНрд╖рд┐рдд рдерд╛, рдЖрдИрдбреАрдИ рдореЗрдВ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╢рд╛рдорд┐рд▓ рдереЗред рдЪрд╛рд░ рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдереЗ:

  • lib911.lib
  • lib911e.lib
  • lib911if.lib
  • lib911p.lib

рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд╢рд╛рдпрдж рдЬрдбрд╝рддрд╛ рд╕реЗ, рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рд▓реАрдХрд╛ рд╕реЗ рдЬреБрдбрд╝реА рд╣рд░ рдЪреАрдЬ рдХреЛ рд╣реИрдХ рдХрд░ рд▓рд┐рдпрд╛ рдерд╛, рдореИрдВрдиреЗ рдлрд┐рд░ рд╕реЗ рдкреНрд░рд╛рд░реВрдк рдХреА рд░рд┐рд╡рд░реНрд╕ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рд╢реБрд░реВ рдХрд░ рджреАред рд╣рд╛рдВ, рдПрдХ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдкреНрд░рд▓реЗрдЦрд┐рдд рдСрдмреНрдЬреЗрдХреНрдЯ рдореЙрдбреНрдпреВрд▓ рдкреНрд░рд╛рд░реВрдк ред рдФрд░ рд╣рд╛рдВ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдореИрдВрдиреЗ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢реЗрд╖ рдЙрдкрдХрд░рдг рд▓рд┐рдЦрд╛ рд╣реИ :

Fujitsu RISC Library Tool v1.0
Usage: FRLibTool [-s start] [-i imagebase] [-o output] [-f index] [-dv] FIRMWARE.BIN LIBRARY.LIB

This tool will help you to find Softune REALOS library functions in FR (Fujitsu RISC) firmware.
Use following arguments:
-f Specify firmware image file
-s Specify firmware image scan offset
-b Specify firmware imagebase
-o Specify output type (exclusively)
list - list of functions
idc - IDC script
py - IDA python script
pat - FLAIR pattern file
-i xxx Specify index of particular function
-d Dump library
-v Be verbose


рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк *.pat рдлрд╝рд╛рдЗрд▓реЗрдВ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП IDA FLAIR рдореЗрдВ рдЗрдирдкреБрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

$ FRLibTool -o pat lib911.lib
$ FRLibTool -o pat lib911e.lib
$ FRLibTool -o pat lib911if.lib
$ FRLibTool -o pat lib911p.lib
...
$ sigmake -n "SOFTUNE C/C++ Library" lib911.pat lib911e.pat lib911if.pat lib911p.pat softune.sig


рдЗрд╕ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдЕрдВрддрддрдГ IMG_LOKI-212.idb рдореЗрдВ рдкрддреНрд░рд╛рдЪрд╛рд░ рдХреЛ рдЦреБрд╢реА рд╕реЗ рджреЗрдЦрд╛ред



рдЦрд╝рд╛рдХрд╛


рдлрд░реНрдорд╡реЗрдпрд░ рдореЗрдВ рд▓рд╛рдЗрдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рддреБрд░рдВрдд рдзреНрдпрд╛рди рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рддреА рд╣реИред рдХрдИ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЙрдирдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд▓рд┐рдП рдирд╛рдорд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╕рд╛рдорд╛рдиреНрдп рдкреИрдЯрд░реНрди рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рд░рд┐рд╡рд░реНрд╕ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдпрд╣ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реИред

рдпрд╣ рднреА рдзреНрдпрд╛рди рд░рдЦрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдлрд░реНрдорд╡реЗрдпрд░ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдХреБрдЫ рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЛ рд░реАрд╕реЗрдЯ рд╣реИрдВрдбрд▓рд░ рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рдкрддреЗ рдкрд░ рдХреЙрдкреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд░рдирдЯрд╛рдЗрдо рдкрд░ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд▓реЛрдбрд░ рд░реИрдо рдореЗрдВ рдЕрдзрд┐рдХ рдЪрд▓рддрд╛ рд╣реИред

рдореБрдЭреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдЕрдиреБрднрд╛рдЧреЛрдВ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдмрдирд╛рдирд╛ рдерд╛, рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдореБрдЭреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд▓реЗрдЖрдЙрдЯ рдорд┐рд▓рд╛:



рдмреАрдЪ рдореЗрдВ рдЖрддрд╛ рд╣реИ


рдЯреАрдмреАрдЖрд░ (рдЯреЗрдмрд▓ рдмреЗрд╕ рд░рдЬрд┐рд╕реНрдЯрд░) рддрдХ рдкрд╣реБрдВрдЪрдХрд░ рд░реБрдХрд╛рд╡рдЯ рд╡рд╛рд▓реЗ рд╡реИрдХреНрдЯрд░ рдХреА рддрд╛рд▓рд┐рдХрд╛ рдкрд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИ:

LDI:32 #int_table, R0
MOV R0, TBR


рдЖрдорддреМрд░ рдкрд░ рдпрд╣ рдлрд░реНрдорд╡реЗрдпрд░ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╡реЗрдХреНрдЯрд░ рд░реАрд╕реЗрдЯ рд╣реИрдВрдбрд▓рд░ рдореЗрдВ рд╣реЛрддрд╛ рд╣реИред

рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рд╣реИрдВрдбрд▓рд░ рдХреЗ рдкрддреЗ рдХреЛ рдлреЙрд░реНрдореВрд▓рд╛ TBR + (0x3FC - 4 ├Ч inum) рдЕрдиреБрд╕рд╛рд░ рд░рд┐рд╡рд░реНрд╕ рдСрд░реНрдбрд░ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рдЕрдВрдд рдореЗрдВ рд░реАрд╕реЗрдЯ рд╡реЗрдХреНрдЯрд░ рдСрдлрд╕реЗрдЯ 0x3FC ред

рдореИрдВрдиреЗ FR рдореИрдиреБрдЕрд▓ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рд░реБрдХрд╛рд╡рдЯреЗрдВ рдкрд╛рдИрдВ рдФрд░ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рдХрд┐ Leica Maestro рдХрд╛ рд▓реЗрдЖрдЙрдЯ рд╕рдорд╛рди рд╣реИред рдлрд┐рд░ рдЙрдиреНрд╣реЛрдВрдиреЗ рдкреНрд░рддреНрдпреЗрдХ рд╣реИрдВрдбрд▓рд░ рд▓рд┐рдпрд╛ рдФрд░ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рд╕рдВрдХреЗрдд рдХреЛ рдЦреЛрдЬрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдЬреЛ рд░реБрдХрд╛рд╡рдЯ рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рдХреЛ рдкреНрд░рдХрдЯ рдХрд░рддрд╛ рд╣реИред

рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдореИрдВрдиреЗ рдпрд╣ рд╕реВрдЪреА рдмрдирд╛рдИ:



рдХрдИ рд╡реНрдпрд╡рдзрд╛рди рдХрд╛рдлреА рдЕрдкреЗрдХреНрд╖рд┐рдд рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ рдСрдбрд┐рдпреЛ / рдПрд╕рдбреАрдЖрдИрдУ / рд╡реАрдбрд┐рдпреЛ / рдЬреЗрдкреАрдИрдЬреА / рд░реЙ, рд▓реЗрдХрд┐рди рдЙрдирдореЗрдВ рд╕реЗ рд╕рдмрд╕реЗ рд░рд╣рд╕реНрдпрдордп рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ? рдореИрдВ int_uart_in рдмрд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣рд╛ int_uart_in ред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреИрдорд░рд╛ рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреЗ рдХрдВрд╕реЛрд▓ рдореЛрдб UART CLI рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред

рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓


рд▓рдЧрднрдЧ рдХрд┐рд╕реА рднреА OS рдХреА рддрд░рд╣, рд╕реЙрдлреНрдЯрд▓рд╛рдЗрди REALOS рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдХреЛрдбрд╛рдВрддрд░рдХ рдореЗрдВ, рд╡реЗ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддреЗ рд╣реИрдВ:



рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рд╣реИрдВрдбрд▓рд░ рдХреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрддреЗ рдХреА рдЧрдгрдирд╛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХреА рдЬрд╛рддреА рд╣реИред рдЖрдЗрдП INT #0x40 рдЗрдВрдЯрд░рдкреНрдЯ рд╣реИрдВрдбрд▓рд░ рдХреА рддрд▓рд╛рд╢ рд╢реБрд░реВ рдХрд░реЗрдВред рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рд╣реИ, рдпрд╣

(0x3FC - 4 ├Ч inum) = (0x3FC - 4 ├Ч 0x40) = 0x2FC = int_realos_syscall

рд╣реИрдВрдбрд▓рд░ рдореЗрдВ, 16-рдмрд┐рдЯ рд╢рдмреНрджреЛрдВ рдХреЗ рд╕рд╛рде рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдЯреЗрдмрд▓ рдХреЗ рдиреАрдЪреЗ рдПрдХ рд▓рд┐рдВрдХ рдвреВрдВрдврдирд╛ рдЖрд╕рд╛рди рд╣реИред рдЗрд╕ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд░рд┐рдХреЙрд░реНрдб рд╕реВрддреНрд░ syscall_table_bottom + (num * 2) рджреНрд╡рд╛рд░рд╛ рдЧрдгрдирд╛ рдХреА рдЧрдИ рд╣реИ:

[syscall_table_bottom + (-23 * 2)] = [syscall_table_bottom - 0x2E] = [0x1012EA] = 0xE68

рдпрд╣ рдПрдХ рдкрддреЗ рдХреА рддрд░рд╣ рдирд╣реАрдВ рджрд┐рдЦрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рд╣реИрдВрдбрд▓рд░ рдХреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрддреЗ рдХреА рдЧрдгрдирд╛ syscall_table_bottom + offset рд░реВрдк рдореЗрдВ рдХреА рдЬрд╛рддреА рд╣реИред рдкреВрд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЖрд░реЗрдЦ рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред



рд╕рднреА рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдФрд░ рдЙрдирдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рд╕реЙрдлреНрдЯрд▓рд╛рдЗрди рдЖрд░рдИрдПрд▓рдУрдПрд╕ / рдПрдлрдЖрд░ рдХрд░реНрдиреЗрд▓ рдореИрдиреБрдЕрд▓ рдореЗрдВ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ , рдЗрд╕рд▓рд┐рдП рдореИрдВ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рд╕рднреА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рд╣реИрдВрдбрд▓рд░ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдФрд░ рдЖрдИрдбреАрдмреА рдХреЛ рдереЛрдбрд╝рд╛ рдФрд░ рд╕реБрдзрд╛рд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ред



рдмреЗрд╢рдХ, рдЖрдк рдЖрдИрдбреАрдП рдореЗрдВ рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдХреЗ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдХреЗ рдХреЛрдб рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рд╕реБрдВрджрд░ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред



рдореИрдВрдиреЗ рдЗрди рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдФрд░ рдЕрдзрд┐рдХ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЦреЛрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд╛рдпрдерди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦреА рдереАред

рдХрд╛рд░реНрдп


sta_tsk рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдореЗрдВ sta_tsk рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдореБрдЦреНрдп рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкреАрдЖрдИрдбреАред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдХрд╛рд░реНрдп рд╡рд┐рд╡рд░рдгрдХреЛрдВ рдХреЗ рдПрдХ рдмрдбрд╝реЗ рд╕рд░рдгреА рдХреЛ рджреЗрдЦрдиреЗ рдХрд╛ рд╕рдордп рд╣реИред рдФрд░ рдпрд╣ sta_tsk рд╕рд╛рде рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред

  ROM: 102180 sys_sta_tsk:
 ROM: 102180 ST RP, @ -R15
 ROM: 102182 LDUB @ (R14, 0x4F), R3
 ROM: 102184 LDI: 32 # word_100B80, R14 

рдмрд╣реБрдд рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╣рдо рдХреБрдЫ рд▓рд┐рдВрдХ рджреЗрдЦрддреЗ рд╣реИрдВред рдореБрдЭреЗ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдереЛрдбрд╝рд╛ рдЫреЗрдбрд╝рдЫрд╛рдбрд╝ рдХрд░рдирд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЕрдВрдд рдореЗрдВ рдЯреБрдХрдбрд╝реЗ рдПрдХ рд╕рд╛рде рдЖрдП:

  ROM: 100B80 word_100B80: .word 0xF;  рдХрд╛рд░реНрдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛
 ROM: 100B82 .word 0x1C;  рдХрд╛рд░реНрдп рд╡рд┐рд╡рд░рдгрдХ рдЖрдХрд╛рд░

 ROM: 100B84 .long 0x82A09F5C;  рдХрд╛рд░реНрдп 1 рд╡рд┐рд╡рд░рдгрдХ
 ROM: 100B88 .long 0x1000D
 ROM: 100B8Cред 0 рдХреЛ
 рд░реЙрдо: 100B90ред 0x40000000 рд▓рдВрдмрд╛
 ROM: 100B94ред рд▓рдВрдмрд╛ рдЙрдк_1A7DB2;  рдореБрдЦреНрдп рдХрд╛рд░реНрдп
 ROM: 100B98 .long 0x8286EEC0
 ROM: 100B9Cред рд▓рдВрдмреЗ 0

 ROM: 100BA0ред рд▓рдВрдмреЗ 0x82A09F88;  рдХрд╛рд░реНрдп 2 рд╡рд┐рд╡рд░рдгрдХ
 ROM: 100BA4 .long 0x20010
 рд░реЛрдо: 100BA8ред 0 0
 ROM: 100BAC .long 0x40000000
 ROM: 100BB0ред рд▓рдВрдмреЗ рдЙрдк_1A6BD2;  рдореБрдЦреНрдп рдХрд╛рд░реНрдп
 ROM: 100BB4 .long 0x8287EEC0
 рд░реЙрдо: 100BB8ред рд▓рдВрдмрд╛ 0
 ... 

рдФрд░ рдЗрд╕реА рддрд░рд╣ред рдХреЗрд╡рд▓ 15 рдХрд╛рд░реНрдпред рдкреНрд░рддреНрдпреЗрдХ рдореБрдЦреНрдп рдХрд╛рд░реНрдп рдХреЛ рджреЗрдЦрдирд╛, рдХрд╛рд░реНрдп рдХрд╛ рдирд╛рдо рдФрд░ рдЙрджреНрджреЗрд╢реНрдп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ (рдЕрдВрддрд┐рдо рдХреЛ рдЫреЛрдбрд╝рдХрд░) рд╕рдордп рдХреА рдмрд╛рдд рдереАред рдпрд╣рд╛рдБ рдкреВрд░реА рд╕реВрдЪреА рд╣реИ:

  1. SubCPU
    рдпрд╣ рдХрд╛рд░реНрдп рдЬрд╛рд╣рд┐рд░рд╛ рддреМрд░ рдкрд░ рдХреИрдкреНрдЪрд░ рдСрдкрд░реЗрд╢рдВрд╕ рдЬреИрд╕реЗ рдПрдХреНрд╕рдкреЛрдЬрд╝рд░, рдСрди-рд╕реНрдХреНрд░реАрди рджреГрд╖реНрдЯрд┐, рдЖрджрд┐ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред
  2. KeyManager
    рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдпрд╣ рдХрд╛рд░реНрдп рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдмрдЯрди рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред
  3. GuiManager
    рдХрд╛рдлреА рдмрдбрд╝рд╛ рдХрд╛рдо, рдЬрд┐рд╕рдореЗрдВ рдпреВрдЖрдИ рд╕реНрдЯреЗрдЯ рдорд╢реАрди рдФрд░ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
  4. DebugManager
    рд╣рд╛рдВ, рдбрд┐рдмрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╣реИред рдпрдо рдпрдоред
  5. FileManager
    рдпрд╣ рдХрд╛рд░реНрдп рдлрд╝рд╛рдЗрд▓ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИред
  6. FamManager
    рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдпрд╣ рдХрд╛рд░реНрдп рдлрд╛рдЗрд▓реЛрдВ рдФрд░ рдореЗрдореЛрд░реА рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдлрд╛рдЗрд▓ рдореИрдиреЗрдЬрд░ рдФрд░ рдореЗрдореЛрд░реА рдореИрдиреЗрдЬрд░ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред
  7. MemoryManager
    рдХреЛрдИ рдЖрд╢реНрдЪрд░реНрдп рдирд╣реАрдВ: рд╕реНрдореГрддрд┐ рд╕рдВрдЪрд╛рд▓рди, рдкреВрд▓ рдкреНрд░рдмрдВрдзрди, рдЖрджрд┐ред
  8. ImageManager
    рдпрд╣ рдХрд╛рд░реНрдп рдПрдиреНрдХреЛрдбрд┐рдВрдЧ / рдбрд┐рдХреЛрдбрд┐рдВрдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдФрд░ рдЕрдиреНрдп рдЫрд╡рд┐ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рддрд╛ рд╣реИред
  9. UsbManager
    рд╡рд░реНрддрдорд╛рди рдЪреБрдиреМрддреА USB рд╕рдВрдЪрд╛рд░ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╣реИ, рдЬрд┐рд╕рдореЗрдВ MassStorage, PTP рдФрд░ Leica рдХрд╛ рдЕрдкрдирд╛ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╢рд╛рдорд┐рд▓ рд╣реИред
  10. IOManager
    рдпрд╣ рдХрд╛рд░реНрдп рдПрд╕рдбреА рдФрд░ рд╕реАрдПрдл рдХрд╛рд░реНрдб (рдХреНрдпрд╛? рдЕрдиреНрдп рд╕реАрдПрдл? рд╢рд╛рдпрдж рдпрд╣ рдореЙрдбрд▓ 213 рд╕реЗ рд╣реИ) рдЬреИрд╕реЗ рднрдВрдбрд╛рд░рдг рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рддрд╛ рд╣реИред
  11. Systemmanager
    рд╕рд╛рдорд╛рдиреНрдп рдХрд╛рд░реНрдп рд╕рдВрдЪрд╛рд▓рди, рдмрд┐рдЬрд▓реА рдкреНрд░рдмрдВрдзрди рдЖрджрд┐ рдЬреИрд╕реЗ рд╡рд┐рднрд┐рдиреНрди рдХрд╛рд░реНрдпред
  12. рд╕реЗрдЯрд┐рдВрдЧ рдкреНрд░рдмрдВрдзрдХ
    рдХреИрдорд░рд╛ рд╕реНрдерд┐рддрд┐ рдФрд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИред
  13. MonitorManager
    рдХреИрдорд░рд╛ рд╕реНрдерд┐рддрд┐ рдХреЛ рдмрджрд▓рддрд╛ рд╣реИ рдФрд░ рдЕрдиреНрдп рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╕реВрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИред
  14. PeripheralManager
    рдпрд╣ рдХрд╛рд░реНрдп рдЬреАрдкреАрдПрд╕, рдЪрдордХ рдФрд░ рдХреБрдЫ рдЕрдиреНрдп рд╕реЗрдВрд╕рд░ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред
  15. рдЕрдЬреНрдЮрд╛рдд
    рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдореБрдЭреЗ рдЙрд╕рдХреЗ рд▓рд┐рдП рдХреБрдЫ рднреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд▓рдЧрд╛ред

рдпрд╣ рдзреНрдпрд╛рди рд░рдЦрдирд╛ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ рдХрд┐ рдореБрдЦреНрдп рд╕рд░рдгреА рдХреЗ рдмрд╛рдж рдПрдХ рдФрд░ рдмрдХрд╛рдпрд╛ рд╡рд┐рд╡рд░рдгрдХ рд╣реИред

ROM:100D28 dword_100D28: .long 0x82A0A1F0
ROM:100D2C .long 0x21
ROM:100D30 .long 0
ROM:100D34 .long 0x80000000
ROM:100D38 .long tid16_task
ROM:100D3C .long 0x8285EEC0
ROM:100D40 .long 0


рдФрд░ рдХрд╛рд░реНрдп рдХрд╛ рдХрд╛рд░реНрдп рдХреЗрд╡рд▓ рд╕реНрд╡рдпрдВ рд╢рд╛рдЦрд╛ рд╣реИред

ROM:101494 sub_101494:
ROM:101494 BRA sub_101494 ; CODE XREF: sub_101494


рдЗрд╕ рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдХреЛ start рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЕрдВрдд рдореЗрдВ рд╕рдВрджрд░реНрднрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдЕрдиреНрдп рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдФрд░ рдлрд░реНрдорд╡реЗрдпрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рддреЛ рдпрд╣ рдкреНрд░рдгрд╛рд▓реА рдирд┐рд╖реНрдХреНрд░рд┐рдпрддрд╛ рдХрд╛ рдХрд╛рд░реНрдп рд╣реИред

рдореЙрдбреНрдпреВрд▓ рдФрд░ рд╕рдВрджреЗрд╢


рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк рдХреБрдЫ рддрд╛рд░реНрдХрд┐рдХ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ IO рдФрд░ рдкрд░рд┐рдзреАрдп рдореЙрдбреНрдпреВрд▓ред рдХрд╛рд░реНрдп рдХреЗ рдПрдХ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдореЙрдбреНрдпреВрд▓ рд╕рдВрджреЗрд╢ рд╕рдВрдЪрд╛рд▓рдХреЛрдВ рдХреЗ рд╕рдореВрд╣ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред

IO рд╕рдореВрд╣ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд▓рдЧрддрд╛ рд╣реИ:

  • рдЖрдИрдУ рдореИрдиреЗрдЬрд░
  • рдЙрдк-рдкреНрд░реЛрд╕реЗрд╕рд░
  • USB рдкреНрд░рдмрдВрдзрдХ
  • USB PTP
  • рдпреВрдПрд╕рдмреА рд▓реАрдХрд╛ рдкреНрд░реЛрдЯреЛрдХреЙрд▓
  • USB рдорд╛рд╕ рд╕реНрдЯреЛрд░реЗрдЬ
  • рдмрдЯрди рдкреНрд░рдмрдВрдзрдХ
  • рдбрд┐рдмрдЧ рдкреНрд░рдмрдВрдзрдХ
  • рд▓реЗрдВрд╕ рдкреНрд░рдмрдВрдзрдХ

рдФрд░ рдкрд░рд┐рдзреАрдп рд╕рдореВрд╣ рдореЗрдВ:

  • рдкрд░рд┐рдзреАрдп рдкреНрд░рдмрдВрдзрдХ
  • рдкреНрд░рдХрд╛рд╢ рд╕рдВрд╡реЗрджрдХ
  • рдПрд▓ рдИ рдбреА
  • рд╡рдХреНрддрд╛
  • рдЭреБрдХрд╛рд╡ рд╕реЗрдВрд╕рд░
  • рдЯреЛрдкреА рдмрдВрдж рдкрд╣рдЪрд╛рди
  • рдЬреАрдкреАрдПрд╕ рдореЙрдбреНрдпреВрд▓
  • 3DAxis рдореЙрдбреНрдпреВрд▓

рдореИрд╕реЗрдЬрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рд╕реНрд╡рдпрдВ рдорд╛рдирдХ SOFTUNE рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ:

 struct RealOS_MsgPayload { uint32_t msgID; // +0x0 uint32_t data[]; // +0x4 } struct RealOS_Message { uint32_t os_reserved1; // +0x0 uint32_t os_reserved2; // +0x4 uint32_t to; // +0x8 uint32_t from; // +0xC RealOS_MsgPayload* payload; // +0x10 } 

рдЬреИрд╕реА рдХрд┐ рдЙрдореНрдореАрдж рдереА, рдЖрдИрдкреАрд╕реА рдореЗрдВ рдХрдИ рд╕рдВрджреЗрд╢ рд╕рдореВрд╣ рднреА рд╣реИрдВред рдЪреВрдВрдХрд┐ рдХрдИ рд╕рдВрджреЗрд╢ рдХрд╛рд░реНрдпреЛрдВ рдФрд░ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рд╕рдВрд╕рд╛рдзрд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЗрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рд╕рдореВрд╣реЛрдВ рдХреЛ рд╣реА рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛:

  0x1101xxxx - рд╡реИрд╢реНрд╡рд┐рдХ рд╕рд┐рд╕реНрдЯрдо рд╕рдВрджреЗрд╢:
              0x11010002 = SYS_UPDATE_BOOTLOADER рдпрд╛
              0x11010005 = SYS_ERASE_SETTINGS
 0x1102xxxx - рдЫрд╡рд┐ рдХреИрдкреНрдЪрд░ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕рдВрджреЗрд╢:
              0x11020001 = CMD_CAP_CAPTURE рдпрд╛
              0x11020008 = IMAGE_STATUS_CHANGED  
 0x1104xxxx - рдкреНрд▓реЗрдмреИрдХ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдШрдЯрдирд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдВрджреЗрд╢:  
             0x11040002 = PLY_DISABLE_PLAY_MODE 
             0x11040004 = PLY_IMAGE_READY  
0x1108xxxx -     PTP  .:
             0x11080002 = DBG_CHANGE_LEVEL 
             0x11080012 = DBG_WRITE_ROM_DUMP_SD  
0x2201xxxx -  USB PTP
             0x22010108 =    
             0x22010118 =  DebugObject  
0x2202xxxx -     SUBCPU:
             0x22020002 = E_SUBCPU_REQUEST_M_EXPOSURE_REQUEST  
             0x22020015 = E_IO_SUBCPU_COMMAND_CLEANING_SENSOR  
0x2203xxxx -    :
             0x22030001 =   
0x2204xxxx -   IO:
             0x2204000C = / Mass Storage 
             0x22040012 =    
0x330000xx -     UI:
             0x33000001 =  
             0x33000007 =  
0x440000xx -   ,     
             0x44000013 = E_IMG_CMD_CHANGE_PINFO  
0x55xxxxxx тАФ   FAM:  
             0x558800xx = - FAM 
             0x558888xx =     FAM
0x6602xxxx тАФ     LED, :
             0x66020001 -  LED  X 
             0x66020002 =   LED  
0x6604xxxx -  :
             0x66040001 =  
             0x66040007 =    
0x6611xxxx -  ,   
0x6622xxxx -   ,   
0x6660xxxx - рдореЗрдореЛрд░реА рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХреБрдЫ рдЕрдиреНрдп рд╕рдВрджреЗрд╢:
             0x66600006 = HISTOGRAM  
             0x66600011 = RAWCOMP  
0x771100xx рдФрд░ 0x77AA00xx - рд╕реНрд╡рд┐рдЪрд┐рдВрдЧ рдХреИрдорд░рд╛ рдореЛрдб рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕рдВрджреЗрд╢ 

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдХрдИ рдЕрдиреНрдп рдкреЛрд╕реНрдЯ рдЕрдЬреНрдЮрд╛рдд рдмрдиреЗ рд╣реБрдП рд╣реИрдВред

рдЬреАрдпреВрдЖрдИ


рдлрд░реНрдорд╡реЗрдпрд░ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ, рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд░реНрдЧреЛрдВ рдХреЛ рднреА рджреЗрдЦреЗрдВрдЧреЗ: CTRL_SYS-11 , IMG-LOKI-212 , IMG-DSP-212 , IMG-FPGA-212 рдФрд░ IMG-LENSDATA-212 ред

рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реБрдЖ рдХрд┐ GUI рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХрд╛ рдкреВрд░реНрдг рдЕрднрд╛рд╡ рдерд╛ред рд▓реЗрдХрд┐рди рд╡реЗ рдХрд╣реАрдВ рдФрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, IMG-LOKI-212 рдореЗрдВ рдирд┐рд░реНрдорд┐рдд рд╣реИрдВ ред

рдлрд╝рд░реНрдорд╡реЗрдпрд░ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рд╕рд╛рдорд╛рдиреНрдп рджреГрд╖реНрдЯрд┐рдХреЛрдгреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ рд╕рднреА рд╕рдВрднрд╛рд╡рд┐рдд рдХреНрд░реЙрд╕-рд░реЗрдлрд░реЗрдВрд╕ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ред рди рдХреЗрд╡рд▓ рдХреЛрдб рдореЗрдВ, рдмрд▓реНрдХрд┐ рдбреЗрдЯрд╛ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рднреАред рдлрд┐рд░ рдореИрдВ рдЙрдирдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рджреЗрдЦрддрд╛ рд╣реВрдВ, рдХреЛрдб рдХреЗ рдХреБрдЫ рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЗ рдХреБрдЫ рдкреИрдЯрд░реНрди рдпрд╛ рд▓рд┐рдВрдХ рдЦреЛрдЬрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

Leica рдлрд░реНрдорд╡реЗрдпрд░ рдХреЛрдИ рдЕрдкрд╡рд╛рдж рдирд╣реАрдВ рдерд╛ред рдЕрдиреНрдп рдбреЗрдЯрд╛ рдЕрдиреБрдХреНрд░рдореЛрдВ рдХреЗ рдкрддреЗ рдХреЗ рд╕рд╛рде рдХрдИ рд╕рдорд╛рди рдбреЗрдЯрд╛ рдЕрдиреБрдХреНрд░рдо рд╣реИрдВ рдЬреЛ рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВ, рдЖрджрд┐ред рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рд▓рд┐рдВрдХ рдХреЗ рдкрджрд╛рдиреБрдХреНрд░рдо рдкрд░ рдЪрдврд╝рд╛, рдореИрдВрдиреЗ рдЖрдЦрд┐рд░рдХрд╛рд░ рдПрдХ рдкрд░рд┐рдЪрд┐рдд рдлрд╝рдВрдХреНрд╢рди рджреЗрдЦрд╛ред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд▓рд┐рдВрдХ рдХреЗ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдорд┐рд▓реА:

 g_data = { ... } 

рдПрдХ рдЕрдиреНрдп рд╕рдВрд░рдЪрдирд╛ рдиреЗ рдЗрд╕реЗ рд╕рдВрдмреЛрдзрд┐рдд рдХрд┐рдпрд╛:

 g_data_struct1 = { ... , &g_data } 

рдмрджрд▓реЗ рдореЗрдВ рдХрд┐рд╕реЗ рджреВрд╕рд░реА рд╕рдВрд░рдЪрдирд╛ рджреНрд╡рд╛рд░рд╛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

 g_data_struct2 = { &g_data, ... } 

рдЗрд╕ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рдХреЛрдб рд╕реЗ рдПрдХ рд▓рд┐рдВрдХ рд╣реИ, рдФрд░ рдЗрд╕реЗ рджреВрд╕рд░реЗ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

 func1() тХ░ func2(..., &g_data_struct2, ...) 

рд╣рд╛рд▓рд╛рдБрдХрд┐, func1()рдЗрд╕реЗ рд╕реАрдзреЗ рдХрд┐рд╕реА рдЕрдиреНрдп рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рдирд╣реАрдВ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреБрдЫ рд╕рд░рдгреА рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

 g_func_list1[] = { ..., func1(), ... } 

рдКрдкрд░ рджреЗрдЦрддреЗ рд╣реБрдП, рдореБрдЭреЗ рдХреЛрдб рдореЗрдВ рдПрдХ рдХреЙрд▓ рдорд┐рд▓реА g_func_list1:

 func3() { g_func_list1[x] } 

рдФрд░ рдлрд┐рд░, рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рдПрдХ рд╕рд░рдгреА рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИ:

 g_func_list2[] = { ..., func3(), ... } 

рдХреБрдЫ рдЕрдиреНрдп рдХреЛрдб рд╕реНрд╡рдпрдВ рдРрд░реЗ рдХреЛ рдПрдХреНрд╕реЗрд╕ рдХрд░рддреЗ рд╣реИрдВ:

 func4() { g_func_list2[x] } 

рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдЗрд╕ рд╕рдордп рдлрд╝рдВрдХреНрд╢рди рдХреЛ рджреВрд╕рд░реЗ рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕реА рддрд░рд╣ gui_MADE_ApplicationRunред

 gui_Statemachine_DoStateChange() тХ░ gui_MADE_ApplicationRun() тХ░ func5() тХ░ func4() 

рдХреБрдЫ рдкрдВрдХреНрддрд┐рдпреЛрдВ рд╕реЗ рд╕рдВрдХреЗрдд рдорд┐рд▓рддрд╛ рд╣реИ рдХрд┐ GUI рд╕рдмрд╕рд┐рд╕реНрдЯрдо рдХреЛ "MADE" рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ MADE_GetSysTriрдЬреЛ рдХреБрдЫ рднреА рдорддрд▓рдм рд╣реИ , рдЙрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреГрд╖реНрда рд╕рдВрдХреНрд░рдордг рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред GUI рд░рд╛рдЬреНрдп рдорд╢реАрди рдореВрд▓ рд░реВрдк рд╕реЗ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ gui_Statemachine_DoStateChangeред рдЬреАрдпреВрдЖрдИ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдПрдХрддреНрд░ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╕рд╛рдорд╛рдиреНрдп рддрд╕реНрд╡реАрд░ рдЙрднрд░реА:



рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреАрдпреВрдЖрдИ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рдХрд╛рд░реНрдп рд╣реИ gui_CopyImageDesc(рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдирд╛рдо рдирд╣реАрдВ рд╣реИ)ред рдЙрд╕рдХреЗ рдкрд╛рд╕ рдирд┐рдореНрди рддрд░реНрдХ рд╣реИрдВ:

 gui_CopyImageDesc( uint32_t dstAddress; // R4 - destination address UIDescType type; // R5 - description type UITarget target; // R6 - rendering target uint32_t descAddress; // R7 - description address uint8_t always0; // (SP + 0x0) - always 0 uint8_t index1; // (SP + 0x4) - index 1 uint8_t index2; // (SP + 0x8) - index 2 uint16_t x_offset; // (SP + 0xC) - x offset uint16_t y_offset; // (SP + 0x10) - y offset uint16_t unknown2; // (SP + 0x14) - uint32_t language1; // (SP + 0x18) - language id 1 uint32_t language2; // (SP + 0x1C) - language id 2 uint32_t funcAddress; // (SP + 0x20) - function address ) 

рд╕рдВрд╕рд╛рдзрди рд╡рд┐рд╡рд░рдг рдЪрд╛рд░ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╣реЛрддреЗ рд╣реИрдВ:

 struct UIDescType0Header struct UIDescType1Header struct UIDescType2 struct UIDescType3 { { { { uint32_t address; uint32_t address; uint32_t reg; uint16_t x_offset; uint16_t entries; uint16_t entries; uint32_t address; uint16_t y_offset; uint16_t unknown; uint16_t unknown; uint16_t unknown1; uint32_t address; } } uint16_t unknown2; } uint16_t unknown3; struct UIDescType0Entry struct UIDescType1Entry uint16_t tableoff; { { } uint16_t x_offset; uint16_t x_offset; uint16_t y_offset; uint16_t y_offset; uint32_t address; uint32_t address; } uint16_t objects; uint16_t total_w; uint16_t total_h; uint16_t unknown; } 

рдкрд╣рд▓реЗ рдкреНрд░рдХрд╛рд░ рдореЗрдВ рдЕрднрд┐рд▓реЗрдЦреЛрдВ рдХреЗ рдПрдХ рд╕рд░рдгреА рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдПрдХ рд╣реЗрдбрд░ рд╣реЛрддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рд░рд┐рдХреЙрд░реНрдб рдореЗрдВ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдФрд░ рдкрд┐рдХреНрд╕реЗрд▓ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрддрд╛ рд╣реЛрддрд╛ рд╣реИред рд╡рд░реНрддрдорд╛рди рдкреНрд░рдХрд╛рд░ рд░рд╛рдЬреНрдп-рдирд┐рд░реНрднрд░ рддрддреНрд╡реЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдЧрддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рдЖрдЗрдХрди, рдЬреЛ UI рд╕реЗ рдЧреНрд░реЗ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдЧрд╛рдпрдм рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

рджреВрд╕рд░рд╛ рдкреНрд░рдХрд╛рд░ рднреА рдПрдХ рд╣реЗрдбрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реНрдерд╛рдиреАрдпрдХрд░рдг, рд▓рд╛рдЗрдиреЛрдВ рдпрд╛ рдкрд╛рда рдХреЗ рдмреНрд▓реЙрдХ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рддреАрд╕рд░рд╛ рдкреНрд░рдХрд╛рд░ рд╡рд┐рднрд┐рдиреНрди рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЪрд░рд┐рддреНрд░ рдорд╛рдирдЪрд┐рддреНрд░реЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред

рдмрд╛рдж рдХрд╛ рдкреНрд░рдХрд╛рд░ рдЕрдиреНрдп рд╕рднреА рд╕реНрдерд┐рд░ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рдЪрд┐рддреНрд░, рдкреГрд╖реНрдарднреВрдорд┐, рдЖрджрд┐ред

рдЕрдм рдЖрдЗрдП рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВред рдкрд╣рд▓реЗ рдЫрд╣ рдмрд╛рдЗрдЯреНрд╕ рдПрдХ рдЫреЛрдЯреЗ рд╣реЗрдбрд░ рдХреА рддрд░рд╣ рджрд┐рдЦрддреЗ рд╣реИрдВ, рдЗрд╕рдХреЗ рдмрд╛рдж рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рджреЛрд╣рд░рд╛рд╡ рдкреИрдЯрд░реНрди рд╣реЛрддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рд╣рд░ рджреВрд╕рд░рд╛ рдмрд╛рдЗрдЯ рдпрд╛ рддреЛ рд╣реЛрддрд╛ рд╣реИ , рдпрд╛ ред рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЧреНрд░рд╣рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддрд╛рд░реНрдХрд┐рдХ рд╣реИ рдФрд░

+0x00: 00 08 00 14 00 01 A2 FF 0A 04 05 FF 0C 04 03 FF
+0x10: 0D 04 03 FF 0E 04 02 FF 0E 04 02 FF 04 04 06 FF
+0x20: 04 04 02 FF 04 04 06 FF 04 04 02 FF 04 04 06 FF
+0x30: 04 04 02 FF 04 04 06 FF 04 04 02 FF 04 04 06 FF
+0x40: 04 04 02 FF 04 04 06 FF 04 04 02 FF 04 04 06 FF
+0x50: 04 04 02 FF 04 04 06 FF 04 04 02 FF 0E 04 02 FF
+0x60: 0E 04 02 FF 0D 04 03 FF 0D 04 03 FF 0C 04 04 FF
+0x70: 04 04 0C FF 04 04 0C FF 04 04 0C FF 04 04 0C FF
+0x80: 04 04 0C FF 04 04 0C FF 04 04 0C FF 04 04 0C FF
+0x90: 04 04 0D FF 02 04 2D FF 00 06 00 14 00 01 79 FF


0xFF0x040x00080x0014- рдкреНрд░рддреНрдпрдХреНрд╖ рдмрд╛рдЗрдЯ рдСрд░реНрдбрд░ (рдмрдбрд╝рд╛ рдПрдВрдбрд┐рдпрди) рдХреЗ рд╕рд╛рде рдПрдХ рджреГрд╢реНрдп рдореЗрдВ рдЪреМрдбрд╝рд╛рдИ рдФрд░ рдКрдВрдЪрд╛рдИред рдЗрд╕ рдбрдВрдк рдХреЗ рдЕрдВрдд рдореЗрдВ, рд╣рдо рдПрдХ рдФрд░ рдЕрдиреБрдХреНрд░рдо рдХреА рд╢реБрд░реБрдЖрдд рджреЗрдЦрддреЗ рд╣реИрдВ 00 06 00 14 00 01ред рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдпрд╣ рдЕрдЧрд▓рд╛ рд╕рдВрд╕рд╛рдзрди рд╣реИ (рдЬреИрд╕рд╛ рдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдВрдХ рджреНрд╡рд╛рд░рд╛ рдкреБрд╖реНрдЯрд┐ рдХреА рдЧрдИ рд╣реИ)ред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЫрд╡рд┐ рдбреЗрдЯрд╛ рдХрд╛ рдЖрдХрд╛рд░ 146 рдмрд╛рдЗрдЯреНрд╕ рд╣реИред рд▓реЗрдХрд┐рди рдЫрд╡рд┐ рдХрд╛ рдЖрдХрд╛рд░ 0x8 * 0x14 = 0xA0 = 160 рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдбреЗрдЯрд╛ рд╢реБрджреНрдз рдкрд┐рдХреНрд╕реЗрд▓ рдирд╣реАрдВ рд╣реИ рдФрд░ 8-рдмрд┐рдЯ LUT рднреА рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ 14 рдмрд╛рдЗрдЯреНрд╕ рдЫреЛрдЯрд╛ рд╣реИред рдлрд┐рд░ рдХреНрдпрд╛?рд╕рдореНрднрд╡рддрдГ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╕рдВрдкреАрдбрдиред

рдЗрд╕ рд╣реЗрдХреНрд╕рд╛рдбреЗрд╕рд┐рдорд▓ рдбрдВрдк рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдпрд╣ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреА рдЬрдЯрд┐рд▓ рдпреЛрдЬрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд▓реЗрдИрдХреЛ рдХреА GUI рдмрд╣реБрдд рд░рдВрдЧреАрди рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореЗрд░реЗ рдЕрдиреБрднрд╡ рдореЗрдВ рдпрд╣рд╛рдБ LUT рддрд╛рд▓рд┐рдХрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, UI рд╕рдВрд╕рд╛рдзрди LUT рд╕реВрдЪрдХрд╛рдВрдХреЛрдВ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рджреЛрд╣рд░рд╛рдПрдВрдЧреЗ 03 03 03рдпрд╛ рдЬреИрд╕реЗ 1 1 1ред рдЖрдорддреМрд░ рдкрд░, рдХрдВрдкреНрд░реЗрд╕рд░ рдбреЗрдЯрд╛ рджреЛрд╣рд░рд╛рд╡ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИ, рдЙрдиреНрд╣реЗрдВ рдПрдХ рд▓рд┐рдВрдХ рдХреЗ рд╕рд╛рде рдмрджрд▓ рджреЗрддрд╛ рд╣реИред рдпреЗ рд╕реВрдЪрдХрд╛рдВрдХ рд╕рд░рдгрд┐рдпрд╛рдБ RLE рдЬреИрд╕реА рд╕рд░рд▓ рд╡рд┐рдзрд┐ рдХреЗ рд╕рд╛рде рднреА рд╕рдВрдкреАрдбрд╝рди рдХреЗ рд▓рд┐рдП рдЖрджрд░реНрд╢ рд╣реИрдВ [data][number]ред рд▓рд┐рдЦрдиреЗ рдХрд╛ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЖрджреЗрд╢ data(рдорд╛рди) numberрдмрд╛рд░ред

рдЗрд╕ рд╕рдм рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП, рдореИрдВрдиреЗ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рдХрд┐ рд╣рдо рджреЛ рдПрд▓рдпреВрдЯреА рд░рдВрдЧреЛрдВ ( 0xFFрдФрд░ 0x04) рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЫрд╡рд┐ рдХреЛ рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ , рдФрд░ рд░рдВрдЧ рдХреЗ рд╕рд╛рдордиреЗ рдмрд╛рдЗрдЯ рдЦреАрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд┐рдХреНрд╕реЗрд▓ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реИред

"рдФрд░ рдлрд┐рд░ рдЖрдкрдиреЗ рдПрдХ рдФрд░ рдЙрдкрдХрд░рдг рд▓рд┐рдЦрд╛," рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдирд╣реАрдВ, рдореИрдВрдиреЗ рдПрдХ рдХрд▓рдо рдФрд░ рдХрд╛рдЧрдЬ рд▓рд┐рдпрд╛ рдФрд░ рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдореЗрдВ рднрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ред рдпрд╣ рд╣рд╛рд╕реНрдпрд╛рд╕реНрдкрдж рд╣реИ рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдЕрднреА рднреА рд╡рд╣ рддрд╕реНрд╡реАрд░ рд╣реИред



рдХрд╣реАрдВ рди рдХрд╣реАрдВ, рдореИрдВрдиреЗ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдХрд┐ 160 рдкрд┐рдХреНрд╕реЗрд▓ рдЗрд╕ рдЫрд╡рд┐ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП 0x8 рдФрд░ 0x14 рдХреЛ рджреЛ рд╕реЗ рдЧреБрдгрд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рддреАрд╕рд░рд╛ рд╢рдмреНрдж 0x0001 рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЫрд╡рд┐ рдПрдХ ASCII рд╡рд░реНрдг рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЕрдВрддрд┐рдо ImageAsset рд╕рдВрд░рдЪрдирд╛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИ:

 struct ImageAsset { uint16_t width; // /2 (big endian) uint16_t height; // /2 (big endian) uint16_t ascii; // 1,   ASCII struct image_data { uint8_t number; //     uint8_t color; //     LUT } data[]; } 

рд▓реЗрдХрд┐рди рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рдЕрднреА рднреА рдЧрд╛рдпрдм рд╣реИ: LUTред

рдпрд╣ рдЦреЛрдЬрдирд╛ рдЗрддрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдХрдИ рд▓рд┐рдВрдХ рдФрд░ рд╕рдВрд░рдЪрдирд╛рдПрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдмрд╣рд╛рд▓ рдХреА рдЧрдИ рдереАрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдзреАрд░реЗ-рдзреАрд░реЗ рдбреЗрдЯрд╛ рдЕрдиреБрднрд╛рдЧреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдХреНрд░реЙрд▓ рдХрд┐рдпрд╛, 16-рдмрд┐рдЯ рдпрд╛ 32-рдмрд┐рдЯ рдорд╛рдиреЛрдВ рдореЗрдВ рд╕реЗ 256 рддрддреНрд╡реЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА рдХреА рддрд▓рд╛рд╢ рдореЗрдВ, рдЬрдм рддрдХ рдореИрдВ рдЗрд╕ рдкрд╛рд░ рдирд╣реАрдВ рдЖрдпрд╛: рдлрд┐рд░ рд╕реЗ, рдзрдиреНрдпрд╡рд╛рдж рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рдХрд╛рдо рдореЗрдВ Blackmagic Design, рдореИрдВ рддреБрд░рдВрдд YUV рдкрд┐рдХреНрд╕рд▓ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, 8080 рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде рд╕рднреА рдореВрд▓реНрдпреЛрдВ) рдХреЛ рдорд╛рдиреНрдпрддрд╛ рджреАред рдореИрдВ рдлрд┐рд░ рд╕реЗ рдХрд╛рдЧрдЬ рдкрд░ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдкреВрд░реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореВрд░реНрдЦ рдирд╣реАрдВ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рд╣рд╛рдВ, рдореИрдВрдиреЗ рдПрдХ рдФрд░ рдЙрдкрдХрд░рдг - M240UITool рд▓рд┐рдЦрд╛ рд╣реИ ред рдлрд░реНрдорд╡реЗрдпрд░ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдмреАрдПрдордкреА / рдкреАрдПрдирдЬреА рддрдХ рд╕рднреА рдЫрд╡рд┐ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рд░реАрд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдЙрдкрдХрд░рдг рд╕рднреА рдпреВрдЖрдИ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдИрдбреАрдП рдореЗрдВ рдЖрдИрдбреАрд╕реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИред

.long 0x7008080, 0x72D8080, 0x73C8080, 0x75A8080, 0x79B8080, 0x71DFF6B, 0x7BE8080, 0x7FF8080
.long 0x77BBD27, 0x75B60E7, 0x7835F4A, 0x7D3089F, 0x7018080, 0x7028080, 0x7038080, 0x7048080
.long 0x7058080, 0x7068080, 0x7078080, 0x7088080, 0x7098080, 0x70A8080, 0x70B8080, 0x70C8080
.long 0x70D8080, 0x70E8080, 0x70F8080, 0x7108080, 0x7118080, 0x7128080, 0x7952B15, 0x7138080
.long 0x7148080, 0x7158080, 0x7168080, 0x7178080, 0x7188080, 0x7198080, 0x71A8080, 0x71C8080
.long 0x71D8080, 0x71E8080, 0x71F8080, 0x7338080, 0x7208080, 0x7218080, 0x7228080, 0x7238080
.long 0x7248080, 0x7248080, 0x7268080, 0x7278080, 0x7288080, 0x7298080, 0x72A8080, 0x72B8080
.long 0x72C8080, 0x75E8080, 0x7608080, 0x7628080, 0x7648080, 0x7678080, 0x7688080, 0x7698080
.long 0x76B8080, 0x76E8080, 0x7708080, 0x7728080, 0x7758080, 0x7778080, 0x7798080, 0x77C8080
.long 0x77E8080, 0x7818080, 0x7838080, 0x7868080, 0x7888080, 0x78B8080, 0x78D8080, 0x7908080
.long 0x7928080, 0x7958080, 0x7978080, 0x7998080, 0x79C8080, 0x79D8080, 0x7668080, 0x79E8080
.long 0x7A18080, 0x7A28080, 0x7A38080, 0x7A68080, 0x7A78080, 0x7A88080, 0x7AB8080, 0x7AC8080
.long 0x7AD8080, 0x7B08080, 0x7B28080, 0x7B58080, 0x7B88080, 0x7B98080, 0x7BC8080, 0x7CC8080
.long 0x7AB3BBB, 0x7E10094, 0x7E4556E, 0x4008080, 0x2922D17, 0x7B2AB00, 0x7C2A262, 0x71DFF6B
.long 0x768D4A2, 0x769D4EA, 0x7BD88AE, 0x705997B, 0x70BB377, 0x711CC73, 0x717E66F, 0x7238866
.long 0x729A262, 0x72FBB5E, 0x735D55A, 0x7417751, 0x747914D, 0x74DAA48, 0x753C444, 0x75F663B
.long 0x76B9933, 0x7998080, 0x771B32F, 0x77D5526, 0x7836F22, 0x789881E, 0x78FA21A, 0x7159095
.long 0x71AAA91, 0x720C38D, 0x726DD88, 0x7506F6A, 0x7568866, 0x75CA262, 0x762BB5E, 0x76E5E55
.long 0x7747751, 0x77A914D, 0x780AA48, 0x78C4D3F, 0x792663B, 0x7988037, 0x79E9933, 0x7AA3C2A
.long 0x7B05526, 0x7B66F22, 0x7BC881E, 0x72488AE, 0x72AA1AA, 0x72FBBA6, 0x735D4A2, 0x7427799
.long 0x7489095, 0x74DAA91, 0x753C38D, 0x77E556E, 0x7836F6A, 0x7898866, 0x78FA262, 0x79C4459
.long 0x7A15E55, 0x7A77751, 0x7AD914D, 0x7BF4D3F, 0x7CC8080, 0x7C5663B, 0x7CB8037, 0x7337FC8
.long 0x73999C4, 0x73FB2C0, 0x745CCBB, 0x7757799, 0x74C54FF, 0x77B9095, 0x780AA91, 0x7AB3C72
.long 0x7B1556E, 0x7B66F6A, 0x7BC8866, 0x74277E1, 0x74890DD, 0x74EAAD9, 0x754C3D5, 0x76066CC
.long 0x7667FC8, 0x76C99C4, 0x772B2C0, 0x77E55B7, 0x7846EB3, 0x78A88AE, 0x790A1AA, 0x7526EFB
.long 0x75787F7, 0x75DA1F3, 0x763BAEE, 0x76F5DE6, 0x77577E1, 0x77B90DD, 0x781AAD9, 0x78D4CD0
.long 0x79366CC, 0x79F99C4, 0x7E10094, 0x7CF44A1, 0x7DB7799, 0x7E71A90, 0x7ED338C, 0x7FF8080
.long 0x7328080, 0x7DC8080, 0x7C88080, 0x7508080, 0x775CD2C, 0x76944EA, 0x7808080, 0x71A61FF
.long 0x7244D40, 0x7242C15, 0xFFF8080, 0xF338080, 0xF668080, 0xF998080, 0xFCC8080, 0xF008080
.long 0xF4C54FF, 0xFAB3BBB, 0xFE10094, 0xFE4556E, 0xF952B15, 0xFDA7751, 0xFB2AB00, 0xFC2A262
.long 0xF1DFF6B, 0xF68D4A2, 0xF69D4EA, 0xFBD88AE, 0xA922D17, 0xC6E4130, 0xE286963, 0x74C55FF
.long 0x768D536, 0x7FF8080, 0x7FF8080, 0x7FF8080, 0x2922D17, 0x46E4130, 0x6286963, 0x8080






Leica M (typ 240) UI Tool v1.0
Usage: ./M240UITool [-a address] [-i imagebase] [-s script] [-d dump] [-f folder] [-l LUT] [-rbv] FIRMWARE.BIN

This tool will help you to find UI resources in firmware.
Use following arguments:
-a Specify address of the gui_CopyImageDesc function (ex. 0x2F95E0)
-i Specify firmware imagebase
-s Specify IDC file name
-c Specify container file name
-d Specify dump image format
png - PNG format
bmp - BMP (ARGB) format
-f Specify folder for dumped images
-l Specify LUT for images (filename of address)
-b Specify number of bytes to display in verbose mode
-r Try to recover string characters
-v Be verbose




рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдПрдХ рдпреВрдЖрдИ рдкреЗрдЬ рдмрдирд╛рдиреЗ рд╡рд╛рд▓реЗ рдлрд╝рдВрдХреНрд╢рди рд╕реЗ, рдЗрд╕реЗ рдХрдИ рдмрд╛рд░ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ gui_CopyImageDescред рдореБрдЭреЗ рд▓рдЧрд╛ рдХрд┐ UI рд╕рдВрд╕рд╛рдзрди рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдмрдирд╛рдиреЗ рдФрд░ рд╕рднреА рдкреЗрдЬ рд░реЗрдВрдбрд░рд┐рдВрдЧ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред рдЗрд╕рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд▓реНрдк -cрдХрд╛ рдЗрд░рд╛рджрд╛ рд╣реИ - рдпрд╣ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢реЗрд╖ рдХрдВрдЯреЗрдирд░ рдмрдирд╛рддрд╛ рд╣реИред

рдФрд░ рдХрд┐рд╕рдиреЗ рдХрд╣рд╛ рдХрд┐ рдпреВрдЖрдИ рд╕рдВрд╕рд╛рдзрди рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЕрд╕рд╛рдорд╛рдиреНрдп рдирд╣реАрдВ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ?



рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ (рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдкрд░ рдкрд╛рд░рднрд╛рд╕реА рдмрдЯрди) рд╣реЛрдиреЗ рдХреЗ рдирд╛рддреЗ, рдпрд╣ рдЙрдкрдХрд░рдг рдЖрдкрдХреЛ рдИрд╡реАрдПрдл / рдПрд▓рд╕реАрдбреА рдореЗрдиреВ рдХреЗ рдкреГрд╖реНрдареЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рди рдХреЗрд╡рд▓ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдПрдХ рдкреГрд╖реНрда рдХреЗ рднреАрддрд░ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдЪрд░рдгреЛрдВ рдХреЛ рднреА рджреЗрдЦрддрд╛ рд╣реИред

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдЗрд╕ рдХреГрддрд┐ рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рдХреЛрдб рдХрд╣реАрдВ рдЦреЛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рд╣реЗрдбрд░ рдлрд╛рдЗрд▓реЗрдВ рдЕрднреА рднреА M240UITool рдХреЛрдб рдореЗрдВ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ рдЖрдк рдЗрд╕реЗ рд╕реНрдХреНрд░реИрдЪ рд╕реЗ рдлрд┐рд░ рд╕реЗ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдбрд┐рдмрдЧ рдореЗрдиреВ


рд░рд┐рд╡рд░реНрд╕ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рдХреЗ рджреМрд░рд╛рди рд╣рдо рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдХрд┐рд╕ рд▓рд╛рдЗрди рдХреА рддрд▓рд╛рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдпрд╣ рд╢рдмреНрдж debugрдФрд░ рдЗрд╕рдХрд╛ рд╡реНрдпреБрддреНрдкрддреНрддрд┐ред

рдлрд░реНрдорд╡реЗрдпрд░ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реА рджрд┐рд▓рдЪрд╕реНрдк рд▓рд╛рдЗрдиреЗрдВ рдереАрдВ, рд▓реЗрдХрд┐рди рдпреЗ рд╡рд┐рд╢реЗрд╖ рд╣реИрдВ: рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЪрд╛рдмрд┐рдпреЛрдВ рдХреЗ рдХреБрдЫ рд╕рдВрдпреЛрдЬрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбрд┐рдмрдЧ рдореЛрдб рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрди рд╕рднреА рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рдПрдХ рд╡рд┐рд╢рд╛рд▓ рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ , рдЬреЛ рдПрдХ рдмрдЯрди рд╕реНрдХреИрди рд╕реНрдЯреЗрдЯ рдорд╢реАрди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред рдпрд╣рд╛рдБ рдпрд╣ рдЖрдИрдбреАрдП рдореЗрдВ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ:

$ strings ./IMG_LOKI-212_1.1.0.2.bin | grep "Debug Mode"
GUI: State: %d! Scanning for Debug Mode successful
GUI: Scanning for Debug Mode: State: %d, Ignore long DEL
GUI: Scanning for Debug Mode: State: %d
GUI: Scanning for Debug Mode: State: %d, Ignore long DEL
GUI: Scanning for Debug Mode: State: %d
GUI: Scanning for Debug Mode: State: %d, Ignore long DEL
GUI: Scanning for Debug Mode: State: %d
GUI: Scanning for Debug Mode: State: %d, Ignore long DEL
GUI: Scanning for Debug Mode: State: %d
GUI: Scanning for Debug Mode: State: %d, Ignore long DEL
GUI: Scanning for Debug Mode: State: %d
...
GUI: ScanningForDebugWithKeyAndJoyStick(): g_GUI_CheckForDebugWithKeyAndJoyStick = %d


ScanningForDebugWithKeyAndJoyStick



рдореИрдВ рдЭреВрда рдирд╣реАрдВ рдмреЛрд▓реВрдВрдЧрд╛, рдпрд╣ рд╕рдордЭрдиреЗ рдореЗрдВ рдХреБрдЫ рд╕рдордп рд▓рдЧрд╛ рдХрд┐ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдмрдЯрди рдлрд░реНрдорд╡реЗрдпрд░ рдореЗрдВ рдХреИрд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдмрдЯрди рдФрд░ рдЬреЙрдпрд╕реНрдЯрд┐рдХ рдХреЗ рд▓рд┐рдП рдПрдиреНрдпреВрдорд░реЗрдЯреЗрдб рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред рд▓реЗрдХрд┐рди рдЬрдм рдореБрдЭреЗ рдХреЙрдореНрдмрд┐рдиреЗрд╢рди рдорд┐рд▓рд╛, рддреЛ рдореБрдЭреЗ рдЪрд┐рд░рд╛рдЧ рдХреЗ рд╕рд╛рде рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рд╡рд╣ рдХреБрдЫ рдирд╣реАрдВ рдХрд░ рд░рд╣реА рд╣реИред рдпрд╣ рд╢рд╛рдпрдж рдХреЗрд╡рд▓ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ GUI рдкреГрд╖реНрда рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЬреАрдпреВрдЖрдИ рд░рд╛рдЬреНрдп рдорд╢реАрди рдХреЗ рдореИрдиреБрдЕрд▓ рдЯреНрд░реЗрд╕рд┐рдВрдЧ рдХреЗ рдХреБрдЫ рдФрд░ рд╢рд╛рдо - рдФрд░ рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЧрдИ рд╣реИ, рдФрд░ рд╣рдо рд░рд┐рдЬреНрдпреВрдореЗ рдореЗрдиреВ рдкреЗрдЬ рдХреЛ рдЦреЛрдЬрдиреЗ рдореЗрдВ рднреА рдХрд╛рдордпрд╛рдм рд░рд╣реЗред

рдЕрдВрдд рдореЗрдВ, рдбрд┐рдмрдЧ рдореЛрдб рдореЗрдВ рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИред



рдореИрдВрдиреЗ рдмрд╣реБрдд рд╕реЛрдЪрд╛ рдХрд┐ рдХреНрдпрд╛ рдЗрд╕ рд╕рдВрдпреЛрдЬрди рдХреА рдШреЛрд╖рдгрд╛ рдХреА рдЬрд╛рдП, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдмрдВрдж рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдореИрдВ рдЕрдкрдиреЗ рдЕрджреНрд╡рд┐рддреАрдп рдЙрдкрдХрд░рдгреЛрдВ рдХреЛ рдЬрд╛рд░реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓реАрдХрд╛ рджреНрд╡рд╛рд░рд╛ рдХреА рдЧрдИ рдХрдбрд╝реА рдореЗрд╣рдирдд рдХрд╛ рд╕рдореНрдорд╛рди рдХрд░рддрд╛ рд╣реВрдВ, рдФрд░ рдореИрдВ рдЗрд╕ рддрдереНрдп рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдЙрдирдХреЗ рд╕реЗрд╡рд╛ рдХреЗрдВрджреНрд░ рдХреБрдЫ рд╡рд┐рдЪрд╛рд░рд╣реАрди рдЬрд┐рдЬреНрдЮрд╛рд╕рд╛ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдХреИрдорд░реЛрдВ рдХреЗ рдЯреВрдЯреЗ рд╣реБрдП рд╢рд╡реЛрдВ рдХреЛ рднрд░ рджреЗрдВрдЧреЗред

рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА, рдореИрдВ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд░рд┐рд╡рд░реНрд╕ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдкреНрд░рдЧрдгрд┐рдд рдкреНрд░рдХрд╛рд░ рдкреНрд░рджрд╛рди рдХрд░реВрдБрдЧрд╛ред

 enum ControlActionType { kControlAction_Idle, // 0 kControlAction_Push, // 1 kControlAction_Release, // 2 kControlAction_LongPush // 3 }; enum ControlBtnType { kControlBtn_LV, // 0 kControlBtn_PLAY, // 1 kControlBtn_DEL, // 2 kControlBtn_ISO, // 3 kControlBtn_MENU, // 4 kControlBtn_SET // 5 }; enum ControlJoystickType { kControlJoy_INFO, // 0 kControlJoy_Up, // 1 kControlJoy_Down, // 2 kControlJoy_Left, // 3 kControlJoy_Right // 4 }; 

PTP


USB рдХрд╛рд░реНрдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдХрд░, рдореИрдВрдиреЗ рддреАрди рдореЛрдб рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдП (рдЬреЛ рдбреАрдмрдЧ рдореЗрдиреВ рдореЗрдВ рднреА рдкреБрд╖реНрдЯрд┐ рдХреА рдЧрдИ рд╣реИ):

  • PTP
  • рдПрдордПрд╕рд╕реА (рдорд╛рд╕ рд╕реНрдЯреЛрд░реЗрдЬ рдХреНрд▓рд╛рд╕)
  • рд▓рдЗрдХрд╛ рдкреНрд░рдерд╛

PTP рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдкреНрд░рд▓реЗрдЦрд┐рдд рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдХреИрдорд░реЗ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдлрд░реНрдорд╡реЗрдпрд░ рдореЗрдВ PTP рд╣реИрдВрдбрд▓рд░ рдвреВрдВрдврдирд╛ рдХрд╛рдлреА рдЖрд╕рд╛рди рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рдХреЛрдб рд╕реЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдХреЙрд▓ рдЖрддреЗ рд╣реИрдВред рд╕рднреА рдкреАрдЯреАрдкреА рдХреЙрд▓ рдХреЛ рддреАрди рд╕рдореВрд╣реЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: рд▓рд┐рдЧреЗрд╕реА , рд▓реЗрдЗрдХрд╛ рдПрдХреНрд╕рдЯреЗрдВрдбреЗрдб (рдПрд▓рдИ) рдФрд░ рдкреНрд░реЛрдбрдХреНрд╢рди ред

рдбрд┐рдмрдЧрд┐рдВрдЧ рд╕рдВрджреЗрд╢реЛрдВ рдиреЗ рд▓рдЧрднрдЧ рд╕рднреА рдХреЛрдб рдХреЗ рд▓рд┐рдП рдирд╛рдо рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХреАред

 рд╡рд┐рд░рд╛рд╕рдд: рд▓реАрдХрд╛ рдПрдХреНрд╕рдЯреЗрдВрдбреЗрдб: рдЙрддреНрдкрд╛рджрди:                           
0x1001 - GetDeviceInfo 0x9001 - рдХреИрдорд░рд╛ рд╕реЗрдЯрд┐рдВрдЧ рд╕реЗрдЯ рдХрд░реЗрдВ 0x9100 - рдЙрддреНрдкрд╛рджрди рд╕рддреНрд░ рдЦреЛрд▓реЗрдВ      
0x1002 - OpenSession 0x9002 - Get Camera Settings 0x9101 - Close Production Session     
0x1003 - CloseSession 0x9003 - Get Lens Parameter 0x9102 - UpdateFirmware               
0x1004 - Get Storage ID 0x9004 - Release Stage 0x9103 - Open OSD Session             
0x1005 - Get Storage Info 0x9005 - Open LE Session 0x9104 - Close OSD Session            
0x1006 - GetNumObjects 0x9006 - Close LE Session 0x9105 - Get OSD Data                 
0x1007 - GetObjectHandles 0x9007 - RequestObjectTransferReady 0x9106 - GetFirmwareStruct            
0x1008 - GetObjectInfo 0x9008 - GetGeoTackingData 0x910B - GetDebugMenu                 
0x1009 - GetObject 0x900A - Open Debug Session 0x910C - SetDebugMenu                 
0x100A - Get Thumb 0x900B - Close Debug Session 0x910D - ODIN Message                 
0x100B - Delete Object 0x900C - Get Debug Buffer 0x910E - GetDebugObjectHandles        
0x100E - Initiate Capture 0x900D - Debug Command String 0x910F - GetDebugObject               
0x1014 - GetDevicePropDesc 0x900E - Get Debug Route 0x9110 - DeleteDebugObject            
0x1015 - GetDevicePropV 0x900F - SetIPTCData 0x9111 - GetDebugObjectInfo           
0x101C - Initiate Open Capture 0x9010 - GetIPTCData 0x9112 - WriteDebugObject             
                                   0x9020 - Get3DAxisData 0x9113 - CreateDebugObject            
                                   0x9030 - OpenLiveViewSession 0x9114 - Calibrate 3Daxis             
                                   0x9031 - CloseLiveViewSession 0x9115 - Magnetic calibration         
                                   0x9033 - Unknown 0x9116 - Get Viewfinder Data 

PTP рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реНрд╡рдпрдВ рдорд╛рдирдХ рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреБрдЫ рдЖрджреЗрд╢реЛрдВ рдХреА рд╕реАрдорд╛рдПрдБ рд╣реИрдВ рдЬреЛ рдореИрдВ рдЬрд╛рдирдмреВрдЭрдХрд░ рдпрд╣рд╛рдБ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реВрдВред

рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ, рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рдХрд╛рдлреА рд░реЛрдорд╛рдВрдЪрдХ рд╣реИред рдЖрдк рд╕реЛрдЪ рд╕рдХрддреЗ рд╣реИрдВ, "рдЪрд▓реЛ рдмрд╕ USB рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреИрдорд░реЗ рдореЗрдВ рдкреНрд▓рдЧ рдХрд░реЗрдВ рдФрд░ libptp рдХреЗ рд╕рд╛рде рдЬрд╛рдВрдЪ рд╢реБрд░реВ рдХрд░реЗрдВред" рдпрд╣ рд╕рд╣реА рд╣реИред

рдзрд┐рдХреНрдХрд╛рд░ рд╣реИ ...

Leica M240 рдореЗрдВ USB рдкреЛрд░реНрдЯ рдирд╣реАрдВ рд╣реИред

рдмрдВрджрд░рдЧрд╛рд╣ рдХреЛ рд╕рдВрднрд╛рд▓реЗрдВ


Leica рдЗрд╕ рдХреИрдорд░реЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕рд╛рдорд╛рди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИред рд╣рдо рдорд▓реНрдЯреА-рдлрдВрдХреНрд╢рди рд╣реИрдВрдбрд▓ Leica M (14495) рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ ред рдпрд╣ рдорд╛рдорд▓реЗ рдХреЗ рдирд┐рдЪрд▓реЗ рдзрд╛рддреБ рднрд╛рдЧ рдХреЛ рдмрджрд▓ рджреЗрддрд╛ рд╣реИ, рдмрд┐рд▓реНрдЯ-рдЗрди рдЬреАрдкреАрдПрд╕ рдФрд░ рдХрдИ рдХрдиреЗрдХреНрдЯрд░ рдЬреИрд╕реЗ рдпреВрдПрд╕рдмреА, рдПрдХ рдПрд╕рд╕реАрдП рдлреНрд▓реИрд╢ рдЯрд░реНрдорд┐рдирд▓, рдбреАрдЖрдИрдПрди / рдЖрдИрдПрд╕рдУ-рдПрдХреНрд╕ рдФрд░ рдПрдХ рдкрд╛рд╡рд░ рд╕реЙрдХреЗрдЯ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред



рдФрд░ рдЖрдк рдлрд┐рд░ рд╕реЗ рдХрд╣рддреЗ рд╣реИрдВ: "рдорд╣рд╛рди, рдЕрдм рдЗрд╕реЗ рдЦрд░реАрджреЗрдВ, рдЗрд╕реЗ рдХреИрдорд░реЗ рд╕реЗ рд╕рдВрд▓рдЧреНрди рдХрд░реЗрдВ, рдХреИрдорд░реЗ рдХреЛ рдпреВрдПрд╕рдмреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ рдФрд░ рдкрд░рд┐рд╡рд╛рдж рдХреЗ рд▓рд┐рдП рдЬрд╛рдВрдЪ рд╢реБрд░реВ рдХрд░реЗрдВред" рдпрд╣ рд╕рд╣реА рд╣реИред

рдХреЗрд╡рд▓ рдпрд╣ рд▓рд╛рдирдд рд╣реИ ...

рдЗрд╕рдХреА рд▓рд╛рдЧрдд рд▓рдЧрднрдЧ 900 рдбреЙрд▓рд░ рд╣реИред

рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдПрдбреЗрдкреНрдЯрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рд▓рдЧрднрдЧ рдиреМ рд╕реМ рдХрд╛рд░рдг рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдХреЗрд╡рд▓ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореИрдВрдиреЗ рдЗрд╕ рдПрдХреНрд╕реЗрд╕рд░реА рдХреЗ рд▓рд┐рдП рдИрдмреЗ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХреАред

рдпреЛрдЬрдХ


рдХреИрдорд░реЗ рдкрд░ рдХрдиреЗрдХреНрдЯрд░ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИ:



рдореИрдВрдиреЗ рдЗрд╕реЗ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдЦреЛрдЬрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рдЧрдВрднреАрд░рддрд╛ рд╕реЗ, рдЖрдк Google рдкрд░ рдЗрд╕рдХрд╛ рд╡рд░реНрдгрди рдХреИрд╕реЗ рдХрд░реЗрдВрдЧреЗ?

рдереЛрдбрд╝рд╛ рд╣рддрд╛рд╢ рд╣реЛрдХрд░, рдореИрдВрдиреЗ рдХреБрдЫ рдкрд╛рдЧрд▓ рдЪреАрдЬреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛, рдЬреИрд╕реЗ рдХрд┐ рдкрдиреНрдиреА рдпрд╛ рд╕реБрдЗрдпреЛрдВ рдХреЛ рд░рдмрдбрд╝ рдХреЗ рд░рдмрдбрд╝ рд╕реЗ рдЪрд┐рдкрдХрд╛рдирд╛ред рд▓реЗрдХрд┐рди рдПрдХ рдмрд╛рд░ рдХрд╛рдо рдкрд░ Blackmagic Design, рдХреИрдорд░рд╛ рд╕рд░реНрдХрд┐рдЯ рдмреЛрд░реНрдб рдХреЛ рджреЗрдЦ, рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдХрдиреЗрдХреНрдЯрд░реНрд╕ рдореЗрдВ рд╕реЗ рдПрдХ рдХрд╛ рдПрдХ рдмрд╣реБрдд рд╣реА рдкрд░рд┐рдЪрд┐рдд рдЖрдХрд╛рд░ рдерд╛ред рдЕрдЧрд▓реЗ рджрд┐рди рдореИрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рд▓реАрдХрд╛ M240 рд▓рд╛рдпрд╛ - рдФрд░ рд╣рд╛рдБ, рдпрд╣ рд╕рдорд╛рди рджрд┐рдЦрддрд╛ рдерд╛, рдмрд╕ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдкреИрдб рдХреЗ рд╕рд╛рдеред

рдпрд╣ рд╣рдорд╛рд░реЗ рдШрдЯрдХ рдкреНрд░рдмрдВрдзрдХ рдХреА рднрд╛рдЧ рд╕рдВрдЦреНрдпрд╛ рдкреВрдЫрдиреЗ рдХреЗ рд▓рд┐рдП рдмрдиреА рд╣реБрдИ рд╣реИ, рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ рд╕реИрдордЯреЗрдХ рд╕реВрдЪреА рдореЗрдВ рдкрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ: ERM8-013-05.0-L-DV-TR ред



рд╣рдордиреЗ рд╕реИрдордЯреЗрдХ рд╕реЗ рдпрд╣ рднреА рдкреВрдЫрд╛ рдХрд┐ рдХреНрдпрд╛ рд╕реИрдВрдкрд▓ рд▓реЗрдирд╛ рд╕рдВрднрд╡ рдерд╛, рдФрд░ рд╡реЗ рд╕рд╣рдо рдЧрдПред



рдЯрд╛рдВрдХрд╛ рд▓рдЧрд╛рдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрд╣реЗ, рдХрд╛рд░реНрдбрдмреЛрд░реНрдб рдФрд░ рдмрд┐рдЬрд▓реА рдХреЗ рдЯреЗрдк рдХреЗ рд╕рд╛рде рдереЛрдбрд╝рд╛ рдХрд╛рдо - рдФрд░ рдореЗрд░рд╛ рдЕрдкрдирд╛ рдкреНрд▓рдЧ рддреИрдпрд╛рд░ рд╣реИ (2013 рдХрд╛ рдирдореВрдирд╛)ред



рдкрд╛рдВрдЪ рд╕рд╛рд▓ рдмрд╛рдж, 2018 рдореЗрдВ, рдореИрдВрдиреЗ рд╕реИрдордЯреЗрдХ рдХреЛ рдПрдХ рдФрд░ рдирдореВрдирд╛ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдкреВрдЫрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдореИрдВ рдХреБрдЫ рдмреЗрд╣рддрд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред

ERCD-013-05.00-TTR-TTR-1-D


рдлрд┐рд░ рд╕реЗ, рдПрдХ рдЯрд╛рдВрдХрд╛ рд▓рдЧрд╛рдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрд╣реЗ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рд╕рд╛рд░реЗ рдХрд╛рдо, рдХрд╕рдо рдЦрд╛рдирд╛ , рддрд╛рд░ рдХрд╛рдЯрдирд╛, рдХрд╕рдо рдЦрд╛рдирд╛, рдлрд┐рд░ рд╕реЗ рдЯрд╛рдВрдХрд╛ рд▓рдЧрд╛рдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрд╣реЗ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдХреЗ рдПрдХ рдирдпрд╛, рдЕрдзрд┐рдХ рдЖрдХрд░реНрд╖рдХ рд╡рд┐рдХрд▓реНрдк рдмрдирд╛рдирд╛ ...



pinout


рдХрдиреЗрдХреНрдЯрд░ рдореЗрдВ 26 рд╕рдВрдкрд░реНрдХ рд╣реИрдВ: рдкреНрд░рддреНрдпреЗрдХ рддрд░рдл 13ред рдЕрдкрдиреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рд╕реЛрд▓реНрдбрд░ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╣реА, рдореИрдВрдиреЗ рдорд▓реНрдЯреАрдореАрдЯрд░ рдФрд░ рд▓реЙрдЬрд┐рдХ рдПрдирд╛рд▓рд╛рдЗрдЬрд░ рдХреЗ рд╕рд╛рде рдХреИрдорд░рд╛ рдХрдиреЗрдХреНрдЯрд░ рдХреА рдЬрд╛рдВрдЪ рдХреАред рд╡реИрд╕реЗ, рдЖрдкрдХреЛ рдиреАрдЪреЗ рдХрд╡рд░ рд╕реЗрдВрд╕рд░ рдкрд░ рдПрдХ рдЪреБрдВрдмрдХ рд▓рдЧрд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рддрд╛рдХрд┐ рдХреИрдорд░рд╛ рд╕рдордЭрддрд╛ рд╣реИ рдХрд┐ рдХрд╡рд░ рдЬрдЧрд╣ рдореЗрдВ рд╣реИред

рдкреГрдереНрд╡реА (рдХреИрдорд░рд╛ рдмрдВрдж, рдХреЛрдИ рдмреИрдЯрд░реА рдирд╣реАрдВ)

рдореИрдВ рд╣рдореЗрд╢рд╛ рдЬрдореАрди рд╕реЗ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕реБрд░рдХреНрд╖рд┐рдд рдФрд░ рдЦреЛрдЬрдиреЗ рдореЗрдВ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред



рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЖрда рдЬрдореАрдиреА рд░реЗрдЦрд╛рдПрдВ (рдЧрд╣рд░реЗ рднреВрд░реЗ) рд╣реИрдВред

рд╕рдВрднрд╛рд╡рд┐рдд (рдХреИрдорд░рд╛ рдкрд░)

рдЬрдм рдХреИрдорд░рд╛ рдЪрд╛рд▓реВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЖрдк рдкреНрд░рддреНрдпреЗрдХ рдкрд┐рди рдкрд░ рдХреНрд╖рдорддрд╛ рдХреЛ рдорд╛рдк рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рддрд░реНрдХ рдФрд░ рд╢рдХреНрддрд┐ рдХреЗ рд╕реНрддрд░ рдХрд╛ рдЕрдВрджрд╛рдЬрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВред

alexhude.imtqy.com/assets/2019/2019-01-24-hacking-leica-m240/probe2_potential.png

рдкрд┐рди 8-8 рдФрд░ 11тАУ13 рдкрд░ рдкреНрд░рджрд░реНрд╢рди рд▓реЙрдЬрд┐рдХ рдкрд┐рди рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЙрдиреНрд╣реЗрдВ рд╢рдХреНрддрд┐ (рд▓рд╛рд▓) рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ред

рдкреНрд░рддрд┐рд░реЛрдз (рдХреИрдорд░рд╛ рдмрдВрдж, рдХреЛрдИ рдмреИрдЯрд░реА рдирд╣реАрдВ)

рдпрд╣ рдкреНрд░рддрд┐рд░реЛрдз рдХреЛ рдорд╛рдкрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИред рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдпрд╣ рдЗрдирдкреБрдЯ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдФрд░ рдХреБрдЫ рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рд╕рдореВрд╣ рдмрдирд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред



рдХрдиреЗрдХреНрдЯреЗрдб рдЖрдЙрдЯрдкреБрдЯ (рдХреИрдорд░рд╛ рдмрдВрдж рд╣реЛ рдЧрдпрд╛, рдХреЛрдИ рдмреИрдЯрд░реА рдирд╣реАрдВ)

рдлрд┐рд░ рдореИрдВрдиреЗ рдХреИрдорд░рд╛ рдмреЙрдбреА рдХреЗ рд╕рднреА рдмрд╛рд╣рд░реА рдкреИрдбреНрд╕ рдХреЛ рдЪреЗрдХ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдХрд┐ рд╡реЗ рд╕рд░реНрд╡рд┐рд╕ рдкреЛрд░реНрдЯ рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реИрдВ рдпрд╛ рдирд╣реАрдВред



рдлрд╝реНрд▓реИрд╢ рд╕рд┐рдВрдХ рд╕рдВрдкрд░реНрдХ рд╕реАрдзреЗ рд▓рд╛рдЗрди 10 рд╕реЗ рдЬреБрдбрд╝рд╛ рдерд╛ред

рд▓реЙрдЬрд┐рдХ рдПрдирд╛рд▓рд╛рдЗрдЬрд╝рд░ (рдХреИрдорд░рд╛ рдЪрд╛рд▓реВ)

рдкреНрд░рддреНрдпреЗрдХ рд▓рд╛рдЗрди рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдирд┐рдореНрди рдХреНрд░рдо рдореЗрдВ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛: рдЪрд╛рд▓реВ рдХрд░реЗрдВ, рдХреИрдорд░рд╛ рдПрд▓рд╡реА рдореЛрдб рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдПрдХ рддрд╕реНрд╡реАрд░ рд▓реЗрдиреА рдЪрд╛рд╣рд┐рдП, рд╡реАрдбрд┐рдпреЛ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рд╢реБрд░реВ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред



рджреЛ рд▓рд╛рдЗрдиреЗрдВ рдХреБрдЫ рдбреЗрдЯрд╛ рдХреЗ рдкреНрд░рд╕рд╛рд░рдг рдХреЛ рджрд┐рдЦрд╛рддреА рд╣реИрдВ: 01 рдФрд░ 21.

01 - 115200, 8 рдмрд┐рдЯреНрд╕ рдХрд╛ рдЯреНрд░рд╛рдВрд╕рдорд┐рд╢рди, 1 рд╕реНрдЯреЙрдк рдмрд┐рдЯ, рдкреИрд░рд┐рдЯреА рдмрд┐рдЯ, рдПрд▓рдПрд╕рдмреА рдкрд╣рд▓реЗред



рдкреНрд░рддреНрдпреЗрдХ 500 рдПрдордПрд╕, рдпрд╣ рдПрдХ рдХрд╛рдЙрдВрдЯрд░ рднреЗрдЬрддрд╛ рд╣реИ C3 3C 02 81 00 01 00 82, C3 3C 02 81 01 01 00 83, C3 3C 02 81 02 01 00 80...

21 - 115200, 8 рдмрд┐рдЯреНрд╕ рдХрд╛ рд╕рдВрдЪрд░рдг, 1 рд╕реНрдЯреЙрдк рдмрд┐рдЯ, рдХреЛрдИ рд╕рдорддрд╛ рдЪреЗрдХ рдмрд┐рдЯ, рдПрд▓рдПрд╕рдмреА рдкрд╣рд▓реЗред



рдпрд╣ рдмреВрдЯрд▓реЛрдбрд░ рд▓реЙрдЧ рдХреЛ SH7216 ("рд▓реЗрдЗрдХрд╛ рдХреИрдорд░рд╛ рдПрдЬреА" рдКрдкрд░ рдХреЗ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдореЗрдВ) рднреЗрдЬрддрд╛ рд╣реИред

рдЪрд▓реЛ рдЙрдиреНрд╣реЗрдВ рдЧрд╣рд░реЗ рдиреАрд▓реЗ рд░рдВрдЧ рдХрд╛ рдирд┐рд╢рд╛рди рджреЗрдВред рдпрд╣ рдмрд╣реБрдд рджреБрдЦ рдХреА рдмрд╛рдд рд╣реИ рдХрд┐ рдбреЗрдмреНрдпреВ рдореЗрдиреВ рдореЗрдВ рдЕрдзрд┐рдХрддрдо рдбрд┐рдмрдЧрд┐рдВрдЧ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рднреА рдореЗрд╕реНрдЯреНрд░реЛ рд▓реЙрдЧ рдмрд╛рд╣рд░ рдирд╣реАрдВ рдЬрд╛рддрд╛ рд╣реИред



рдЗрди рд╕рдВрдкрд░реНрдХреЛрдВ рдкрд░, рдкреНрд░рддрд┐рд░реЛрдз 310kOhm рд╣реИред

рдореБрдЭреЗ рдкрддрд╛ рдирд╣реАрдВ рдХреНрдпреЛрдВ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рдХрд┐ рдЕрдиреНрдп рдбреЗрдЯрд╛ рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ рд╕рдорд╛рди рдкреНрд░рддрд┐рд░реЛрдз рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдмрдВрдж рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕рд▓рд┐рдП, рдореИрдВрдиреЗ рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ ~ ~ 300kOhm, ~ 200kOhm, рдФрд░ ~ 100kOhm рдХреЛ рдбреЗрдЯрд╛ рд▓рд╛рдЗрдиреЛрдВ (рдЪрд┐рддреНрд░ рдореЗрдВ рдиреАрд▓реЗ рд░рдВрдЧ рдХреЗ рд╢реЗрдб) рдХреЗ рд░реВрдк рдореЗрдВред

рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪрд┐рддреНрд░ рдЦреАрдВрдЪрд╛ рдЧрдпрд╛ рдерд╛ред



рдбреЗрдЯрд╛ рд▓рд╛рдЗрди рдкрд░ 12 рдЙрдореНрдореАрджрд╡рд╛рд░ред рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЗрдВ рдХреИрд╕реЗ рдЬрд╛рдВрдЪрдирд╛ рд╣реИ? рдПрдХреАрдХреГрдд рд╕рд░реНрдХрд┐рдЯ рдХреА рд╡рд┐рджреНрдпреБрдд рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓реЛрд╣реЗ рдХреЗ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдЫреЛрдЯреА рд╕реА рдмрд╛рддрдЪреАрдд рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ 4kOhm рд░реЛрдХрдиреЗрд╡рд╛рд▓рд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдВрдкрд░реНрдХреЛрдВ рдХреЛ рд░реЛрдХрдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛, рдЬреЛ рд╡рд░реНрддрдорд╛рди рдХреЛ рдПрдХ рд╕реНрддрд░ рддрдХ рдХрдо рдХрд░ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдЗрдирдкреБрдЯ рдХреЛ рдЬрд▓рд╛ рдирд╣реАрдВ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

UART


рдореИрдВрдиреЗ рдПрдХ рдФрд░ рдзрд╛рд░рдгрд╛ рдмрдирд╛рдИ рдХрд┐ рдЖрд░рдПрдХреНрд╕ рд▓рд╛рдЗрди TX рдХреЗ рдкрд╛рд╕ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рд▓рд╛рдЗрдиреНрд╕ 02, 03 рдФрд░ 20 рдЕрдЪреНрдЫреЗ рдЙрдореНрдореАрджрд╡рд╛рд░реЛрдВ рдХреА рддрд░рд╣ рджрд┐рдЦрддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рджреЛрдиреЛрдВ рдореЗрдВ TX рдХреА рддрд░рд╣ 3.3 V рдХрд╛ рд╡реЛрд▓реНрдЯреЗрдЬ рд╣реИред

рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рдореИрдВрдиреЗ рдмрд╕ рдкрд╛рдЗрд░реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрди рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреАред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдкрд░рд┐рдгрд╛рдо рдмрд▓реНрдХрд┐ рдЧрдВрджрд╛ рдерд╛ред рддрдм рдореИрдВрдиреЗ MacL рдкрд░ SiLabs- рдЖрдзрд╛рд░рд┐рдд рдХреЗрдмрд▓реЛрдВ рдХреЛ рдЕрдзрд┐рдХ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдФрд░ рдЧреИрд░-рдкрд░рд╕реНрдкрд░ рд╡рд┐рд░реЛрдзреА рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд┐рдпрд╛ред

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВрдиреЗ TX рдХреЗрдмрд▓ рдХреЛ 20 рдкрд┐рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдиреЗрдХреНрдЯ рдХрд┐рдпрд╛ рдФрд░ helpрдмреВрдЯрд▓реЛрдбрд░ рдХреЗ рдмрд╛рдж рдЯрд╛рдЗрдк рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ ред рдЬреИрд╕рд╛ рдХрд┐ рдЕрдкреЗрдХреНрд╖рд┐рдд рдерд╛, рдереЛрдбрд╝реЗ рд╡рд┐рд▓рдВрдм рдХреЗ рдмрд╛рдж, рдХреИрдорд░реЗ рдиреЗ рдкрд╛рддреНрд░реЛрдВ рдХреЛ рджреЛрд╣рд░рд╛рдпрд╛ред



рд╕рдВрдкрд░реНрдХ 02 рдФрд░ 03 UART рдХреЗ рд▓рд┐рдП рдЕрдЧрд▓реЗ рдЙрдореНрдореАрджрд╡рд╛рд░ рдереЗред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдХреЛрдИ рд╕рдВрдХреЗрдд рдирд╣реАрдВ рдереЗ рдХрд┐ рдпреЗ рд▓рд╛рдЗрдиреЗрдВ рдЯреИрдк рдХреА рдЬрд╛ рд░рд╣реА рдереАрдВред

рдЖрд░реЗрдЦ рдореЗрдВ, рдкреНрд░рд╕рд┐рджреНрдз UARTs рд╣рд░реЗ рд░рдВрдЧ рдХреА рдПрдХ рдЧрд╣рд░рд╛ рдЫрд╛рдпрд╛ рджреНрд╡рд╛рд░рд╛ рдЗрдВрдЧрд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред



рдпреВрдПрд╕рдмреА


рдпрд╣ рд╕рдм рдмреАрдЪ рдореЗрдВ рдПрдХ рд╣реЗрдбрд░ рдХреЗ рд╕рд╛рде рдЖрдзреЗ рдореЗрдВ рдПрдХ рдпреВрдПрд╕рдмреА рдХреЗрдмрд▓ рдХрд╛рдЯрдиреЗ рдФрд░ рд╕рдВрд╡реЗрджрди рдХреЗ рд▓рд┐рдП 4kOhm рдкреНрд░рддрд┐рд░реЛрдзреЛрдВ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реБрдЖред рдПрдХ рдЕрдВрддрд░ рдЬреЛрдбрд╝реА рдХреА рд╕рдВрдХреЗрдд рдЕрдЦрдВрдбрддрд╛? рдирд╣реАрдВ, рддреЛ рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рдереАред :)



рддрдм рдореИрдВрдиреЗ рдШрд░ рдкрд░ рдХрдИ рдпреВрдПрд╕рдмреА рд╣реЛрдо рдбрд┐рд╡рд╛рдЗрд╕реЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХреА, рддрд╛рдХрд┐ рдпрд╣ рдЕрдВрджрд╛рдЬрд╛ рд▓рдЧрд╛рдпрд╛ рдЬрд╛ рд╕рдХреЗ рдХрд┐ рдЗрд╕ рдкреЛрд░реНрдЯ рдкрд░ рд╕рдВрдЪрд╛рд░ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИред

рдХреИрдирди


рдХреИрдорд░рд╛ Blackmagic рдкреЙрдХреЗрдЯ


рдХреИрдордХреЙрд░реНрдбрд░ рдХреИрдирди рдХреИрдордХреЙрд░реНрдбрд░ рдХреИрдирди


рдХреИрдордХреЙрд░реНрдб


рдХрд┐рдЪреЗрди


рдХрд┐рдбрдЬрд╝реВрдо рдХреИрдорд░рд╛


рд╡реЗ рд╕рднреА рдереЛрдбрд╝реЗ рдЕрд▓рдЧ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдбреА-рдбреА + рд░рд╛рдЬреНрдп рдХрдо рд╣реИред рдареАрдХ рд╣реИ, рд╣рдо рдЬрд╛рдиреЗрдВрдЧреЗ, рдФрд░ рдЕрдм рд╣рдо рдЬрд╛рдБрдЪреЗрдВрдЧреЗ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреНрдпрд╛ рд╣реИ:

  • 22 - рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдбреА-рдбреА + рдПрдХ рдЕрдВрддрд░ рдЬреЛрдбрд╝реА рд╣реИ рдФрд░ рдХрд╛рдлреА рдХрд░реАрдм рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП;
  • 04/05 - рдЗрд╕рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЙрдирдХреЗ рдкрд╛рд╕ рдЕрд▓рдЧ рдкреНрд░рддрд┐рд░реЛрдз рд╣реИ;
  • 14/15 тАФ , ;
  • 15/16 тАФ , .

рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ USB D-D + рдХреЛ 15/16 рдкрд┐рди рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд┐рдпрд╛ рдФрд░ рдЗрд╕реЗ iMac ...



USB PTP рд╕реНрдХреНрд░реАрди рдкрд░ рдХрдиреЗрдХреНрдЯ рдХрд┐рдпрд╛ , рд▓реЗрдХрд┐рди рдХреИрдорд░рд╛ рд╣реЛрд╕реНрдЯ рдкрд░ рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджрд┐рдпрд╛ред рдореИрдВрдиреЗ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рд╕рд░реНрдХрд┐рдЯ рдХреЗ рд▓реЗрдЖрдЙрдЯ рдкрд░ рд╡рд┐рднрд┐рдиреНрди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рдХреБрдЫ рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдмреАрдЧрд▓ рдиреЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдХреНрд╖рддрд┐рдЧреНрд░рд╕реНрдд рдкреИрдХреЗрдЬ рдФрд░ рдЕрдиреНрдп рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рджрд┐рдЦрд╛рдпрд╛ред рдЕрдВрдд рдореЗрдВ, рдореИрдВрдиреЗ рд╣рд╛рд░ рдорд╛рди рд▓реА рдФрд░ рдлрд╝рд░реНрдорд╡реЗрдпрд░ рдЙрд▓реНрдЯрд╛ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рдХрд░рдиреЗ рд▓рдЧрд╛ред

рдпрд╣ рдЕрдВрддрд┐рдо рдкрд┐рдирдЖрдЙрдЯ рд╣реИ, рдпреВрдПрд╕рдмреА рдЧрд╣рд░реЗ рд╣рд░реЗ рд░рдВрдЧ рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рд╣реИред



рдХрд┐рд╕рдиреЗ рд╕реЛрдЪрд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдХреБрдЫ рд╕рд╛рд▓ рдмрд╛рдж рд╡рд╣реА рдИрдмреЗ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди рдореЗрд░реЗ рдкрд╛рд╕ рдЖрдПрдЧрд╛ рдФрд░ рдореИрдВ рдмрд╣реБрдд рд╕рд╕реНрддреЗ рдореЗрдВ рд╡рд╛рдВрдЫрд┐рдд рдПрдХреНрд╕реЗрд╕рд░реА рдЦрд░реАрджреВрдВрдЧрд╛ред

рдЕрдВрдд рдореЗрдВ, рдореИрдВ рдкреАрдЯреАрдкреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдкрдиреА рдзрд╛рд░рдгрд╛рдУрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рдпрд╣ рдмрд╣реБрдд рдЙрддреНрд╕реБрдХ рдерд╛ рдХрд┐ рдЧреИрдЬреЗрдЯ рдХреЗ рдЕрдВрджрд░ рдпреВрдПрд╕рдмреА рдкреАрдПрдЪрд╡рд╛рдИ рдХреИрд╕реЗ рджрд┐рдЦрддрд╛ рд╣реИред



рдЕрдВрджрд░ рдПрд╕рдПрдордПрд╕рд╕реА 2512 рдмреА рд╣рдм рдерд╛рд╕рд╣реА рдЬреИрдХ рд╕реЗ рдорд┐рдиреА рдпреВрдПрд╕рдмреА рдХрдиреЗрдХреНрдЯрд░ рдХреЗ рд▓рд┐рдП рд╕рдбрд╝рдХ рдкрд░ред рдЪрд┐рдк рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдореЛрдб рдореЗрдВ рдХрд╛рдо рдХрд░рддреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдХреЛрдИ EEPROM рдпрд╛ SCL / SDA рдкрд┐рди рдирд╣реАрдВ рд╣реИред рдкрд╣рд▓реЗ рдбрд╛рдЙрдирд╕реНрдЯреНрд░реАрдо рдкреЛрд░реНрдЯ рдХреЛ рдХреИрдорд░рд╛ рдмреЙрдбреА рдкрд░ рд╕реЙрдХреЗрдЯ рдореЗрдВ рд░реВрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рджреВрд╕рд░рд╛ рдХреБрдЫ рднреА рдХрдиреЗрдХреНрдЯ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред

рдореИрдВ рд╢рд╛рдпрдж рдХреБрдЫ рдпрд╛рдж рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рд▓рд┐рдП рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИред рддрдХрдиреАрдХреА рдкрд╛рд╕рдкреЛрд░реНрдЯ рдХрд╛ рдХрд╣рдирд╛ рд╣реИ рдХрд┐ рдЪрд┐рдк рдореЗрдВ "рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдПрдХреАрдХреГрдд рдпреВрдПрд╕рдмреА-рдкрд┐рди, рд╕рд╛рде рд╣реА рд╡реЛрд▓реНрдЯреЗрдЬ рдХреЛ рдмрдврд╝рд╛рдиреЗ рдФрд░ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рд░реЛрдзрдХ рд╣реИрдВред" рд╢рд╛рдпрдж рд▓реАрдХрд╛ рдЗрдВрдЬреАрдирд┐рдпрд░реЛрдВ рдиреЗ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдпреВрдПрд╕рдмреА рдкреАрдПрдЪрд╡рд╛рдИ рдХреЛ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рд╣рдм рдореЗрдВ рдПрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рдЬреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рдФрд░ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдореИрдВ рдЙрдиреНрд╣реЗрдВ рджреЛрд╖ рдирд╣реАрдВ рджреЗ рд╕рдХрддрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдореИрдВрдиреЗ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдФрд░ рдпрд╣ рдПрдХ рдореБрд╢реНрдХрд┐рд▓ рдХрд╛рдо рд╣реЛ рдЧрдпрд╛ред рд╢рд╛рдпрдж рдпрд╣ рдирдХрд▓реА рдХреЗ рдЦрд┐рд▓рд╛рдл рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ, рдЬреЛ рдЬрд╛рдирддрд╛ рд╣реИред

рдХрд┐рд╕реА рднреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдпрджрд┐ рдЖрдк USB PHY рдХреЛ рд╕рдордЭрддреЗ рд╣реИрдВ рдФрд░ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИрдВ, рддреЛ рдореБрдЭреЗ рд▓рд┐рдЦрдиреЗ рдореЗрдВ рд╕рдВрдХреЛрдЪ рди рдХрд░реЗрдВ: рдЗрд╕ рдмреНрд░рд╛рдВрдбреЗрдб рдПрдХреНрд╕реЗрд╕рд░реА рдХреЗ рдмрд┐рдирд╛ USB рдкреЛрд░реНрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП :)

PTP рдлрд┐рд░ рд╕реЗ


рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдХрд╣рд╛, рдпрд╣ Leica PTP рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗ рд╕рд╛рде рдЦреЗрд▓рдиреЗ рдХрд╛ рд╕рдордп рд╣реИред

рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдореБрдЭреЗ libptp рдХреЗ рдмрдЬрд╛рдп рдПрдХ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ C ++ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдорд┐рд▓рд╛ - рдпрд╣ libEasyPTP рд╣реИ ред рдЗрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдЯреВрд▓ рдХреЛ рд▓рд┐рдЦрдиреЗ рдореЗрдВ рднреА рдЕрдзрд┐рдХ рд╕рдордп рдирд╣реАрдВ рд▓рдЧрд╛: рдореБрдЭреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА Leica PTP рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рдХреБрдЫ рд╕реАрдорд╛рдПрдБ рдкрддрд╛ рдереАрдВред

рдФрд░ рдпрджреНрдпрдкрд┐ M240PTPTool рдХрд╛рдлреА рдЫреЛрдЯреА рд╣реИ, рдпрд╣ рдЕрд╡рдзрд╛рд░рдгрд╛ рдХреЗ рд╕рдмреВрдд ( рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛрдб ) рдХреА рднреВрдорд┐рдХрд╛ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рдЙрдкрдпреБрдХреНрдд рд╣реИ ред

рдХреЗрд╡рд▓ рджреЛ рдЕрдиреБрд░реЛрдз PTP рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рддреЗ рд╣реИрдВ: GetDebugBuffer (0x900C) рдФрд░ DebugCommandString (0x900D) ред рд╡реИрд╕реЗ, рдбрд┐рдмрдЧ рд▓реЙрдЧ рдХреЛ рднрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдореЗрдиреВ рдореЗрдВ "рдбреАрдмрдЧ" рдпрд╛ "рдбреАрдмрдЧ рд░реЙ" рдХреЗ рд░реВрдк рдореЗрдВ рдбреАрдмрдЧ рд╕реНрддрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

M240PTPTool рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рдХрдИ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ:

  • рдмрд╛рд╣рд░ рдирд┐рдХрд▓реЗрдВ - рдЙрдкрдХрд░рдг рдмрдВрдж рдХрд░реЗрдВ;
  • рдлреНрд▓рд╢ - рдХреИрдорд░реЗ рд╕реЗ рдбрд┐рдмрдЧ рдмрдлрд░ рдХреЛ рдорд░реНрдЬ рдХрд░реЗрдВ:

M240> flush
I:[00:11:468]|01| DATE/TIME CORRECTED by 5921 sec
D:[00:12:079]|00| Send message from TID 0 to TID 1 over MBX 3 - length: 4 - MesgID: 0x22020103
D:[00:12:179]|00| Send message from TID 0 to TID 1 over MBX 3 - length: 4 - MesgID: 0x22020103
D:[00:12:282]|11| Message received from TID 0 for TID 1 over MBX 3
D:[00:12:283]|11| Message received from TID 0 for TID 1 over MBX 3
D:[00:12:301]|00| Send message from TID 0 to TID 1 over MBX 3 - length: 4 - MesgID: 0x22020103
D:[00:12:402]|00| Send message from TID 0 to TID 1 over MBX 3 - length: 4 - MesgID: 0x22020103
D:[00:12:502]|00| Send message from TID 0 to TID 1 over MBX 3 - length: 4 - MesgID: 0x22020103
...


рдХрд┐рд╕реА рдЕрдиреНрдп рдкрд╛рда рдХреЛ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХрдорд╛рдВрдб рдХреЗ рд░реВрдк рдореЗрдВ рдХреИрдорд░реЗ рдореЗрдВ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ helpрддрд░реНрдХреЛрдВ рдХреЗ рд╕рд╛рде рд╕рднреА рд╕рдВрднрд╛рд╡рд┐рдд рдЖрджреЗрд╢реЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ: рдкреВрд░реА рд╕реВрдЪреА рдХрд╛рдлреА рдмрдбрд╝реА рд╣реИ, рд▓реЗрдХрд┐рди рджреЗрдЦреЛ, рдЖрдк рдХрд┐рд╕реА рднреА рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рд╕реЙрдлреНрдЯрдЗрди рдХреЛ рд╕реАрдзреЗ рд╕рдВрджреЗрд╢ рднреЗрдЬ рд╕рдХрддреЗ рд╣реИрдВ! рд╡рд╣рд╛рдБ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдЧрд╛ ... рдПрдХ рдФрд░ рд▓реЛрдХрдкреНрд░рд┐рдп рд▓рд╛рдЗрди рдЬреЛ рдлрд╝рд░реНрдорд╡реЗрдпрд░ рдореЗрдВ рдЕрдХреНрд╕рд░ рдЦреЛрдЬреА рдЬрд╛рддреА рд╣реИ ред рдЪрд▓реЛ рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╣реИред рдЬрд╛рд╣рд┐рд░рд╛ рддреМрд░ рдкрд░, рдЖрдк рдлрд░реНрдорд╡реЗрдпрд░ рдХреЛ рдПрд╕рдбреА рдХрд╛рд░реНрдб рдкрд░ рдбрдВрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред "рдбрдВрдкрд┐рдВрдЧ рдлрд╛рдЗрд▓ рдЯреВ рдХрд╛рд░реНрдб" рд▓рд╛рдЗрди рдХреЗ рд▓рд┐рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛, рдЗрд╕рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рдХреЛрдб рдХреЛ рдЦреЛрдЬрдирд╛ рдЖрд╕рд╛рди рд╣реИред рдпрд╣ рд╡рд┐рд╢рд╛рд▓ рд╕рд┐рд╕реНрдЯрдо рдЯрд╛рд╕реНрдХ рдмреНрд▓реЙрдХ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИ (рдкреАрдЖрдИрдбреА тАЛтАЛ11, рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬрд╛рдирддреЗ рд╣реИрдВ) рдФрд░ рдмрд┐рдирд╛ рддрд░реНрдХ рдХреЗ рд╕рдВрджреЗрд╢ рджреНрд╡рд╛рд░рд╛ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ ред рдбрд╛рдпрд▓ рдореЗрдВ M240PTPTool , рдкреНрд░реЗрд╕ рджрд░реНрдЬ рдХрд░реЗрдВ рдФрд░ рд╕реНрдХреНрд░реАрди рдкрд░ рдирдЬрд╝рд░ред

M240> help
********* debug command description ********

exposure request
Description: requests a release from Sub CPU
Parameter 1: Exposure Time TV

still request
Description: simulates the -still request- command flow of Sub CPU
Parameter: no

...

send Message;[Parameter1];[Parameter2];[Parameter2];...;...
Description: Sending Message to Task
Parameter 1: Receiver Task ID
Parameter 2: Command ID
Parameter 3: Command Data[0] (32 Bit)
Parameter 4: Command Data[1] (32 Bit)
Parameter 5: .
Parameter 6: .
use maximum 10 Parameter

...




dump

$ strings IMG_LOKI-212_1.1.0.2.bin | rg -i dump
GUI: HEX DUMP: Address: %x, Length: %d
HSK: DBG_WRITE_ROM_DUMP_SD: File was properly opened, but it seems to be empty.
ROM_DUMP
HSK: DBG_WRITE_ROM_DUMP_SD: Flushing Dump to ROM. Size %d
SD:\ROM_DUMP.bin
HSK: DBG_WRITE_ROM_DUMP_SD Command received!
ROM_DUMP.bin
HSK: DUMP failed, no cards inserted!
HSK: DUMP FlashROM to SD card.
HSK: DUMP FlashROM to CF card.
Dumping files to card


0x11080006

send Message;11;0x11080006



рдлрд┐рд░ рдПрд╕рдбреА рдХрд╛рд░реНрдб рдирд┐рдХрд╛рд▓реЗрдВ рдФрд░ рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдЙрд╕ рдкрд░ рдХреНрдпрд╛ рд╣реИред



рдпрд╣рд╛рдВ рдпрд╣ рдлрд░реНрдорд╡реЗрдпрд░ рд╕рд╣рд┐рдд рдПрдХ рдкреВрд░реНрдг рдбрдВрдк рд╣реИред

рдЗрд╕рд╕реЗ рдЕрдирдВрдд рд╕рдВрднрд╛рд╡рдирд╛рдПрдВ рдЦреБрд▓рддреА рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдПрдХ MCU рдХреЗ рд╕рд╛рде рдПрдХ рдЫреЛрдЯрд╛ рдЙрдкрдХрд░рдг рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, USB рд╣реЛрд╕реНрдЯ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдФрд░ рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рдЬрдЯрд┐рд▓ рдЕрдиреБрдХреНрд░рдо рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдЯрди ...

рдФрд░ рдлрд┐рд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рджреВрд╕рд░рд╛ рдмрдЪреНрдЪрд╛ рдерд╛ред :)

рдЙрдкрд╕рдВрд╣рд╛рд░


рдпрджрд┐ рдЖрдк рдЙрдкрдХрд░рдг рдХреЛ рддреЛрдбрд╝рдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдорддреМрд░ рдкрд░ рд╕рд░реНрдХрд┐рдЯ рдмреЛрд░реНрдб рдореЗрдВ рдХреЗрд╕ рдпрд╛ рд╕реЛрд▓реНрдбрд░рд┐рдВрдЧ рддрд╛рд░реЛрдВ рдХреЛ рдЦреЛрд▓реЗ рдмрд┐рдирд╛ рдЗрд╕реЗ рдЬрд╛рдВрдЪрдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реИред рдиреАрдЪреЗ рдореЗрд░реА рдпреБрдХреНрддрд┐рдпрд╛рдВ рд╣реИрдВ рдпрджрд┐ рдЖрдк рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ:

  • рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рднреА рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ: рддрдХрдиреАрдХреА рд╡рд┐рдирд┐рд░реНрджреЗрд╢, рдШрдЯрдХреЛрдВ рдкрд░ рдбреЗрдЯрд╛, рдЗрдирд╕рд╛рдЗрдб рдХреА рддрд╕реНрд╡реАрд░реЗрдВ, рдХрд╛рд░рдЦрд╛рдиреЗ рд╕реЗ рд╡реАрдбрд┐рдпреЛ ;)
  • рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдлрд╝рд░реНрдорд╡реЗрдпрд░ рд╣реИ, рддреЛ рдЗрд╕рдореЗрдВ рдбреАрд▓-рдбреМрд▓ рдХрд░реЗрдВ рдФрд░ рдмрд╛рд╣рд░реА рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рдпреБрдХреНрддрд┐рдпреЛрдВ рдХреА рддрд▓рд╛рд╢ рдХрд░реЗрдВ;
  • , ;
  • GND// , ;
  • ;
  • , ;
  • , (, );
  • , Google (USB/UART/SPI/I2C/1Wire);
  • , ;
  • , ;
  • , .



github.com/alexhude

!

Source: https://habr.com/ru/post/hi438168/


All Articles