STM32MP1 - рдХрд░реНрдиреЗрд▓ + рд▓рд┐рдирдХреНрд╕ = рд╕рд╣реА рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░

рдореЗрд░реА рдЧрддрд┐рд╡рд┐рдзрд┐ рдХреА рдкреНрд░рдХреГрддрд┐ рд╕реЗ, рдореИрдВ рд╡рд┐рднрд┐рдиреНрди рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рд▓рдЧрд╛ рд╣реБрдЖ рд╣реВрдВ: рдорд╛рдк, рдирд┐рдпрдВрддреНрд░рдг, рдирд┐рдпрдВрддреНрд░рдг, рдЖрджрд┐ред рдбрд┐рд╡рд╛рдЗрд╕ рдХрд╛ рдЕрдзрд┐рдХрд╛рдВрд╢ рднрд╛рдЧ 2 рднрд╛рдЧреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реИ:

  1. рдЙрдЪреНрдЪ-рд╕рдВрд╕рд╛рдзрди рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдФрд░ рдХрдард┐рди рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдЧреНрд░рд╛рдлрд┐рдХрд▓ рдпреВрдЬрд░ рдЗрдВрдЯрд░рдлреЗрд╕ (рдЬреАрдпреВрдЖрдИ) рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
  2. рдХреБрдЫ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХрд╛ рдЙрдкрднреЛрдЧ рдХрд░рдирд╛ рдФрд░ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рдХрдард┐рди рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдХреЗ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдореЗрдВ рдХрд╛рдо рдХрд░рдирд╛ред

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

рд▓реЗрдХрд┐рди STM32MP1 рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░реНрд╕ рдХреА рдПрд╕рдЯреАрдПрдо рдХреА рдирдИ рд▓рд╛рдЗрди рдХреЗ рдЖрдЧрдорди рдХреЗ рд╕рд╛рде, рдореЗрд░реА рдкреАрдбрд╝рд╛ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдИ рдФрд░ рдЕрдм рддрдХ рдпрд╣реА рд╣реБрдЖ рд╣реИред

рд╕рд╣реА рдирд┐рдпрдВрддреНрд░рдХ


рдореЗрд░реЗ рд▓рд┐рдП рдПрдХ рдЖрджрд░реНрд╢ рдирд┐рдпрдВрддреНрд░рдХ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП:

  • рд╡рд┐рднрд┐рдиреНрди рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдкреНрд░рд╛рд░реВрдкреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд░рд▓ рд╕рдорд░реНрдерди, рд╡реЗрдХреНрдЯрд░ рдлреЛрдВрдЯ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреИрд╕реЗ рд╕рднреНрдп рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдХреНрд╖рдорддрд╛рдПрдВ рд╣реИрдВ
  • рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдХреЗ рд▓рд┐рдП рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдореЗрдореЛрд░реА
  • рдпреВрдПрд╕рдмреА рдХреАрдмреЛрд░реНрдб рдФрд░ рдорд╛рдЙрд╕ рдХрд╛ рд╕рдорд░реНрдерди
  • рдИрдерд░рдиреЗрдЯ рд╕рдорд░реНрдерди
  • рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдЯрд╛рдЗрдорд░ рдХреА рдПрдХ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛
  • PWM рдкреАрдврд╝реА
  • GPIO рдХреА рдПрдХ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛
  • 16 рдмрд┐рдЯ рдПрдбреАрд╕реА

рдпрд╣ рдЗрди рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдПрдХ рд╕рднреНрдп рдЧреНрд░рд╛рдлрд┐рдХрд▓ рдпреВрдЬрд░ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рд╕рд╛рде рд╡рд┐рднрд┐рдиреНрди рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИрдВред

рдФрд░ рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдПрд╕рдЯреАрдПрдо: рдПрд╕рдЯреАрдПрдо 32 рдПрдордкреА 1 рд╕реЗ рдПрдХ рдирдИ рд╢реНрд░реГрдВрдЦрд▓рд╛ рджреЗрдЦрдХрд░ рдмрд╣реБрдд рдЦреБрд╢реА рд╣реБрдИред

рдкрд╣рд▓реА рдмреИрдардХ


рдирдИ рдЪрд┐рдк рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, STM32MP157C-DK2 рдмреЛрд░реНрдб рдЦрд░реАрджрд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╣рд╛рдБ рдПрдХ (рдПрдХ рдЗрдВрдЯрд░рдиреЗрдЯ рд╕реЗ рдлреЛрдЯреЛ):



