рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд╛рдЗрдбрд┐рдВрдЧ + рдЧреНрд░рд╣рдг рдпрд╛ рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рдг

рдЫрд╡рд┐


рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░? рдЯреАрдбреАрдбреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрдврд╝реЗрдВ рдпрд╛ рдХреЗрд╡рд▓ рдмрдЧ рдХреА рддрд▓рд╛рд╢ рдФрд░ рдХреЛрдб рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдердХ рдЧрдП?

рдорд┐рддреНрд░, рдкрд░реАрдХреНрд╖рдг рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред

рдпрд╣ рд▓реЗрдЦ рджрд┐рдЦрд╛рдПрдЧрд╛ рдХрд┐ рдХреИрд╕реЗ Ceedling рдХреЛ рдЧреНрд░рд╣рдг / SW4STM32 рдореЗрдВ рдПрдХреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рдП рддрд╛рдХрд┐ рдХреЛрдб рдкреНрд░рддреНрдпреЗрдХ рдирд┐рд░реНрдорд╛рдг рдХреЗ рджреМрд░рд╛рди рдкрд░реАрдХреНрд╖рдгреЛрдВ рд╕реЗ рдЧреБрдЬрд░реЗред

рдХреНрдпрд╛ рдореБрдЭреЗ рдПрдХ рд▓реЗрдЦ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЗрд░рд┐рдд рдХрд┐рдпрд╛?
рдореБрдЭреЗ рд╡рд┐рд╕реНрддреГрдд рдирд┐рд░реНрджреЗрд╢ рдирд╣реАрдВ рдорд┐рд▓реЗ, рд▓реЗрдХрд┐рди рдореИрдВ рдЙрдирдХреЗ рд╕рддрд╣реА рдпрд╛ рдкреБрд░рд╛рдиреА рд╕рд╛рдордЧреНрд░реА рдХреЗ рдХрд╛рд░рдг рдорд┐рд▓реЗ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдкрд╛рд▓рди рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд░реЗрдХрд┐рдВрдЧ рдХрдорд╛рдВрдб рджреНрд╡рд╛рд░рд╛ рдирд╣реАрдВ рдЪрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ)ред

рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕реЗ рдЧреНрд░рд╣рдг рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рдирд┐рд░реНрджреЗрд╢ рдмрд╣реБрдд рдХрдо рд╣реИрдВ рдФрд░ рдХреЗрд╡рд▓ рдкрд╛рдпрд╛ рдЧрдпрд╛ рдирд┐рд░реНрджреЗрд╢ рднреБрдЧрддрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ (рдпрд╣ рдЕрдВрддрд┐рдо рдкреБрдЖрд▓ рдерд╛):
рдЫрд╡рд┐

рд╕реНрдерд╛рдкрдирд╛


рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, OS Windows, CubeMX рдФрд░ SW4STM32ред

рдЪреЙрдХрд▓реЗрдЯ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
PowerShell.exe рдЦреЛрд▓реЗрдВ рдФрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ:

Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1')) 

рдЫрд╡рд┐

MinGW рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
PowerShell.exe рдЦреЛрд▓реЗрдВ рдФрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ:
 choco install mingw 


рдорд╛рдгрд┐рдХ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
PowerShell.exe рдЦреЛрд▓реЗрдВ рдФрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ:
 choco install ruby 


рдордгрд┐ рдЧреБрдард▓реА рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
PowerShell рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рдирд╛ !

PowerShell.exe рдЦреЛрд▓реЗрдВ рдФрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ:
 gem install ceedling 


рд╕реНрд╡рд╛рд╕реНрдереНрдп рдХреА рдЬрд╛рдБрдЪ
PowerShell.exe рдЦреЛрд▓реЗрдВ рдФрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ:

 cd / 

 ceedling new test_ceedling 

 cd test_ceedling 

 ceedling test:all 

рдЫрд╡рд┐

рдкрд░рд┐рдпреЛрдЬрдирд╛ рдирд┐рд░реНрдорд╛рдг


CubeMX рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдВ
рдЯреВрд▓рдХрд┐рди / ide SW4STM32 рдХреЗ рддрд╣рдд CubeMX рдореЗрдВ рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдВ ред

C: / рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдХреА рдУрд░ рд╕реЗ CubeMX рдЪрд▓рд╛рдПрдВ

рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕рдВрд░рдЪрдирд╛ -> рдЙрдиреНрдирдд (рдЕрдиреНрдпрдерд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рддреБрд░рдВрдд рдЗрдХрдЯреНрдард╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ)ред

