Stm32 printf Debugging - FabLabSeoul/WingProject GitHub Wiki
๋๋ฒ๊น ์ ์ผ๋ฐ์ ์ผ๋ก ์ฐ์ด๋ cํจ์ printf()๋ Stm32 Value line discovery๋ณด๋์์๋ ์ธ์ ์๋ค. Stm32 ๋ณด๋์ ๋์คํ๋ ์ด ์ฅ์น๊ฐ ์๊ธฐ ๋๋ฌธ์ด๋ค. ๋๋ฒ๊น ์ ํ์ํ ๋ฌธ์๋ ์ซ์๋ฅผ ํ๋ฉด์ ํ์ํ๊ธฐ ์ํด์๋ ์ผ๋ฐ์ ์ผ๋ก ์๋ฆฌ์ผ ํต์ ์ผ๋ก ๋ฌธ์๋ฅผ ๋ณด๋ด์, PC์์ ์๋ฆฌ์ผ ๋ชจ๋ํฐ ํ๋ก๊ทธ๋จ์ ํตํด ํ์ธํ๋ค. ๋๋ Eltima์ฌ์ Advanced Serial Port Terminal ํ๋ก๊ทธ๋จ์ ์ฌ์ฉํ๋ค.
์๋ฆฌ์ผ ๋ชจ๋ํฐ ํ๋ก๊ทธ๋จ์ ASCII์ฝ๋๋ก ํ๋ฉด์ ์ถ๋ ฅํ๊ธฐ ๋๋ฌธ์, ์ซ์๋, ๋ฌธ์๋ ๋ชจ๋ ASCII ํํ๋ก ๋ณํํด์ ์๋ฆฌ์ผ๋ก ๋ณด๋ด์ค์ผ ํ๋ค. ๊ทธ๋์ cํจ์์ printf()ํจ์๋ฅผ ๋ฐ๋ผํ ๋ณต์ ํจ์๋ฅผ ๋ง๋ค์ด ์ค ํ์๊ฐ ์๋ค. ๋๋ฒ๊น ์ ์ธ ํจ์๋ฅผ dbgprintf()๋ผ๊ณ ์ผ๋จ ๊ฐ์ ํ๋ฉด, ์ด dbgprintf()ํจ์๋ ์คํธ๋ง์ ์ ๋ ฅ์ผ๋ก ๋ฐ์์ ํ ๋ฐ์ดํธ์ฉ ์๋ฆฌ์ผ๋ก ๋ณด๋ด๋ ๊ธฐ๋ฅ์ ํด์ผ ํ๋ค.
์คํ์์ค multiwii์ baseflight ํ๋ก์ ํธ์๋ printf.h, printf.c ํ์ผ์ด ์๋ค. ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ ํํ ์ฐ๋ฆฌ๊ฐ ์ํ๋ ๊ธฐ๋ฅ์ ๊ฐ์ง๊ณ ์๋ค. putc ํจ์๋ฅผ ์ง์ ๋ง๋ค์ด ์๋ฆฌ์ผ๋ก ๋ณด๋ด๋ ๊ธฐ๋ฅ๋ง ๋นผ๊ณ ๋ง์ด๋ค.
baseflight์์ ๊ฐ์ ธ ์จ printf.c, printf.h๋ฅผ ์ฐ๋ฆฌ ํ๋ก์ ํธ์ ๋ง๊ฒ ์ฌ์์ ํ ์ฝ๋๋ STM32\stm32vldiscovery_package\Project\Examples\I2C_Interrupt ์ ์๋ค.
printf()ํจ์๋ฅผ ๋๋ฌด ๋จ๋ฐํ ๊ฒฝ์ฐ ๋ฌธ์ ๊ฐ ์๊ธธ ์ ์๋ค. Stm32 Value line discovery ๋ณด๋๋ ์ธํฐ๋ฝํธ ํํ๋ก ์ด๋ฒคํธ๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ๋๋ฌธ์ printf() ํจ์๊ฐ ๋์๋๋ ์ค์๋ ์ธํฐ๋ฝํธ๊ฐ ๋ ์์ printf()ํจ์๋ฅผ ์ฌํธ์ถํด์ ๋ฎ์ด ์์์ง ์ ์๋ค. ๋ง์ฝ ์ ์ญ๋ณ์๋ก printf๋ฅผ ์ ์ดํ๊ณ ์๋ค๋ฉด ๋ฌธ์ ๊ฐ ์๊ธธ ์ ์๋ค.
์ด ๋ถ๋ถ์ ์ข๋ ์ฐ๊ตฌ์ ์ดํด๊ฐ ํ์ํ ๋ถ๋ถ์ด๋ผ ์์ธํ ์ค๋ช ์ ๋์ค์ ํ๊ฒ ๋ค.
===================================================
- Stm32 Value line discovery๋ณด๋์์ ๋ฐ๋ก ์ปดํจํฐ๋ก ์๋ฆฌ์ผ์ ์ฐ๊ฒฐํ๋ ค๋ฉด Stm32 Serial Debugging๋ฌธ์๋ฅผ ๋ณด์.