рдбреЗрдореЛ рдмреЛрд░реНрдб рдПрдХ STM32MP157CAC рдЪрд┐рдк рдкрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:

  • 2 рдХреЛрд░ рдП 7, 650 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ рдкреНрд░рддреНрдпреЗрдХ
  • 1 рдХреЛрд░ рдПрдо 4, 208 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ

рдпрд╛рдж


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

рдЗрд╕ рдХреНрд░рд┐рд╕реНрдЯрд▓ рдореЗрдВ, M4 рдХрд░реНрдиреЗрд▓ рдореЗрдВ рдХреЗрд╡рд▓ RAM рд╣реЛрддреА рд╣реИ рдФрд░ рдХреЛрдб рдЗрд╕реЗ (рдбреЗрдЯрд╛рд╢реАрдЯ рд╕реЗ) рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

рдЖрдВрддрд░рд┐рдХ SRAM рдХреЗ 708 Kbytes:
AXI SYSRAM рдХреЗ 256 Kbytes + AHB SRAM рдХреЗ 384 Kbytes +
рдмреИрдХрдЕрдк рдбреЛрдореЗрди рдореЗрдВ AHB SRAM рдХреЗ 64 Kbytes
рдФрд░ рдмреИрдХрдЕрдк рдбреЛрдореЗрди рдореЗрдВ SRAM рдХреЗ 4 Kbytes

A7 рдХреЛрд░ рдореЗрдВ рдПрдХ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд DDR рдирд┐рдпрдВрддреНрд░рдХ (рдПрдХ рдбреЗрдЯрд╢реАрдЯ рд╕реЗ) рд╣реИ:
STM32MP157C / F рдбрд┐рд╡рд╛рдЗрд╕ рдмрд╛рд╣рд░реА SDRAM рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рдпрдВрддреНрд░рдХ рдПрдореНрдмреЗрдб рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ :

  • LPDDR2 рдпрд╛ LPDDR3, 16- рдпрд╛ 32-рдмрд┐рдЯ рдбреЗрдЯрд╛, 1 Gbyte рддрдХ, 533 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ рдШрдбрд╝реА рддрдХред
  • DDR3 рдпрд╛ DDR3L, 16- рдпрд╛ 32-рдмрд┐рдЯ рдбреЗрдЯрд╛, 1 Gbyte рддрдХ, 533 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ рдШрдбрд╝реА рддрдХред

рдПрдХ рддрд░рдл, рдПрдо 4 рдХрд░реНрдиреЗрд▓ рдХреА рдореЗрдореЛрд░реА рдлреНрд▓реИрд╢ рдореЗрдореЛрд░реА рдореЗрдВ рд╕рдВрд╕реНрдХрд░рдг рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрдо рд▓рдЧрддреА рд╣реИ, рд▓реЗрдХрд┐рди рджреВрд╕рд░реА рддрд░рдл, рд░реИрдо рдореЗрдореЛрд░реА рдХреЛрд░ рдЖрд╡реГрддреНрддрд┐ рдкрд░ рдЪрд▓рддреА рд╣реИред рдлреНрд▓реИрд╢ рдореЗрдореЛрд░реА рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреА рд╣реИ, рдФрд░ рд╡рд╣рд╛рдВ рдЖрдкрдХреЛ рдПрдХ рдЖрд╡реГрддреНрддрд┐ рд╡рд┐рднрдХреНрдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдХрд╛рд░реНрдпрд╕реНрдерд▓ рд╕рдВрдЧрдарди


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

рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рдФрд░ рдЙрддреНрдкрд╛рджрди рдореЛрдб