рдЫрд╡рд┐

рд╣рдо рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ ceedling рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рддреЗ рд╣реИрдВ:

 cd / 

 ceedling new test_ceedling 

рдЖрдЗрдП рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдВрд░рдЪрдирд╛ рдФрд░ c./h рдмрдирд╛рдПрдБред рдлрд╝рд╛рдЗрд▓реЗрдВ, project.yml рдореЗрдВ рдкрде рдЬреЛрдбрд╝реЗрдВ:

рдЫрд╡рд┐

рд╕реНрд░реЛрдд рд╕реНрдерд╛рди рдЬреЛрдбрд╝реЗрдВ рдФрд░ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ
рдЫрд╡рд┐

рдЫрд╡рд┐

рдПрдХ рдирдпрд╛ рдмрд┐рд▓реНрдбрд░ рдмрдирд╛рдПрдБ:

рдЫрд╡рд┐

рддрд░реНрдХ -> рдкрд░реАрдХреНрд╖рдг: рд╕рднреА

рдЫрд╡рд┐

рд▓рд╛рдВрдЪ


рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рдХрдВрд╕реЛрд▓ рд╡рд┐рдВрдбреЛ рдмрдирд╛рдПрдВ:

рдЫрд╡рд┐

Ceedling рдмрд┐рд▓реНрдбрд░ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рд╕реНрд╡рд┐рдЪ рдХрд░реЗрдВ:

рдЫрд╡рд┐

Ctrl + B рджрдмрд╛рдПрдВ рдФрд░ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдкрд░реАрдХреНрд╖рд╛ рдкрд░рд┐рдгрд╛рдо рджреЗрдЦреЗрдВ:

рдЫрд╡рд┐

рдмрд╛рд╣реНрдп рдЙрдкрдХрд░рдгреЛрдВ рдХреЛ рдЬреЛрдбрд╝реЗрдВ


рдЕрдХреНрд╕рд░, рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдмрд╛рд╣рд░реА рдШрдЯрдХреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред

рдкрд░реАрдХреНрд╖рдг рдкреАрдврд╝реА рдХреЗ рдЙрдкрдХрд░рдг рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдХрддрд╛, рд╕реАрдбрд▓рд┐рдВрдЧ рд╕реАрдореЙрдХ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдирдХрд▓реА рд╡рд╕реНрддреБрдУрдВ рдФрд░ рд╕реНрдЯрдмреНрд╕ рдХрд╛ рдПрдХ рдЬрдирд░реЗрдЯрд░ред

рдХрд▓реНрдкрдирд╛ рдХреАрдЬрд┐рдП рдХрд┐ рдЕрдВрддрд░ рдХреА рдЧрдгрдирд╛ рдХрд░рддреЗ рд╕рдордп рд╣рдорд╛рд░рд╛ рдХреИрд▓рдХреБрд▓реЗрдЯрд░,

 a - b 

рдпрджрд┐ рдмрдЯрди рджрдмрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ рдЕрд▓рдЧ рддрд░рд╣ рд╕реЗ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред

 b - a 

рддрдм рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдорд╛рд░реЗ рдкрд░реАрдХреНрд╖рдг рдЗрд╕ рддрд░рд╣ рджрд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ:

рдЫрд╡рд┐

рдмрдЯрди рдХреНрд▓рд┐рдХ рд╕рддреНрдпрд╛рдкрди рд╕рдорд╛рд░реЛрд╣ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд▓рд╛рдЧреВ рдирд╣реАрдВ (рд▓рд┐рдЦрд┐рдд рдирд╣реАрдВ)ред

Ctrl + B рджрдмрд╛рдПрдВ рдФрд░ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдкрд░реАрдХреНрд╖рд╛ рдкрд░рд┐рдгрд╛рдо рджреЗрдЦреЗрдВ:

рдЫрд╡рд┐

рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдордиреЗ рдПрдХ рдмрдЯрди рдХреА рдирдХрд▓ рдмрдирд╛рдИ, рдЬрд┐рд╕рдХреЗ рд╕реНрдерд╛рди рдкрд░ UART, SPI, I2C, рдЖрджрд┐ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

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


рдЕрдм, рдХреЛрдиреЗ рдореЗрдВ рджрд╛рдИрдВ рдУрд░ рдкреНрд░рддреНрдпреЗрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЕрд╕реЗрдВрдмрд▓реА рдХреЗ рд╕рд╛рде, рдЖрдк рдХрд┐рдП рдЧрдП рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

рдЫрд╡рд┐

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


All Articles