I.MX6 рдореЗрдВ рд╕реБрд░рдХреНрд╖рд┐рдд рдмреВрдЯ

I.MX6 рдореЗрдВ рд╕реБрд░рдХреНрд╖рд┐рдд рдмреВрдЯ


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

  • рдЙрддреНрдкрд╛рдж рдореЗрдВ рд╕реНрдкреВрдлрд┐рдВрдЧ рд╕реЗ рдлрд░реНрдорд╡реЗрдпрд░ рдХреА рд░рдХреНрд╖рд╛ рдХреИрд╕реЗ рдХрд░реЗрдВ;
  • рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреЛ рдХреЙрдкреА рдХрд░рдиреЗ рд╕реЗ рдХреИрд╕реЗ рдмрдЪрд╛рдПрдВред

рдпрд╣ рдЖрд▓реЗрдЦ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ i.MX6 рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛ рдЙрддреНрдкрд╛рдж рдореЗрдВ рдмреВрдЯрд▓реЛрдбрд░ рдХреЛ рдмрджрд▓рдиреЗ рд╕реЗ рдХреИрд╕реЗ рдмрдЪрд╛рдпрд╛ рдЬрд╛рдП рдФрд░ рдлрд░реНрдорд╡реЗрдпрд░ рдХреЛ рдХреЙрдкреА рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЬрдЯрд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПред



рдкрд░рд┐рдЪрдп


рдирдВрдЧреЗ рдзрд╛рддреБ рдкрд░рд┐рдпреЛрдЬрдирд╛ [1] рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдмреМрджреНрдзрд┐рдХ рд╕рдВрдкрджрд╛ рдХреА рд░рдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕, рджреЛрдиреЛрдВ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдФрд░ рдмрд╛рд╣рд░реА рдореЗрдВ рдореМрдЬреВрдж рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдПрдХ рдкреНрд░рддрд┐рд╖реНрдард┐рдд рд╕рд╛рдЗрдЯ [2] рдкрд░ рджрд┐рдП рдЧрдП рд╣реИрдВ ред рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╡рд┐рдзрд┐рдпреЛрдВ, рдЬреИрд╕реЗ рдХрд┐ [3] рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╡реЗ рдЕрдЬреНрдЮрд╛рдд рд╕реБрд░рдХреНрд╖рд╛ рддрдВрддреНрд░ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реЛрддреЗ рд╣реИрдВред рдпрд╣ рдЙрдкрдХрд░рдгреЛрдВ рдХреА рдХрдо рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рд╢рдХреНрддрд┐ рдФрд░ рдЧрддрд┐рд╢реАрд▓ рдлрд░реНрдорд╡реЗрдпрд░ рдкреАрдврд╝реА рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЕрд╕реБрд╡рд┐рдзрд╛ рдХреЗ рдХрд╛рд░рдг рд╣реИред

рдЬрдм SoC рд▓рд┐рдирдХреНрд╕ рдЬреИрд╕реЗ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде рдЖрддрд╛ рд╣реИ, рддреЛ рд╕реБрд░рдХреНрд╖рд╛ рдХреЛ рдПрдХ рд╕рд╛рде рдХрдИ рд╕реНрддрд░реЛрдВ рдкрд░ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ:

  • рдЕрдВрдд рдЖрд╡реЗрджрди рд╕реНрддрд░
  • рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рд╕реНрддрд░
  • рдмреВрдЯрд▓реЛрдбрд░ рдХрд╛ рд╕реНрддрд░

