рд▓рд┐рдирдХреНрд╕ рд╕реЗ Arduino рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ, gentoo-way, рдХреНрд╡рд┐рдХ рд╕реНрдЯрд╛рд░реНрдЯ

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, Arduino рдХреЛ рдХрдВрдкреНрдпреВрдЯрд░ рд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдЬрд╛рдирдХрд╛рд░реА рдЕрд▓рдЧ-рдЕрд▓рдЧ рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕реНрд░реЛрддреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдмрд┐рдЦрд░реА рд╣реБрдИ рдереАред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, gentoo рдирд┐рд░рдВрддрд░ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд╕рд╛рде рдПрдХ рд▓рд┐рдирдХреНрд╕ рд╡рд┐рддрд░рдг рд╣реИ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЗрд╕рдореЗрдВ "рд╡рд┐рддрд░рдг" рдЬреИрд╕реА рдХреЛрдИ рдЪреАрдЬ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА рд╣реИред рдЗрд╕ рд╡рдЬрд╣ рд╕реЗ, рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдкрд╛рдИ рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдПрдХ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХреЗрд╡рд▓ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд▓рдХреНрд╖реНрдп рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рдкреИрдХреЗрдЬ рдФрд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХрд╛ рдПрдХ рдЕрд▓рдЧ рд╕реЗрдЯ рд╣реИред

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


рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП, рд▓рдХреНрд╖реНрдп рдкреНрд░рдгрд╛рд▓реА
Amd64 рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░, x86_64 рдХрд░реНрдиреЗрд▓ 3.7.10-gentoo
рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕реНрдерд┐рд░ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рд╣реИрдВред
рдПрдХ eBay рдиреАрд▓рд╛рдореА рдореЗрдВ, рдПрдХ Arduino Pro Mini 328p 16MHz 5V рдмреЛрд░реНрдб рдФрд░ рдПрдХ FTDI рдЪрд┐рдк рдкрд░ рдПрдХ USB рдХрдирд╡рд░реНрдЯрд░ рдЦрд░реАрджрд╛ рдЧрдпрд╛ рдерд╛ред


USB рдХрдирд╡рд░реНрдЯрд░ рдХреЗ рд▓рд┐рдП рдХрд░реНрдиреЗрд▓ рд╕рдорд░реНрдерди рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ


рдХрдирд╡рд░реНрдЯрд░ рдХреЛ рдпреВрдПрд╕рдмреА рдкреЛрд░реНрдЯ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рджреЗрдЦрддреЗ рд╣реИрдВ:

 # рдкреВрдВрдЫ / var / рд▓реЙрдЧ / рд╕рдВрджреЗрд╢
 my-pc рдХрд░реНрдиреЗрд▓: usb 6-1: рдирдпрд╛ рдлреБрд▓-рд╕реНрдкреАрдб USB рдбрд┐рд╡рд╛рдЗрд╕ рдирдВрдмрд░ 2 uhci_hcd рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ
 my-pc рдХрд░реНрдиреЗрд▓: usb 6-1: рдирдпрд╛ USB рдЙрдкрдХрд░рдг рдорд┐рд▓рд╛, idVendor = 0403, idProduct = 6001
 my-pc рдХрд░реНрдиреЗрд▓: usb 6-1: рдиреНрдпреВ USB рдбрд┐рд╡рд╛рдЗрд╕ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕: Mfr = 1, Product = 2, SerialNumber = 3
 my-pc рдХрд░реНрдиреЗрд▓: usb 6-1: рдЙрддреНрдкрд╛рдж: FT232R USB UART
 my-pc рдХрд░реНрдиреЗрд▓: usb 6-1: рдирд┐рд░реНрдорд╛рддрд╛: FTDI
 my-pc рдХрд░реНрдиреЗрд▓: usb 6-1: SerialNumber: A900eYdz

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

 рдбрд┐рд╡рд╛рдЗрд╕ рдбреНрд░рд╛рдЗрд╡рд░ --->
     [*] USB рд╕рдкреЛрд░реНрдЯ ---> 
         <M> USB рд╕реАрд░рд┐рдпрд▓ рдХрдирд╡рд░реНрдЯрд░ рд╕рдорд░реНрдерди --->
             <M> USB FTDI рд╕рд┐рдВрдЧрд▓ рдкреЛрд░реНрдЯ рд╕реАрд░рд┐рдпрд▓ рдбреНрд░рд╛рдЗрд╡рд░

