guileschool
@guileschool
Students
3,431
Reviews
247
Course Rating
4.7
์ธํ๋ํ๊ต ๊ณต๊ณผ๋ํ์์ ์ ์๊ณตํ ํ์ฌ ํ์๋ฅผ ๋ฐ์์ผ๋ฉฐ ์๋ฒ ๋๋ ์์คํ ์ฉ ์ํํธ์จ์ด ๊ฐ๋ฐ์๋ก์จ ์๋ ๊ฐ์ ๊ฒฝ๋ ฅ์ ์์์ต๋๋ค. ์๋ฒ ๋๋ ์์คํ ๋ฐ ํ๋ก๊ทธ๋๋ฐ์ ์ํ ์ ๋ฌธ ๊ฐ์ฌ๋ก๋ ํ๋ ์ค์ ๋๋ค. ์์ดํฐ 3GS ๋ฑ์ฅ๊ณผ ๊ฐ์ ์๊ธฐ์ ๋งฅ(๋ถ)์ ์ ๋ฌธํ์๊ณ , ๊ทธ๋๋ถํฐ ๋งฅ(๋ถ) ์๋ํ์ ๊ด์ฌ์ ๊ฐ๊ฒ ๋์์ต๋๋ค. '๋งฅ(๋ถ)์์ ์ฌ์ฉํ ์ ์๋ ์๋ฆฌ ๋ฆฌ๋ชจํธ', 'ํค๋ณด๋๋ง์์คํธ๋ก๋ฅผ ์ด์ฉํ ๊ตฌ๊ธ๋ฒ์ญ๊ธฐ' ๊ฐ์ ์คํ ์์ค๋ฅผ ๊นํ๋ธ(https://github.com/guileschool) ์ ๋๊ณ ๊ฐ๋ฐ ๋ฐ ์ ์ง๋ณด์ํ๊ณ ์์ต๋๋ค. ์คํ ์์ค ํ๋์จ์ด '๋น๊ธ๋ณธ๋ธ๋' ์๋ ๋ง์ ๊ด์ฌ์ ๊ฐ์ง๊ณ ์์ต๋๋ค. ๋งฅ(๋ถ) ์๋ํ๋ฅผ ์ด์ฉํ์ฌ ์์ฐ์ฑ์ ๋์ผ ์ ์๋ ์ปดํจํฐ๋ฅผ ์ฌ์ฉํ๋ ๋ชจ๋ ๋ถ์ผ์ ๊ด์ฌ์ ๊ฐ์ง๊ณ ์๊ณ , ์ด๋ฅผ ํ์๋ก ํ๋ ์ฌ๋๋ค์ ๋๊ณ ์์ต๋๋ค.
๊ฐ์ ์์ฒญ ๋ฐ ๊ธฐํ ๋ฌธ์์ฌํญ์ guileschool@gmail.com์ผ๋ก ๋ณด๋ด์ฃผ์ธ์ :)
Courses
Reviews
- FreeRTOS Programming
- Automating My MacBook: Say Goodbye to Simple, Repetitive Tasks
- FreeRTOS Programming
- Linux Shell Script Master
Posts
Q&A
stm32cubeide ๊ด๋ จ ๋ฌธ์
์๋ ํ์ธ์. ๋ฐ์๋!๊ฐ์ ์ค์ต ๋ชฉ์ ์ด๋ผ๋ฉด 1.9.0 ๋ฒ์ ์ฌ์ฉ์ ์ถ์ฒ๋๋ฆฝ๋๋ค.์ด์ ๋ ๊ฐ๋จํ๋ฐ์, ๊ฐ์ ์์์์ ์ฌ์ฉํ ๋ฒ์ ์ด 1.9.0์ด๋ผ ๋ฒ์ ์ด ๋ค๋ฅด๋ฉด ๊ฐ์์์ ๋ณด์ด๋ ๋ฉ๋ด๋ ๊ธฐ๋ฅ์ด ์ค์ ์ค์นํ ๋ฒ์ ์๋ ์๊ฑฐ๋ ์์น๊ฐ ๋ฌ๋ผ์ง ๊ฒฝ์ฐ๊ฐ ์๊ธธ ์ ์์ต๋๋ค. ๊ทธ๋ ๊ฒ ๋๋ฉด ์ค์ต์ ๋ฐ๋ผ๊ฐ๊ธฐ๊ฐ ํจ์ฌ ํ๋ค์ด์ง ์ ์๊ฑฐ๋ ์.ARM ๊ธฐ๋ฐ Mac(M1/M2/M3/M4 ์นฉ)์ ์ฌ์ฉํ์ ๋ค๋ฉด ๊ตฌ๋ฒ์ ์ด ํธํ๋์ง ์๋ ๊ฒฝ์ฐ๊ฐ ์์ด์ ์ด์ฉ ์ ์์ด ์ต์ ๋ฒ์ ์ ์ฌ์ฉํ์ ์ผ ํฉ๋๋ค.์ ๋ฆฌํ๋ฉด ์๋์ ๊ฐ์ต๋๋ค.Windows ๋๋ Intel Mac -> 1.9.0 ์ค์น ๊ถ์ฅApple Silicon Mac (M1~M4) -> ์ต์ ๋ฒ์ ์ฌ์ฉ1.9.0์ ST ๊ณต์ ์ฌ์ดํธ์์ ๋ค์ด๋ก๋ํ์ค ์ ์์ต๋๋ค
- 0
- 2
- 19
Q&A
๋ง์ฝ์ ํฌํ ์ ํ ๋ 1๋ ์ ํ๋ฒ ์ก๋ ์น๋ช ์ ์ธ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ์ฝ๋๊ฐ ๋ค์ด๊ฐ๋ค๊ณ ๊ฐ์ ํ๋ฉด
์๋ ํ์ธ์, yoonkoo ๋!ํฌํ ์ ์ ์ฉํจ์ ๊ฒ์ฆ๋ ์์ค๋ฅผ ๋ง์ ๋ ธ๋ ฅ์์ด? ๋ด๊ฐ ์ํ๋ ๊ธฐ๊ธฐ์์ ์คํ์ํฌ ์ ์๋ค๋ ๋ฐ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ๋ฒ๊ทธ๋ 2๊ฐ์ง ์ ํ์ด ์์ ๊ฒ์ธ๋ฐ, ํฌํ ํ๊ธฐ ์ด์ ๋ถํฐ ์ด๋ฏธ ๋ด์ฌ๋ ๋ฒ๊ทธ์ ํฌํ ํ๋ฉด์ ์ค์๋ก ๋ค์ด๊ฐ ๋ฒ๊ทธ๊ฐ ์๊ฒ ์ฃ . ์ ์์ ๊ฒฝ์ฐ๋ ์ด ์๋ฆฌ์์ ๋ ผํ ํ์๊ฐ ์์ ๊ฒ ๊ฐ๊ณ , ํ์์ ๊ฒฝ์ฐ๋ง ์๊ฐํ๋ฉด ๋๊ฒ ์ต๋๋ค. ์งง๊ฒ ๋ง์๋๋ฆฌ์๋ฉด ๋ชจ๋ ๋ถ์ผ๊ฐ ๊ทธ๋ ๋ฏ, ํฌํ ์ ์ํํ๋ ์ฌ๋์ ์คํฌ์ ๋ฐ๋ผ ํฌํ ๊ณผ์ ์์์ ์๋ ๋ฒ๊ทธ๋ ์๊ธธ ์ ์๋ ๊ฒ์ผ๋ก ๋ณด์๋ฉด ๋ ๊ฒ ๊ฐ๋ค์.๊ทธ๋ฆฌ๊ณ , ์ด๋ก ์ธํด์ ๋ฐ์๋ ์ค๋ฅ๋ ์ผ๋ฐ์ ์ธ ์ํํธ์จ์ด์ ๋ฒ๊ทธ์ ์คํด์ ์๊ฐํ์๋ฉด ๋ ๊ฒ ๊ฐ์์.1๋ ์ ํ ๋ฒ ๋ํ๋๋ ๋ฒ๊ทธ๋ฅผ ์ฌํ์ ๊ธฐ๋ค๋ฆฌ๋ ๊ฑด ์ ๋ขฐ์ฑ์ด ์ค์ํ ์์คํ ์์ ํ์ฉ๋์ง ์์์. ๊ทธ๋์ FreeRTOS์ ์คํ ์ค๋ฒํ๋ก์ฐ ๊ฐ์ง, Watchdog, ์ ์ ๋ถ์ ๋๊ตฌ ๊ฐ์ ์ฌ์ ๊ฒ์ฆ ์๋จ์ ํฌํ ์งํ๋ถํฐ ํจ๊ป ์ ์ฉํ๋ ์ต๊ด์ ๋ค์ด๋ ๊ฒ ์ค์ํฉ๋๋ค.
- 0
- 2
- 43
Q&A
STM32 ํฌํ ํ ๋ STM32 Project๊ฐ ์์
์๋ ํ์ธ์. PJlee ๋!๋ค^^ 1.0.2 ๋ฒ์ ผ์ผ๋ก ํด๋ณด์๊ณ ๊ฑฐ๊ธฐ์๋ ๋์ผํ ๋ฌธ์ ๊ฐ ๋ณด์ด๊ฑฐ๋ ํน ์ด๋ค ์ด์๊ฐ ์๋ค๋ฉด ์ฌ๊ธฐ ๋ค์ ๊ธ ๋จ๊ฒจ์ฃผ์๋ฉด ์ ๊ฐ ํ๋ก์ฐ์ ํ๊ฒ ์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค. :)
- 0
- 2
- 103
Q&A
FreeRTOS ๋ฉํฐ์ฝ์ด ์ง์์๋จ?
์๋ ํ์ธ์, PJlee๋! ๊ฐ์๋ฅผ ์ด์ฌํ ๋ค์ด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.์ข์ ๋ด์ฉ์ ์ฐพ์๋ด ์ฃผ์ จ๋ค์! ๋ง์ํ์ ๋ด์ฉ์ด ๋ง์ต๋๋ค. FreeRTOS๋ 2022๋ V10.5.0 ๋ฒ์ ๋ถํฐ SMP๋ฅผ ๊ณต์ ์ง์ํ๊ธฐ ์์ํ๋ฉด์ ๋ฉํฐ์ฝ์ด ํ๊ฒฝ์์๋ ์ฌ์ฉํ ์ ์๊ฒ ๋์์ต๋๋ค.๋ค๋ง, ์ ๊ฐ ํด๋น ๊ฐ์๋ฅผ ์ค๋นํ๋ ์์ ์๋ ์์ง ๊ณต์ ์ง์ ์ด์ ์ด์๊ธฐ ๋๋ฌธ์ ๋จ์ ์ผ๋ก ์๊ฐ๋๋ ธ๋ ์ , ์ฐธ๊ณ ํด ์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค. ์์ฝ๊ฒ๋ ํ์ฌ๋ ๊ฐ์ธ์ ์ธ ์ฌ์ ์ผ๋ก ๊ฐ์ ๋ด์ฉ์ ๋ฐ๋ก ์ ๋ฐ์ดํธํด ๋๋ฆฌ๊ธฐ๊ฐ ์ด๋ ค์ด ์ํฉ์ ๋๋ค. ๋์ ์ํด ๋ถํ๋๋ฆฌ๋ฉฐ, ์์ผ๋ก๋ ๊ถ๊ธํ ์ ์ด ์๊ธฐ๋ฉด ํธํ๊ฒ ์ง๋ฌธํด ์ฃผ์ธ์!
- 0
- 2
- 70
Q&A
59ํ์ฐจ ํ์ต ๋ฏธ์๋
์๊ฐ์ ๋ถํธ์ ๋๋ ค ๋๋จํ ์ฃ์กํฉ๋๋ค.๋ง์ํ์ ์์(59ํ) ์ฌ์ ์ค๋ฅ๋ ์ธํ๋ฐ์ธก์ ๋ฌธ์๋ฅผ ํด๋์ ์ํ์ ๋๋ค.๋ต๋ณ์ด ์ค๋๋ฐ๋ก ์ํฉ ๊ณต์ ๋๋ฆฌ๊ฒ ์ต๋๋ค.
- 0
- 2
- 54
Q&A
[์์ค์ฝ๋ ๋ถ์-configUSE_TIME_SLICING] TASK1,2์ ์ฐ์ ์์๊ฐ ๋์ผํ ๋, configUSE_TIME_SLICING๊ฐ ๋ณ๊ฒฝ์ ๋ฐ๋ฅธ ์ถ๋ ฅ ๋ณํ
์๋ ํ์ธ์. ์ด์คํ๋!์๋ง๋ ์ฐ์ ์์๋ฅผ ๋์ผํ๊ฒ ์ฃผ๊ณ ํ ์คํธํ์ ๊ฒ ๊ฐ๋ค์. ๋ง๋์?"๋๊ฐ ๋จผ์ CPU๋ฅผ ์ก๋๋"๋ ํญ์ Task1์ผ๋ก ๋์ผํ๊ณ , "๋๊ฐ ๋จผ์ a/b๋ฅผ ์ถ๋ ฅํ๋๋"๋ ๊ฐ ํ์คํฌ๊ฐ ์์ํ ๋ ์๊ฐ์ด ๋ง์ด ์์๋ ์ ์๋ printf์ ์๋๊ณผ tick ํ์ด๋ฐ์ด ์ธ์ ๋ฐ์ํ๋๋์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค.๋ค์ ๋งํ๋ฉด, ๋ ผ๋ฆฌ์ ์ผ๋ก๋ ๋น์ทํ ํํ์ ํ์คํฌ ํจ์๊ฐ ์ฃผ์ด์ ธ ์๊ณ Task1์ด ๋จผ์ ์์ฑ๋๋ 'a'๋ฅผ ๋จผ์ ์ถ๋ ฅํ ๊ฒ์ด๋ผ ์๊ฐํ๊ธฐ ์ฝ์ง๋ง, tick์ด ๋ฐ์ํ๋ ์์ ๊ณผ ์ ํํ๋ printf ์ถ๋ ฅ ์๊ฐ์ด ํฉ์ณ์ ธ์ 'b'๊ฐ ๋จผ์ ์ถ๋ ฅ๋๋ ๊ตฌ์กฐ๊ฐ ๋ง๋ค์ด์ง ์ ์์ต๋๋ค.์๋์ ๊ฐ์ด ์๋๋ฆฌ์ค๋ฅผ ๊ทธ๋ ค๋ณด์์ต๋๋ค. ์ฐธ๊ณ ํด๋ณด์ธ์.## TIME_SLICING = 1 ์ธ ๊ฒฝ์ฐTask1 ์์ -> ์์ ๋ฉ์์ง printf ์คํ ์ค...Tick Interrupt ๋ฐ์!TIME_SLICING=1์ด๋ฏ๋ก ๊ฐ์ ์ฐ์ ์์ ํ์คํฌ ์ฒดํฌ -> Task2 ์์ -> ์ ํ!Task2 ์คํ -> ์์ ๋ฉ์์ง ์ถ๋ ฅ ์์์ดํ tick๋ง๋ค Task1 Task2 ๊ต๋๊ฒฐ๊ณผ์ ์ผ๋ก Task2๊ฐ while๋ฌธ์ 'b'๋ฅผ Task1๋ณด๋ค ๋จผ์ ์ฐ๊ฒ ๋๋ ์ํฉ ๋ฐ์## TIME_SLICING = 0 ์ธ ๊ฒฝ์ฐTask1 ์์ -> ์์ ๋ฉ์์ง printf ์คํ ์ค...Tick Interrupt ๋ฐ์!TIME_SLICING=0์ด๋ฏ๋ก ๊ฐ์ ์ฐ์ ์์ ์ฒดํฌ ์ฝ๋ ์คํ ์ ๋จ -> ์ ํ ์์!Task1 ๊ณ์ ์คํ -> while๋ฌธ ์ง์ -> "aaaaaaa..."Task2๋ yield๋ block ์์ด๋ ์คํ ๊ธฐํ ์์์ ๋ฆฌํ๋ฉด, ์ง๋ฌธ์๋๊ป์ ๊ด์ฐฐํ "TIME_SLICING ๊ฐ์ ๋ฐ๋ผ ๋จผ์ ์ถ๋ ฅ๋๋ ๋ฌธ์๊ฐ ๋ค๋ฅด๋ค"๋ ํ์์ CPU ์ ์ ์์๊ฐ ๋ฐ๋ ๊ฒ ์๋๋ผ, tick ๋ฐ์ ์์ ๊ณผ ์์ ์ฝ๋ ์คํ ์๊ฐ์ ์กฐํฉ์ผ๋ก ์ธํด while๋ฌธ ์ง์ ์์๊ฐ ๋ฌ๋ผ์ง ๊ฒ์ ๋๋ค.
- 0
- 2
- 71
Q&A
DMA ๊ด๋ จํ ๊ฐ์๋ ์ ์ํด์ฃผ์ค ์ ์์ผ์ ๊ฐ์ ?
์๋ ํ์ธ์. yilee๋!๊ฐ์ ์ฌ๋ฐ๊ฒ ์ ๋ณด๊ณ ๊ณ์๋์?DMA ๊ฐ์์ ๋ํด ๋ฌธ์ ์ฃผ์ จ๋๋ฐ์, ์์ฝ๊ฒ๋ ์ด๋ฒ ๊ฐ์ ๋ด์ฉ์์๋ ๋ค๋ฃจ์ง ์์ต๋๋ค.FREERTOS ๋ ๋ง์ฐฌ๊ฐ์ง๊ณ ์.์๋ฒ ๋๋ ์์คํ ์์ ๊ณ ์ฑ๋ฅ ์ฒ๋ฆฌ๋ฅผ ์ํด์ ์ค์ํ ๊ธฐ๋ฅ์ธ DMA ์ ๋ํด์ ๋ค์ ๊ฐ์์์ ๋ค๋ค๋ณผ๊ฒ์.์ข์ ์๊ฒฌ ๊ฐ์ฌํฉ๋๋ค. ์ฆ๊ฑฐ์ด ํ๋ฃจ๋์๊ณ ์ ^^
- 0
- 1
- 78
Q&A
ํฌํ ๋ถํ๋๋ฆฝ๋๋ค. <NUCLEO-G071RB>
์๋ ํ์ธ์. jykim3๋!ํฌํ ์๋ฃ๋ฅผ ์ฐธ๊ณ ํด์ฃผ์ธ์https://inf.run/9vCpB
- 0
- 2
- 59
Q&A
์ฌ์ง์ ๊ฐ๋ฅ์ฌ๋ถ์ ๊ดํ ์ง๋ฌธ
์๋ ํ์ธ์. ๋ฐ์์ฐ๋!์๋์ ๊ฐ์ด ์ฌ์ฉํ์๋ฉด void swap(int x, int y) ์ ์ฌ์ง์ ์ ๋์ํ ์ ์๋ ํจ์๋ก์์ ๊ธฐ๋ฅ์ ์ ์ํํด์ค๋๋ค.// ํ์คํฌ 1int a = 10, b = 20;swap(&a, &b); // temp1์ ํ์คํฌ1์ ์คํ// ํ์คํฌ 2 (๋์ ์คํ)int c = 30, d = 40;swap(&c, &d); // temp2๋ ํ์คํฌ2์ ์คํํ์ง๋ง, ์๋์ ๊ฐ์ ์ฌ์ฉ ์์์์๋ ์ฌ์ง์ ์ด ์๋๋ค๋ ์ ์์งํ์๊ธฐ ๋ฐ๋๋๋ค.์ด๊ฑด swap ํจ์๊ฐ ์ฌ์ง์ ๋ถ๊ฐ๋ฅํด์๊ฐ ์๋๋ผ, ํธ์ถ์๊ฐ ๊ฐ์ ๋ฐ์ดํฐ์ ๋์ ์ ๊ทผํ๊ธฐ ๋๋ฌธ์ ๋๋ค.// ํ์คํฌ 1swap(&shared_x, &shared_y);// ํ์คํฌ 2 (๋์ ์คํ)swap(&shared_x, &shared_y);- ๋ -
- 1
- 1
- 59
Q&A
01_TASKMANํ๋ก์ ํธ ๋๋ฒ๊น ๋ชจ๋ ์คํจ
์๋ ํ์ธ์. ํ์ต์๋!STM32CubeIDE ์ต์ ๋ฒ์ ์์ GCC ์ปดํ์ผ๋ฌ๊ฐ ์ ๋ฐ์ดํธ๋๋ฉด์ ๋ฐ์ํ๋ ๋ฌธ์ ๊ฐ ์์ฌ๋์ด chatGPT ์ ํ์ธํ ๊ฒฐ๊ณผ ์์๋๋ก ๊ทธ ๋ฌธ์ ๊ฐ ๋ง์์ต๋๋ค.__FILENAME__ ๋งคํฌ๋ก๊ฐ ๋ ์ด์ ๊ธฐ๋ณธ ์ ๊ณต๋์ง ์์ต๋๋ค.__FILE_NAME__ ์ ์ฌ์ฉํ์๋ฉด ๋๊ฒ ์ต๋๋ค. ์๋ ๋ด์ฉ ์ฐธ๊ณ ํด์ฃผ์ธ์.์ปดํ์ผ๋ฌ ์ต์ ์ผ๋ก ๋งคํฌ๋ก ์ ์ (๊ฐ์ฅ ๊น๋)1. ํ๋ก์ ํธ ์ฐํด๋ฆญ โ Properties2. C/C++ Build โ Settings โ Tool Settings3. MCU GCC Compiler โ Preprocessor4. Defined symbols (-D) ์ ์ถ๊ฐ:```FILENAME=__FILE_NAME__```
- 1
- 2
- 70