рдХрд┐рд╕реА рднреА рд╕реНрддрд░ рдкрд░ рдкрд╣реБрдВрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдЧреЗ рдХреЗ рд╕реНрддрд░реЛрдВ рдХреЗ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рдирд╛ рдФрд░ рдЕрдВрддрд░-рд╕реНрддрд░реАрдп рдЗрдВрдЯрд░реИрдХреНрд╢рди рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдирд╛ рдХрд╛рдлреА рдЖрд╕рд╛рди рд╣реИред
рд╕рдмрд╕реЗ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг: рд▓рд┐рдирдХреНрд╕ рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдЖрдкрдХрд╛ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ UART рдкреНрд░реЛрдЯреЛрдХреЙрд▓ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, / dev / ttyACM0 рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ) рдПрдХ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд░ рдХрд░рддрд╛ рд╣реИред рд╕рд┐рд╕реНрдЯрдо рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣рдорд▓рд╛рд╡рд░ UART рд╕рдВрд╕рд╛рдзрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдмреЗрддрд░рддреАрдм рдврдВрдЧ рд╕реЗ рднреЗрдЬреЗ рдЧрдП рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рджреЛрд╣рд░рд╛рддрд╛ рд╣реИред рдпрд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдбреНрд░рд╛рдЗрд╡рд░ рдХреЛ рдХрд░реНрдиреЗрд▓ рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдПрдХ рд╣рдорд▓рд╛рд╡рд░ UART рдбреНрд░рд╛рдЗрд╡рд░ рдХреЛрдб рдХреЛ рджреВрд╕рд░реЗ рддрд░реАрдХреЗ рд╕реЗ рд▓рд┐рдЦрдХрд░ рдХрд░реНрдиреЗрд▓ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЬреЛрдбрд╝ рджреЗрддрд╛ рд╣реИред рдЕрдВрддрд┐рдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИред

рд╕реБрд░рдХреНрд╖рд┐рдд рдмреВрдЯ рдХреНрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ?


рд▓рдХреНрд╖реНрдп рдкреНрд░рдгрд╛рд▓реА рдкрд░ рдЖрдкрдХреЗ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреЗ рд▓рд┐рдП рд╕реБрд░рдХреНрд╖рд╛ рдХрд╛ рдкрд╣рд▓рд╛ рд╕реНрддрд░ рд╕реБрд░рдХреНрд╖рд┐рдд рдмреВрдЯ рд╣реИред рдЗрд╕рдХреЗ рдмрд╛рдж, рд╕реБрд░рдХреНрд╖рд┐рдд рдмреВрдЯ рдХреЛ i.MX6 рдкрд░рд┐рд╡рд╛рд░ рдХреЗ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рд▓рд┐рдП рд╕рдордЭрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред

I.MX6 рдореЗрдВ рд╕реБрд░рдХреНрд╖рд┐рдд рдмреВрдЯ рдЙрдЪреНрдЪ рдЖрд╢реНрд╡рд╛рд╕рди рдмреВрдЯ (HAB) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рджреЛ рдХрд╛рд░реНрдп рдХрд░ рд╕рдХрддрд╛ рд╣реИ:

  • рд╢реБрд░реБрд╡рд╛рдд рд╕реБрд░рдХреНрд╖рд┐рдд рдХрд░реЛ
  • рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдбрд╛рдЙрдирд▓реЛрдбред

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