рдмреЛрд░реНрдб рджреЛ рдореЛрдб рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ рд╢реБрд░реВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ (рдбрд┐рдк рд╕реНрд╡рд┐рдЪ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд)ред рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рдореЛрдб рдореЗрдВ, M4 рдХреЛрд░ рдЕрд▓рдЧ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЙрддреНрдкрд╛рджрди рдореЛрдб рдореЗрдВ, рдПрдо 4 рдХреЛрд░ рдП 7 рдХреЛрд░ рдХреЗ рдирд┐рдпрдВрддреНрд░рдг рдореЗрдВ рдЪрд▓рддрд╛ рд╣реИред рдореИрдВрдиреЗ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рдореЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛, рдореИрдВрдиреЗ рдХреЗрд╡рд▓ рдЙрддреНрдкрд╛рджрди рдореЛрдб рдореЗрдВ рдХрд╛рдо рдХрд┐рдпрд╛ред рдЗрд╕ рдореЛрдб рдореЗрдВ, рдЖрдкрдХреЛ рдХреЛрд░ рдШрдбрд╝реА рдЯреНрдпреВрдирд┐рдВрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд╛ рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реИред рдЕрдзрд┐рдХрддрдо рдорд╛рди рдкрд░ рдмреВрдЯ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рджреМрд░рд╛рди рд╕рдордп рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдореИрдВрдиреЗ рдбрд┐рдмрдЧрд░ рдореЗрдВ рдХрдИ рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХреА, рдордХреЛ рдкрд░ рдХреБрдЫ рдЖрд╡реГрддреНрддрд┐рдпреЛрдВ рдХреЛ рдШрдЯрд╛рдпрд╛ рдФрд░ рдЖрд╕реНрдЯрд╕реАрд▓рд╕реНрдХрдк рдХреЛ рджреЗрдЦрд╛ред рдП 7 650 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ рдХреА рдЖрд╡реГрддреНрддрд┐ рдкрд░ рд╕рдВрдЪрд╛рд▓рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдПрдо 4 208 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ рдХреА рдЖрд╡реГрддреНрддрд┐ рдкрд░ред

рдХрд░реНрдиреЗрд▓ M4ред рдкреНрд░реЛрдЧреНрд░рд╛рдо рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рдЪрд▓рд╛рдПрдВ


рдЪреВрдВрдХрд┐ M4 рдХреЛрд░ A7 рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реИ, рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ OpenSTLinux рдЪрд▓рд╛рдирд╛ред M4 рдХреЛрд░ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд┐рдирдХреНрд╕ рд░реАрдореЛрдЯреЗрдкреЛрдХ рдлреНрд░реЗрдорд╡рд░реНрдХ (RPROC) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдврд╛рдВрдЪрд╛ рдЖрдкрдХреЛ рдХрд░реНрдиреЗрд▓, рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рдбреАрдмрдЧ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ (рдИрдПрд▓рдПрдл рдлрд╝рд╛рдЗрд▓реЛрдВ) рдХреЛ рд╕рдХреНрд╖рдо рдФрд░ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ M4 рдХрд░реНрдиреЗрд▓ рдореЗрдВ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрди рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:

рдЗрдХреЛ-рдПрди <рдлрд░реНрдорд╡реЗрдпрд░_рдирд╛рдореЗ.рдлрд╝рд▓ >> / sys / class / remoteproc / remoteproc0 / рдлрд░реНрдорд╡реЗрдпрд░

рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП:

рдЗрдХреЛ рд╕реНрдЯрд╛рд░реНрдЯ> / s / s / рдХреНрд▓рд╛рд╕ / remoteproc / remoteproc0 / рд░рд╛рдЬреНрдп

рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП:

рдЗрдХреЛ stop> / sys / class / remoteproc / remoteprocX / state

рдХрд░реНрдиреЗрд▓ M4ред SW4STM32