рд╣рдо рдореЙрдбреНрдпреВрд▓ рдФрд░ рд▓реЛрдб рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддреЗ рд╣реИрдВ:

 # рдмрдирд╛рдиреЗ рдФрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдореЙрдбреНрдпреВрд▓_рд╕реНрдерд╛рдкрдирд╛ рдХрд░реЗрдВ
 # modprobe ftdi_sio


 # рдИрдореЗрд▓ -f / var / рд▓реЙрдЧ / рд╕рдВрджреЗрд╢
 my-pc рдХрд░реНрдиреЗрд▓: usbcore: рдкрдВрдЬреАрдХреГрдд рдирдпрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдбреНрд░рд╛рдЗрд╡рд░ usbserial
 my-pc рдХрд░реНрдиреЗрд▓: usbcore: рдкрдВрдЬреАрдХреГрдд рдирдпрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдбреНрд░рд╛рдЗрд╡рд░ usbserial_generic
 my-PC рдХрд░реНрдиреЗрд▓: usbserial: рдЬреЗрдиреЗрд░рд┐рдХ рдХреЗ рд▓рд┐рдП рдкрдВрдЬреАрдХреГрдд USB рд╕реАрд░рд┐рдпрд▓ рд╕рдкреЛрд░реНрдЯ
 my-pc рдХрд░реНрдиреЗрд▓: usbcore: рдкрдВрдЬреАрдХреГрдд рдирдпрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдбреНрд░рд╛рдЗрд╡рд░ ftdi_sio
 my-PC рдХрд░реНрдиреЗрд▓: usbserial: USB рд╕реАрд░рд┐рдпрд▓ рд╕рдорд░реНрдерди FTDI USB рд╕реАрд░рд┐рдпрд▓ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд▓рд┐рдП рдкрдВрдЬреАрдХреГрдд рд╣реИ
 my-pc рдХрд░реНрдиреЗрд▓: ftdi_sio 6-1: 1.0: FTDI USB рд╕реАрд░рд┐рдпрд▓ рдбрд┐рд╡рд╛рдЗрд╕ рдХрдирд╡рд░реНрдЯрд░ рдХрд╛ рдкрддрд╛ рдЪрд▓рд╛
 my-PC рдХрд░реНрдиреЗрд▓: usb 6-1: рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЧрдпрд╛ FT232RL
 my-pc рдХрд░реНрдиреЗрд▓: usb 6-1: рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ 2 рдХреА рд╕рдВрдЦреНрдпрд╛
 my-pc рдХрд░реНрдиреЗрд▓: usb 6-1: рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ 1 MaxPacketize 64
 my-pc рдХрд░реНрдиреЗрд▓: usb 6-1: рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ 2 MaxPacketize 64
 my-pc рдХрд░реНрдиреЗрд▓: usb 6-1: MaxPacketSize 64 рд╕реЗрдЯ рдХрд░рдирд╛
 my-PC рдХрд░реНрдиреЗрд▓: usb 6-1: FTDI USB рд╕реАрд░рд┐рдпрд▓ рдбрд┐рд╡рд╛рдЗрд╕ рдХрдирд╡рд░реНрдЯрд░ рдЕрдм ttyUSB0 рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ

рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИ:

 # ls -l / dev / ttyUSB0
 crw-rw ---- 1 рд░реВрдЯ uucp, рдорд╛рд░реНрдЪ 0 9 13:04 AM / dev / ttyUSB0

рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВред рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ Uucp рд╕рдореВрд╣ рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛
  # usermod -aG uucp <user> 

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

Rxtx рдкреИрдХреЗрдЬ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдпрд╛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ


  рдЙрднрд░рдирд╛ рджреЗрд╡-рдЬрд╛рд╡рд╛ / rxtx 