рдЙрд╕ рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рд╕реБрд░рдХреНрд╖рд┐рдд рдмреВрдЯ рджрд┐рдпрд╛ рдерд╛ред рд╕реБрд░рдХреНрд╖рд┐рдд рдмреВрдЯ рдЖрдкрдХреЛ рдЙрддреНрдкрд╛рдж рдХреЛ рдХреЙрдкреА рдХрд░рдиреЗ рд╕реЗ рдирд╣реАрдВ рдмрдЪрд╛рддрд╛ рд╣реИред рд╣рд╛рдВ, рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЕрдзрд┐рдХ рдХрдард┐рди рдмрдирд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдмрд╣реБрдд рдЕрдзрд┐рдХ рдирд╣реАрдВред рдмреВрдЯрд▓реЛрдбрд░ рдкреВрд░реЗ рдПрдлрдПрд╕ рдкрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдУрдПрд╕ рд╕реНрддрд░ рдкрд░ рдФрд░ рдЕрдВрддрд┐рдо рдЖрд╡реЗрджрди рдХреЗ рд╕реНрддрд░ рдкрд░ рд╕реБрд░рдХреНрд╖рд╛ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╕рднреА рд╢рд╛рд╕реНрддреНрд░реАрдп рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ: рдЕрд╕рдордорд┐рдд рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗред рдореИрдВ рдЙрдВрдЧрд▓рд┐рдпреЛрдВ рдкрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛, рдЗрд╕реЗ [4] рдореЗрдВ рдФрд░ рдЕрдзрд┐рдХ рдЧрд╣рд░рд╛рдИ рд╕реЗ рдкрдврд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдмреВрдЯрд▓реЛрдбрд░ рдПрдЪрдПрдмреА рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд┐рдП рдЧрдП рдореЗрдореЛрд░реА рдХреНрд╖реЗрддреНрд░ рдЗрдВрдЧрд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рдЬрд╣рд╛рдВ рдбрд┐рдЬрд┐рдЯрд▓ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдирд┐рд╣рд┐рдд рд╣реИред рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдВрдЬреА рд╡рди рдЯрд╛рдЗрдо рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдмрд▓ (рдУрдЯреАрдкреА) рдкреНрд░реЛрд╕реЗрд╕рд░ рдореЗрдореЛрд░реА рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╕реНрдерд┐рдд рд╣реИред рд▓реЛрдб рдХрд░рддреЗ рд╕рдордп, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдВрд▓рдЧреНрди рдбрд┐рдЬрд┐рдЯрд▓ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдФрд░ рдПрдХ рд╡рд╛рдпрд░реНрдб рдХреБрдВрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдореЗрдореЛрд░реА рдХреНрд╖реЗрддреНрд░ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреА рд╣реИред рдпрджрд┐ рдкрд░реАрдХреНрд╖рдг рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдкреНрд░реЛрд╕реЗрд╕рд░ рдбрд╛рдЙрдирд▓реЛрдб рд╢реБрд░реВ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред OTP рдореЗрдореЛрд░реА рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдереЛрдбрд╝рд╛ рд╕реЗрдЯ рдХрд░рдХреЗ HAB рдСрдкрд░реЗрд╢рди рдХреЛ рднреА рд╕рдХреНрд░рд┐рдп рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рд╕реБрд░рдХреНрд╖рд┐рдд рдмреВрдЯ рдХреЗ рдиреБрдХрд╕рд╛рди:

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

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


рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд┐рд╖рдп рдкрд░ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдХрд╛рдлреА рдХреБрдЫ рдЕрдВрдЧреНрд░реЗрдЬреА рднрд╛рд╖рд╛ рдХреЗ рд▓реЗрдЦ [5] [6] рд╣реИрдВ, рд▓реЗрдХрд┐рди рдПрдХ рднреА рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╡рд┐рдзрд┐ рдПрдХ рдмрд╛рд░ рдореЗрдВ рдирд╣реАрдВ рд╣реБрдИ рдФрд░ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреЗ рд▓рд┐рдВрдХ рдорд░рдиреЗ рд▓рдЧреЗ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЗрд╕реЗ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдЕрдкрдиреЗ рд▓рд┐рдП рдПрдХ рд▓реЗрдЦ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд╣реЗрдЬрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдЬрдм рдореИрдВ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рд▓реМрдЯреВрдВрдЧрд╛ред

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

рдЗрд╕рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдЪрд╛рдмреА рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

cd ${CST_PATH}/release/keys
echo ${serial} > serial //8 ,     
echo ${password} >  key_pass.txt //   ,     
echo ${password} >>  key_pass.txt //
./hab4_pki_tree.sh //     
Do you want to use an existing CA key (y/n)?: n 
Do you want to use Elliptic Curve Cryptography (y/n)?: n
Enter key length in bits for PKI tree: 4096
Enter PKI tree duration (years): 10
How many Super Root Keys should be generated? 4
Do you want the SRK certificates to have the CA flag set? (y/n)?: y
 ../linux64/bin/srktool -h 4 -t SRK_1_2_3_4_table.bin -e SRK_1_2_3_4_fuse.bin \
 -d sha256 -c ./SRK1_sha256_4096_65537_v3_ca_crt.pem,\