рдЙрдкрд░реНрдпреБрдХреНрдд рдЖрджреЗрд╢реЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдЧрдИ рд╣реИ, рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ :) рд▓реЗрдХрд┐рди рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреА рд╕рд╛рдорд╛рдиреНрдп рдЖрдИрдбреАрдИ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдПрд╕рдЯреАрдПрдо рдЗрд╕рдХреЗ рд▓рд┐рдП AC6 SW4STM32 рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХрд░рддрд╛ рд╣реИред рдЗрд╕реА рд╕рдордп, OpenSTM32 рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХрд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╢реАрд░реНрд╖рдХ рд╣реИ:
рд▓рд┐рдирдХреНрд╕ рдХреЗ рд▓рд┐рдП рд╕рд┐рд╕реНрдЯрдо рд╡рд░реНрдХрдмреЗрдВрдЪ рдХреЗ рд╕рд╛рде, рдПрд╕рдЯреА рд╕реЗ MPUs рдХреЗ STM32MP1 рдкрд░рд┐рд╡рд╛рд░ рдкрд░ рдПрдВрдмреЗрдбреЗрдб рд▓рд┐рдирдХреНрд╕ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдФрд░ рд░рдЦрд░рдЦрд╛рд╡ рдХреЗ рд▓рд┐рдП рдЗрддрдирд╛ рд╕рд░рд▓ рдХрднреА рдирд╣реАрдВ рдерд╛, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд▓рд┐рдирдХреНрд╕ рдХреА рджреБрдирд┐рдпрд╛ рдореЗрдВ рдирдП рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рднреАред
рдФрд░, рдпрджрд┐ рдЖрдк STM32 рдХреЗ рд▓рд┐рдП рд╕рд┐рд╕реНрдЯрдо рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд▓рд┐рдирдХреНрд╕ рдХреЗ рд▓рд┐рдП рд╕рд┐рд╕реНрдЯрдо рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рд▓рд┐рдирдХреНрд╕ рдкрд░, рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдХреЛрд░реНрдЯреЗрдХреНрд╕-рдПрдо 4 рдкрд░ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рдЕрд╕рдордорд┐рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдФрд░ рдбрд┐рдмрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдпрд╣реА рд╣реИ, рдЖрдк рдПрдо 4 рдХреЛрд░ рдФрд░ рдП 7 рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдХреЛрдб рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдкреЗрдб рд╡рд░реНрдЬрди рд╣реИред рдФрд░ рдореБрдлреНрдд рд╡рд╛рд▓рд╛, рдЬреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИ, рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдПрдо 4 рдХреЛрд░ рдХреЗ рд▓рд┐рдП рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдФрд░ рдбреАрдмрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

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

рдХрд░реНрдиреЗрд▓ A7ред рдХреНрд░реЙрд╕ рдХрдВрдкрд╛рдЗрд▓рд░


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

рдЗрдХреЛрд╕рд┐рд╕реНрдЯрдо v1.1.0 рдХреЗ рд▓рд┐рдП рдХреНрд░реЙрд╕-рдХрдВрдкрд╛рдЗрд▓рд░ рдЪрд▓рд╛рдирд╛:

рд╕реНрд░реЛрдд SDK / рдкрд░реНрдпрд╛рд╡рд░рдг-рд╕реЗрдЯрдЕрдк-рдХреЛрд░реНрдЯреЗрдХреНрд╕a7t2hf-neon-vfpv4-openstlinux_weston-linux-gnueaea
рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ, рдлрд┐рд░ рдореЗрдХрдлрд╛рдЗрд▓ рдХреЗ рдЕрдиреБрд╕рд╛рд░,
рдХрдорд╛рдВрдб
рдФрд░ рд╕реЛрд░реНрд╕ рдХреЛрдб рдмрдирд╛рдпреЗрдВ , ARM рдХреЛрдб рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ :)

рдХрд░реНрдиреЗрд▓ A7ред рдкреНрд░реЛрдЧреНрд░рд╛рдо рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рдЪрд▓рд╛рдПрдВ


рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдбреЗрдореЛ рдмреЛрд░реНрдб рдореЗрдВ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:

scp gtk_hello_world root@192.168.1.18: / usr / local

рдпрд╣ рдХрдорд╛рдВрдб / usr / рд▓реЛрдХрд▓ рд╕реЗрдХреНрд╢рди рдореЗрдВ gtk_hello_world рдлрд╝рд╛рдЗрд▓ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддрд╛ рд╣реИ, рдЬреЛ IP рдкрддреЗ рдХреЗ рд╕рд╛рде рдмреЛрд░реНрдб рдкрд░ рд╕реНрдерд┐рдд рд╣реИ: 192.168.1.18ред рд░реВрдЯ - рд╡рд╣ рдкрд╛рд╕рд╡рд░реНрдб рдЬреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдмреЛрд░реНрдб рдкрд░ рд╣реИред

рдЗрдВрдЯрд░-рдХреЛрд░ рдбреЗрдЯрд╛ рдПрдХреНрд╕рдЪреЗрдВрдЬ


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

рд▓рд┐рдирдХреНрд╕ рдХреА рддрд░рдл, рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

рдбрд┐рд╡рд╛рдЗрд╕ рдЦреЛрд▓реЗрдВ:

fd = open ("/ dev / ttyRPMSG0", O_RDWR);