рдХреЗрд╡рд▓ 64-рдмрд┐рдЯ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ:
рд▓реЗрдЦрди рдХреЗ рд╕рдордп, рдкреИрдХреЗрдЬ рдХрд╛ рдПрдХ рд╕реНрдерд┐рд░ рд╕рдВрд╕реНрдХрд░рдг рджреЗрд╡-рдЬрд╛рд╡рд╛ / rxtx-2.1.7.2-r3 , рд▓реЗрдХрд┐рди Arduino рдлрд░реНрдорд╡реЗрдпрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рдЖрдкрдХреЛ рджреЗрд╡-рдЬрд╛рд╡рд╛ / rxtx-2.2_pre2 рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд╕рдВрднрд╡рддрдГ рдЬрдм рдПрдХ рдирдпрд╛ рд╕реНрдерд┐рд░ рд╕рдВрд╕реНрдХрд░рдг рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ, рддреЛ рд╕рдорд╕реНрдпрд╛ рдареАрдХ рд╣реЛ рдЬрд╛рдПрдЧреАред
  # рдЗрдХреЛ тАЛтАЛ= рджреЗрд╡-рдЬрд╛рд╡рд╛ / rxtx-2.2_pre2 ~ amd64 >> /etc/portage/package.keywords 

рд╕реНрдерд╛рдкрдирд╛:
  рдЙрднрд░рдирд╛ = рджреЗрд╡-рдЬрд╛рд╡рд╛ / rxtx-2.2_pre2 


рдЬрд╛рд╡рд╛ рд╕реВрд░рдЬ рдЖрднрд╛рд╕реА рдорд╢реАрди рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ


рдЖрдк SDK рдпрд╛ JRE рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрджрд┐ рдЖрдкрдХреЛ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдЖрдкрдХреЛ SDK рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдФрд░ sun-jre-bin рдЪреБрдиреЗрдВ:
  # рдЙрднрд░реЗ рджреЗрд╡-рдЬрд╛рд╡рд╛ / рд╕реВрд░реНрдп-рдЬреЗрдбрдХ
     рдпрд╛
 # рдЙрднрд░реЗ рджреЗрд╡-рдЬрд╛рд╡рд╛ / рд╕реВрд░рдЬ-рдЬреЗрд░реЗ-рдмрд┐рди 

рд▓рд╛рдЗрд╕реЗрдВрд╕ рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХреЗ рдХрд╛рд░рдг, рдЖрдкрдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреА рд╣реЛрдЧреА рдФрд░ рдЗрд╕реЗ / usr / portage / distfiles рдкрд░ рдХреЙрдкреА рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, VM рдПрдХ рдЕрд▓рдЧ рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рддрд╣рдд рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдЗрд╕реЗ make.conf рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛:
  ACCEPT_LICENSE = "Oracle-BCLA-JavaSE" 


рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рд╕рд╣реА VM рдЪрдпрдирд┐рдд рд╣реИ:
 # рдПрд▓реЗрдХреНрдЯ рдЬрд╛рд╡рд╛-рд╡реАрдПрдо рд╕реВрдЪреА
 рдЙрдкрд▓рдмреНрдз рдЬрд╛рд╡рд╛ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрдиреЗрдВ:
   [рез] рд╕рди-рдЬрд░-рдмрд┐рди -рез.рем рд╕рд┐рд╕реНрдЯрдо-рд╡реАрдПрдо


рд╕рдВрдХрд▓рди рдЯреВрд▓рдХрд┐рди рд╡рд╛рддрд╛рд╡рд░рдг рд╕реЗрдЯ рдХрд░рдирд╛


  # рдЙрднрд░реЗ рд╣реБрдП рд╕реАрд╕-рдбреЗрд╡реЗрд▓ / рдХреНрд░реЙрд╕рджреЗрд╡ рдРрдк-рдкреЛрд░реНрдЯреЗрдЬ / рд▓реЗрдореИрди 