./SRK2_sha256_4096_65537_v3_ca_crt.pem,./SRK3_sha256_4096_65537_v3_ca_crt.pem,\
./SRK4_sha256_4096_65537_v3_ca_crt.pem -f 1

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

cd ${CST_PATH}/release/linux64/bin
./var-u-boot_fuse_commands.sh 
fuse prog 3 0 0xFFFFFFFF //   uboot.
fuse prog 3 1 0xFFFFFFFF //     
fuse prog 3 2 0xFFFFFFFF //       .
fuse prog 3 3 0xFFFFFFFF //  -   .
fuse prog 3 4 0xFFFFFFFF //      .
fuse prog 3 5 0xFFFFFFFF //
fuse prog 3 6 0xFFFFFFFF  //
fuse prog 3 7 0xFFFFFFFF //

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

CONFIG_SECURE_BOOT=y
CONFIG_SYS_FSL_HAS_SEC=y 
#define CONFIG_SYS_FSL_SEC_COMPAT    4 /* HAB version */
#define CONFIG_FSL_CAAM
#define CONFIG_CMD_DEKBLOB
#define CONFIG_SYS_FSL_SEC_LE
#define CONFIG_FAT_WRITE

рдпреЗ рд╡рд┐рдХрд▓реНрдк рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░рддреЗ рд╣реИрдВред рд╕рдм рдХреБрдЫ рд▓рд┐рдирдХреНрд╕ рдХреЗ рд▓рд┐рдП menuconfig рдХреА рддрд░рд╣ рд╣реИред рдмреВрдЯрд▓реЛрдбрд░ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддреЗ рд╕рдордп, рд╡рд░реНрдмреЛрдЬрд╝ рдореЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ (V = 1. рдЗрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде рдЕрд╕реЗрдВрдмрд▓реА рдХреЛ рдЧрд╛рдЗрдб рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдореИрдВрдиреЗ рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рд╕рд╛рдл рдХрд┐рдпрд╛ рд╣реИ)ред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдкреНрд░рд╡реЗрд╢ рдмрд┐рдВрджреБ рдХреЗ рдкрддреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдбрд┐рдЬрд┐рдЯрд▓ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХреЛ рд░рд┐рдХреЙрд░реНрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдЕрдиреНрдп рдЪреАрдЬреЛрдВ рдХреЛ рд╕рдВрдХрд▓рди рд▓реЙрдЧ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рдВрдХрд▓рди рдХреЗ рдмрд╛рдж, рд╣рдореЗрдВ рдирд┐рдореНрди рдЖрдЙрдЯрдкреБрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

  • рдпреВ-рдмреВрдЯ-ivt.img
  • рдпреВ-рдмреВрдЯ-ivt.img.log
  • рдПрд╕рдкреАрдПрд▓
  • SPL.log

рдЙрдиреНрд╣реЗрдВ $ {CST_PATH} / рд░рд┐рд▓реАрдЬрд╝ / linux64 / bin рдкрд░ рдХреЙрдкреА рдХрд░реЗрдВред рдЕрдЧрд▓рд╛, рдЖрдкрдХреЛ рдПрдХ рдХрд╛рдлреА рд╕рд░рд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╡рд░рдг
(*.csf). , :

  • .

. , ( ).

:

Image Name:   U-Boot 2019 //  U-boot
Created:      XXXXXX
Image Type:   ARM U-Boot Firmware with HABv4 IVT (uncompressed)
Data Size:    339904 Bytes = 331.94 KiB = 0.32 MiB
Load Address: 17800000
Entry Point:  00000000
HAB Blocks:   0x177fffc0   0x0000   0x00051020

Image Type:   Freescale IMX Boot Image //  SPL
Image Ver:    2 (i.MX53/6/7 compatible)
Mode:         DCD
Data Size:    61440 Bytes = 60.00 KiB = 0.06 MiB
Load Address: 00907420
Entry Point:  00908000
HAB Blocks:   00907400 00000000 0000cc00
DCD Blocks:   00910000 0000002c 00000004

┬лHAB Blocks┬╗. ,