рдлрд┐рд░ рд╣рдо рдЗрд╕реЗ рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдпрд╛ рдкрдврд╝рддреЗ рд╣реИрдВ:

рд▓рд┐рдЦрддреЗ рд╣реИрдВ (fd, "LED_Toggle \ r \ 0", 10);
len = read (fd, buf, sizeof (buf));

рд╕рдм рдХреБрдЫ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдЫреЛрдЯреА рд╕реА рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рд╣реИред рджрд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП ttyRPMSG0 рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЗрд╕ рд░реВрдк рдореЗрдВ A7 рдХреЛрд░ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП M4 рдХреЛрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

рдпреЗ M4 рдХреЛрд░ рдХреЛрдб рдХреА рдкрдВрдХреНрддрд┐рдпрд╛рдБ рд╣реИрдВ:

VIRT_UART_Init(&huart0); //  
VIRT_UART_RegisterCallback(&huart0, VIRT_UART_RXCPLT_CB_ID, VIRT_UART0_RxCpltCallback) //      .

M4 рдХреЛрд░ рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдЪреБрдЕрд▓ рдкреЛрд░реНрдЯ рд╕реЗ рдбреЗрдЯрд╛ рдХрд╛ рд░рд┐рд╕реЗрдкреНрд╢рди:

if (VirtUart0RxMsg)
{
      //     VirtUart0ChannelBuffRx
     
      VirtUart0RxMsg = 0;
}

рд╡рд░реНрдЪреБрдЕрд▓ рдкреЛрд░реНрдЯ рдкрд░ рдбреЗрдЯрд╛ рд▓рд┐рдЦрдирд╛:

VIRT_UART_Transmit(&huart0, TxArray, TXCounter);

рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдЫреЛрдЯреА рд╕реА рдмрд╛рд░реАрдХрд┐рдпрд╛рдВ рд╣реИрдВ рдЬреЛ рдореБрдЭреЗ рдЕрднреА рддрдХ рд╕рдордЭ рдирд╣реАрдВ рдЖрдИ рд╣реИрдВред A7 рдХреЛрд░ рджреНрд╡рд╛рд░рд╛ рдбреЗрдЯрд╛ рдХрд╛ рд░рд┐рд╕реЗрдкреНрд╢рди, рдЬреЛ M4 рдХреЛрд░ рджреНрд╡рд╛рд░рд╛ рдкреНрд░реЗрд╖рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рддрдм рддрдХ рд╢реБрд░реВ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рдЬрдм рддрдХ рдХрд┐ A7 рдХреЛрд░ рдкрд╣рд▓реЗ рдХрд┐рд╕реА рднреА рдбреЗрдЯрд╛ рдХреЛ рдкреЛрд░реНрдЯ рдкрд░ рдирд╣реАрдВ рд▓рд┐рдЦрддрд╛ рд╣реИред

рдЗрд╕ рдкреВрд░реЗ рддрдВрддреНрд░ рдХреЛ рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ OpenAMP рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рдПрдХ рд╕реЗрдЯ рджреНрд╡рд╛рд░рд╛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛ M4 рдХрд░реНрдиреЗрд▓ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рддрджрдиреБрд╕рд╛рд░ рдкреНрд░рд╛рд░рдВрдн рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рднрд╡рд┐рд╖реНрдп рдХреА рдпреЛрдЬрдирд╛рдПрдВ


A7 рдХреЗ рд▓рд┐рдП рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдФрд░ рдбрд┐рдмрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЧреНрд░рд╣рдг рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВред
рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдЪрд┐рддреНрд░рдордп рдбреЗрдореЛ рд▓рд┐рдЦреЗрдВ, рдЬреИрд╕реЗ рдХрд┐ M4 ADC рд╕реЗ рдЖрд╕реНрдЯрд╕реАрд▓рд╕реНрдХрдкред
рдФрд░ рдЕрдВрдд рдореЗрдВ, рдЗрд╕ рдЪрд┐рдк рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЕрдкрдирд╛ рдХрдВрдЯреНрд░реЛрд▓рд░ рдмреЛрд░реНрдб рдмрдирд╛рдПрдВред :) рд╡рд┐рдХреА

рдЙрдкрдпреЛрдЧреА рд▓рд┐рдВрдХреНрд╕

STM32MP1
OpenSTM32
ST рд╕рдореБрджрд╛рдп
AC6

All Articles