/Etc/make.conf рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдПрдХ рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝реЗрдВ, рдЕрдЧрд░ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдирд╣реАрдВ рд╣реИ, рдФрд░ рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмрдирд╛рдПрдБ:
 # рдкреНрд░рддрд┐рдзреНрд╡рдирд┐ рд╕реНрд░реЛрдд /var/lib/layman/make.conf >> /etc/make.conf
 # mkdir -pv / usr / рд╕реНрдерд╛рдиреАрдп / рдкреЛрд░реНрдЯреЗрдЬ

рд╣рдо рдЯреВрд▓рдЪреИрди рд╕рдВрдХрд▓рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡рд┐рдХрд▓реНрдк рд╕реНрдЯреЗрдЬ 4 рдФрд░ рд╕реНрдерд┐рд░ рдкреИрдХреЗрдЬ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реИрдВ:
  # рдХреНрд░реЙрд╕рджреЗрд╡ -рдЯреНрд╡реЗрдпрд░ 


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


рдЪреВрдВрдХрд┐ рдПрдХ рднреА рд╕реНрдерд┐рд░ рд╕рдВрд╕реНрдХрд░рдг рдирд╣реАрдВ рд╣реИ, рддреЛ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЬрд▓реНрдж рд╣реА рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗрдЧрд╛ред рдЗрд╕рд▓рд┐рдП, рдмрд╕ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред рдЖрдкрдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреИрдХреЗрдЬреЛрдВ рдХреЛ /etc/portage/package.keywords рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд┐рдореНрди рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдЬреЛрдбрд╝рдХрд░ рдЕрдирд▓реЙрдХ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
 рджреЗрд╡-рдЕрдВрддрдГрд╕реНрдерд╛рдкрд┐рдд / рдЖрд░реНрдбрд┐рдиреЛ ~ рдЕрдордж ремрек
 рджреЗрд╡-рдПрдореНрдмреЗрдбреЗрдб / uisp ~ amd64

рдЖрдк рдЙрджрд╛рд╣рд░рдг рдФрд░ рдкреНрд░рд▓реЗрдЦрди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЭрдВрдбреЗ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ:
  рдЗрдХреЛ рджреЗрд╡-рдПрдореНрдмреЗрдбреЗрдб / рдЖрд░реНрдбрд┐рдиреЛ рдбреЙрдХ рдЙрджрд╛рд╣рд░рдг >> /etc/portage/package.use 

рд╕реНрдерд╛рдкрдирд╛:
  # рдЙрднрд░рдиреЗ рд╡рд╛рд▓реЗ рдЖрд░реНрдбрд┐рдиреЛ 


рд╣рдо arduino рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ


рд╣рдо рдЯреВрд▓реНрд╕ -> рдмреЛрд░реНрдб рдореЗрдиреВ рдФрд░ рдЯреВрд▓реНрд╕ -> рд╕реАрд░рд┐рдпрд▓ рдкреЛрд░реНрдЯ - рд╕реЗ рдЕрдкрдиреЗ Arduino рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдХрдирд╡рд░реНрдЯрд░ рдХрдиреЗрдХреНрдЯ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ, рдЖрдорддреМрд░ рдкрд░ рдпрд╣ / dev / ttyUSB0 рд╣реИред рдирд┐рд░реНрдорд╛рддрд╛ рджреНрд╡рд╛рд░рд╛ рдореЗрд░реЗ рдмреЛрд░реНрдб рдкрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдмрд╕реЗ рд╕рд░рд▓ рдмреНрд▓рд┐рдВрдХ рд╕реНрдХреЗрдЪ рд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рд╕рдм рдХреБрдЫ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдореИрдВрдиреЗ рдЗрд╕реЗ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛: рдЕрдм рдПрд▓рдИрдбреА рдПрдХ рдЫреЛрдЯреА рдФрд░ рд▓рдВрдмреА рдлреНрд▓реИрд╢ рдХреЗ рд╕рд╛рде рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ рдмреНрд▓рд┐рдВрдХ рдХрд░рддрд╛ рд╣реИ:
/* Blink A Morse code Turns on an LED on adruino 'Dot - Dash - Pause' */ // Pin 13 has an LED connected on most Arduino boards. int led = 13; // the setup routine runs once when you press reset: void setup() { // initialize the digital pin as an output. pinMode(led, OUTPUT); } void loop() { digitalWrite(led, HIGH); delay(200); digitalWrite(led, LOW); delay(200); digitalWrite(led, HIGH); delay(500); digitalWrite(led, LOW); delay(500); } 

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

рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ:


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


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

рд╕рдВрдХрд▓рди рдХрд░рддреЗ рд╕рдордп, рдПрдХ рддреНрд░реБрдЯрд┐ рдЖрдЙрдЯрдкреБрдЯ рд╣реИ:

 / usr / libexec / gcc / avr / ld: рд▓рд┐рдВрдХрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рд╛рдЗрд▓ ldscripts / avr5.x рдирд╣реАрдВ рдЦреЛрд▓ рд╕рдХрддрд╛: рдРрд╕реА рдХреЛрдИ рдлрд╝рд╛рдЗрд▓ рдпрд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд╣реАрдВ рд╣реИ
 рдПрдХрддреНрд░рд┐рдд 2: рддреНрд░реБрдЯрд┐: рдПрд▓рдбреА рдирд┐рд╖реНрдкрд╛рджрди рд░рд┐рдЯрд░реНрди рдХреЛрдб 1 рдХреЗ рд╕рд╛рде рд╡рд┐рдлрд▓ рд░рд╣рд╛

рдЗрд╕рдХрд╛ рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рдЬрд┐рди рд░рд╛рд╕реНрддреЛрдВ рдкрд░ рдЯреВрд▓рдЪреЗрди рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╡реЗ рдЙрди рд░рд╛рд╕реНрддреЛрдВ рд╕реЗ рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддреЗ рд╣реИрдВ рдЬрд╣рд╛рдБ рд╕реЗ рдЖрд░реНрдбрд┐рдиреЛ рдХреА рддрд▓рд╛рд╢ рд╣реИред рдкрд╣рд▓реЗ рд╣рдо рдкрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдлрд╝рд╛рдЗрд▓ рдХрд╣рд╛рдБ рд╣реИ:
 # рдЦреЛрдЬреЗрдВ / usr / -name avr5.x
 /usr/lib64/binutils/avr/2.23.1/ldscripts/avr5.x

рдлрд┐рд░ рдПрдХ рдкреНрд░рддреАрдХрд╛рддреНрдордХ рд▓рд┐рдВрдХ рдмрдирд╛рдПрдВ:
  # ln -s /usr/lib64/binutils/avr/2.23.1/ldscripts / usr / avr / lib / ldscripts 


рд╕рдВрдХрд▓рди рдХрд░рддреЗ рд╕рдордп, рдПрдХ рддреНрд░реБрдЯрд┐ рдЖрдЙрдЯрдкреБрдЯ рд╣реИ:

 / usr / libexec / gcc / avr / ld: crtm328p.o рдирд╣реАрдВ рдкрд╛ рд╕рдХрддреЗ: рдРрд╕реА рдХреЛрдИ рдлрд╝рд╛рдЗрд▓ рдпрд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд╣реАрдВ рд╣реИ
 рдПрдХрддреНрд░рд┐рдд 2: рддреНрд░реБрдЯрд┐: рдПрд▓рдбреА рдирд┐рд╖реНрдкрд╛рджрди рд░рд┐рдЯрд░реНрди рдХреЛрдб 1 рдХреЗ рд╕рд╛рде рд╡рд┐рдлрд▓ рд░рд╣рд╛

рдЖрдкрдХреЗ рдмреЛрд░реНрдб рдХреЗ рд▓рд┐рдП, рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо рдЕрд▓рдЧ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдорд╛рдзрд╛рди рд╕рдорд╛рди рд╣реИ, рдЖрдкрдХреЛ рдЙрдЪрд┐рдд рдкреНрд░рддреАрдХрд╛рддреНрдордХ рд▓рд┐рдВрдХ рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛ред рд╣рдо рдПрдХ рдлрд╝рд╛рдЗрд▓ рдХреА рддрд▓рд╛рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ:
 # рдЦреЛрдЬ / usr / -рдирд╛рдо crtm328p.o
 /usr/avr/lib/avr5/crtm328p.o