cd ${CST_PATH}/release/linux64/bin
./cst --o u-boot_csf.bin --i u-boot.csf
cat u-boot-ivt.img u-boot_csf.bin > u-boot_signed.img


рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛрдореБрдЭреЗ рдПрдХреАрдХреГрдд рдПрд╕рдкреАрдПрд▓ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╛рдж рд╣реИ, рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рд╕рдм рдХреБрдЫ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдЗрд╕реЗ рдЬрд╛рдВрдЪрдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИред рдореБрдЭреЗ рдЕрдм рдпрд╛рдж рдирд╣реАрдВ рд╣реИ рдФрд░ рдЗрд╕ рд▓реЗрдЦ рдХреЛ рд▓рд┐рдЦрддреЗ рд╕рдордп рд╕рдВрдХрд▓рди рдХрд░рдирд╛ рд╢реБрд░реВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред

cd ${CST_PATH}/release/linux64/bin
SOC=mx6 ./var-som_sign_image.sh SPL u-boot-ivt.img

рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдЖрдкрдХреЛ рджреЛ рдлрд╛рдЗрд▓реЗрдВ рдорд┐рд▓реЗрдВрдЧреА: SPL_signed, u-boot-ivt.img_sign, рдЬрд┐рд╕реЗ рд▓рдХреНрд╖реНрдп рдкреНрд░рдгрд╛рд▓реА рдХреА рдбрд┐рд╕реНрдХ рдкрд░ рд▓рд┐рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдореИрдВ рд▓рдХреНрд╖реНрдп рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд▓рд┐рдП рдПрдХ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реВрдВред рд╕реВрджреЛ рдХреЗ рдмрд┐рдирд╛, рддрд╛рдХрд┐ рдЧрд▓рддреА рд╕реЗ рдЖрдкрдХреЛ рдкреИрд░ рдореЗрдВ рдЧреЛрд▓реА рди рд▓рдЧреЗред

dd if=SPL_signed of=${DEVICE(/dev/sd*)} bs=1K seek=1; sync
dd if=u-boot-ivt.img_signed of=${DEVICE(/dev/sd*)} bs=1K seek=69; sync

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

hab_status
HAB Configuration: 0xf0, HAB State: 0x66
No HAB Events Found!

рдЕрдВрддрд┐рдо рдЪрд░рдг рдПрдЪрдПрдмреА рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░рдирд╛ рд╣реИ, рдзреНрдпрд╛рди рдПрдХ рдмрд╛рд░ рдХрд╛ рдХрдорд╛рдВрдб рд╣реИ, рдЗрд╕реЗ рдареАрдХ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕рд╛рд╡рдзрд╛рди рд░рд╣реЗрдВ

fuse prog 0 6 0x2

рдирд┐рд╖реНрдХрд░реНрд╖


рдореИрдВрдиреЗ рдЗрд╕ рд╕рднреА рдХреЛ рдпреЛрдХреНрдЯреЛ рдореЗрдВ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдирд╛ рд╢реБрд░реВ рдирд╣реАрдВ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд░рд╣рд╕реНрдп рд░рдЦрдирд╛ рд╣реЛрдЧрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕рдордп рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

рд╕рдВрджрд░реНрдн


[рез] рдирдВрдЧреЗ рдзрд╛рддреБ-рдПрдореНрдмреЗрдбреЗрдб рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдЬреЛ рд╕реАрдзреЗ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд░реВрдк рдореЗрдВ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдПрдмреНрд╕реНрдЯреНрд░реИрдХреНрдЯ рдХреЗ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВ
[реи] we.easyelectronics.ru/Soft/zaschita-ustroystva-ot-vzloma-iopirovaniya.html
[рей ] habr.com/en/post/350602
[4] рдореЗрдВ HAB4_API.pdf github.com/BMValeev/CST_TOOL
[5] variwiki.com/index.php?title=High_Assurance_Boot
[6] boundarydevices.com/high-assurance-boot -рд╣рд╛рдм-рдбрдореАрдЬрд╝
[7] github.com/BMValeev/CST_TOOL

All Articles