рдПрдХ рд▓рд┐рдВрдХ рдмрдирд╛рдПрдБ:
  # ln -s /usr/avr/lib/avr5/crtm328p.o / usr / avr / lib / 


рдЕрджреНрдпрддрди: 03/28/2013

рдмрд┐рдиреБрдЯрд┐рд▓реНрд╕ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде 2.19 рд╕реЗ рдЕрдзрд┐рдХ рдХреА рд╕рдорд╕реНрдпрд╛ рд╣реИ

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

рд╕рдорд╛рдзрд╛рди рдпрд╣рд╛рдВ рд╡рд░реНрдгрд┐рдд рд╣реИ , рдмрдЧ рдХреЛ рдЬреЗрдВрдЯреВ рдХреЗ рдмреБрдЧреНрдЬрд┐рд▓рд╛ рдкрд░ рдкрдВрдЬреАрдХреГрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЯреВрд▓рдХрд┐рди рдХреЛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдкреБрди: рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:
crossdev -C avr
рдЙрдкрдпреЛрдЧ = "рдорд▓реНрдЯреАрдмрд┐рд▓-рдПрдХреНрд╕рдПрдХреНрд╕рдПрдХреНрд╕" рдХреНрд░реЙрд╕рджреЗрд╡ - рдмреА 2.19.1-r1 -S -s1 --target avr
USE = "рдорд▓реНрдЯреАрд▓реАрдм cxx" рдХреНрд░реЙрд╕рджреЗрд╡ --b 2.19.1-r1 -S -s4 --target.rr

рдЧрд▓рдд рд░рд╛рд╕реНрддреЛрдВ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдКрдкрд░ рд▓рд┐рдЦреА рдЧрдИ рд╕рднреА рдмрд╛рддреЗрдВ рдорд╛рдиреНрдп рд╣реИрдВред

рдЕрджреНрдпрддрди: 04/13/2013
рдХрдареЛрд░ рдХреЛрд░ рд╡рд╛рд▓реЗ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП:

USE = "рдорд▓реНрдЯреАрд▓реАрдм-рдХреНрд╕рдХреНрд╕рдХреНрд╕ рдиреЛрдкреА рдиреЙрд╕реНрдб-рднрд╛рд░рд┐рдд -pic -openmp" crossdev --b 2.19.1-r1 -S -s1 --target avr
USE = "рдорд▓реНрдЯреАрдмрд┐рд▓ cxx nopie nossp -hardened -pic -openmp" crossdev --b 2.19.1-r1 -S -s4 --target avr


рдПрдХ рдирд┐рд╖реНрдХрд░реНрд╖ рдХреЗ рдмрдЬрд╛рдп


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

рд╕рд╛рдордЧреНрд░реА


  1. рд▓рд┐рдирдХреНрд╕ рд╕реЗ Arduino рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ, gentoo-way, рдХреНрд╡рд┐рдХ рд╕реНрдЯрд╛рд░реНрдЯ
  2. рдХрдВрд╕реЛрд▓ рд╕реЗ Arduino рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ, gentoo-way, рдФрд░ рдХреБрдЫ рдирд╣реАрдВ


рд╕реВрддреНрд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛


  1. playground.arduino.cc/linux/gentoo
  2. forums.gentoo.org/viewtopic-t-907860.html
  3. arduino.cc/en/Tutorial/blink
  4. forums.gentoo.org/viewtopic-t-834097.html
  5. bugs.gentoo.org/show_bug.cgi?id=147155
  6. lpig.wordpress.com/2011/09/28/arduino-and-gentoo
  7. en.gentoo-wiki.com/wiki/Crossdev
  8. bugs.gentoo.org/show_bug.cgi?id=378387

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


All Articles