jtag_debugging - withrobot/myCortex-STM32F4 GitHub Wiki

๊ฐœ์š”

JTAG์„ ์‚ฌ์šฉํ–ˆ์„ ๋•Œ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€์˜ ์ด์ ์€ ๋ฐ”๋กœ ์†Œ์Šค๋ ˆ๋ฒจ ๋””๋ฒ„๊น…์ž…๋‹ˆ๋‹ค. PC์—์„œ Visual Studio๋ฅผ ์ด์šฉํ•ด ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœํ•  ๋•Œ ๋””๋ฒ„๊น…์„ ํ•ด ๋ณด์…จ๋‹ค๋ฉด ์†Œ์Šค๋ ˆ๋ฒจ ๋””๋ฒ„๊น…์˜ ๊ฐ•๋ ฅํ•จ์„ ์‰ฝ๊ฒŒ ์ดํ•ดํ•˜์‹ค ์ˆ˜ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ ์ ˆํ•œ ๋””๋ฒ„๊น… ์ˆ˜๋‹จ๋„ ์—†์ด printf() ํ•จ์ˆ˜๋‚˜ GPIO ํ•œ๋‘๊ฐœ๋กœ ๋””๋ฒ„๊น…ํ•˜๋ฉด์„œ ๊ณ ์ƒํ•œ ๊ฒฝํ—˜, ์ž„๋ฒ ๋””๋“œ ๊ฐœ๋ฐœ์ž๋ผ๋ฉด ๋ˆ„๊ตฌ๋‚˜ ๊ฐ€์ง€๊ณ  ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. JTAG์ด ์žˆ๋‹ค๋ฉด ๊ทธ ๊ณ ์ƒ์„ ์•ˆํ•ด๋„ ๋ฉ๋‹ˆ๋‹ค!

myCortex-STM32F4 ์˜ˆ์ œ๋ฅผ ๋Œ€์ƒ์œผ๋กœ JTAG ์†Œ์Šค๋ ˆ๋ฒจ ๋””๋ฒ„๊น… ๋ฐฉ๋ฒ•์„ ์„ค๋ช…๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.

๋””๋ฒ„๊น… ๊ธฐ์ดˆ

๋‹น์—ฐํ•œ ์ด์•ผ๊ธฐ์ž…๋‹ˆ๋‹ค๋งŒ, ๋””๋ฒ„๊น…์„ ํ•˜๋ ค๋ฉด ํ•ด๋‹น ํ”„๋กœ์ ํŠธ๋ฅผ EWARM์—์„œ open ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. File ๋ฉ”๋‰ด์˜ [Open]->[Workspace]๋ฅผ ์ฐจ๋ก€๋Œ€๋กœ ์„ ํƒํ•˜์—ฌ ex02.1_LED ํด๋”์˜ EWARM.eww ํŒŒ์ผ์„ open ํ•ฉ๋‹ˆ๋‹ค.

๋””๋ฒ„๊น…์„ ์œ„ํ•ด ํ”„๋กœ์ ํŠธ๋ฅผ ๋นŒ๋“œํ•ฉ๋‹ˆ๋‹ค. ๋‹จ์ถ•ํ‚ค F7์„ ๋ˆ„๋ฅด๊ฑฐ๋‚˜ ๋ฉ”๋‰ด์—์„œ Project->Make๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

์ž„๋ฒ ๋””๋“œ ํ™˜๊ฒฝ์—์„œ ๋””๋ฒ„๊น…์„ ์œ„ํ•ด์„œ๋Š” ๋ณด๋“œ์— ์šฐ์„  ํŽŒ์›จ์–ด๋ฅผ ๋‹ค์šด๋กœ๋“œ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ์žˆ์ง€๋งŒ ์‹ค์ œ ๋ณด๋“œ๋ฅผ ์กฐ๊ธˆ ํ‰๋‚ด๋‚ด๋Š” ์ˆ˜์ค€์— ๊ทธ์ณ ๊ฑฐ์˜ ์‚ฌ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค)

EWARM์—์„œ๋Š” ๋‹จ์ถ•ํ‚ค Ctrl+D๋ฅผ ๋ˆ„๋ฅด๊ฑฐ๋‚˜ ๋ฉ”๋‰ด์—์„œ Project->Download and Debug๋ฅผ ์„ ํƒํ•จ์œผ๋กœ์จ ๋‹ค์šด๋กœ๋”ฉ๊ณผ ๋””๋ฒ„๊น… ์‹œ์ž‘์„ ๋™์‹œ์— ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

debug 1

๋ช‡๋ฒˆ์˜ ์ง„ํ–‰ ์œˆ๋„๊ฐ€ ์ž ๊น์”ฉ ๋‚˜ํƒ€๋‚ฌ๋‹ค ์‚ฌ๋ผ์ง„ ๋‹ค์Œ ์œ„ ํ™”๋ฉด๊ณผ ๊ฐ™์ด main() ํ•จ์ˆ˜๊ฐ€ ๋…น์ƒ‰์œผ๋กœ ๋ฐ”๋€ ์ƒํƒœ๋กœ ๋ฉˆ์ถฐ์žˆ์Šต๋‹ˆ๋‹ค. CPU ์ฝ”์–ด์˜ ํด๋Ÿญ์ด ์ •์ง€๋˜๋ฉด์„œ ์‹คํ–‰ ์—ญ์‹œ ์ผ์‹œ ์ •์ง€ ์ƒํƒœ์ž…๋‹ˆ๋‹ค. ์ฝ”๋“œ์—์„œ ๋…น์ƒ‰์œผ๋กœ ํ‘œ์‹œ๋œ ๋ถ€๋ถ„์€ "์ด๋ฒˆ์— ์‹คํ–‰ํ•  ๋Œ€์ƒ ์ฝ”๋“œ"๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ด ์ƒํƒœ์—์„œ ๋‹จ์ถ•ํ‚ค F10 ํ˜น์€ ๋ฉ”๋‰ด์˜ Debug->Step over๋ฅผ ์„ ํƒํ•˜๋ฉด ์†Œ์Šค ์ฝ”๋“œ ํ•œ์ค„์ด ์‹คํ–‰๋˜๋ฉฐ ํ™”๋ฉด์€ ์•„๋ž˜์™€ ๊ฐ™์ด ๋ฐ”๋€๋‹ˆ๋‹ค.

debug 2

LED_Init() ํ•จ์ˆ˜๊ฐ€ ๋…น์ƒ‰์œผ๋กœ ๋ฐ”๋€Œ์—ˆ์Šต๋‹ˆ๋‹ค.

Step over๋Š” ์ฝ”๋“œ ํ•œ์ค„์„ ์‹คํ–‰ํ•˜๋ผ๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค. ๋งŒ์ผ ์ด ํ•œ์ค„์ด ํ•จ์ˆ˜ ํ˜ธ์ถœ์ธ ๊ฒฝ์šฐ๋ผ๋ฉด ๊ทธ ํ•จ์ˆ˜ ์ „์ฒด๋ฅผ ํ•œ์ค„๋กœ ์ทจ๊ธ‰ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ๋ฒˆ ์‹คํ–‰ ๋Œ€์ƒ์ธ LED_Init()์€ ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค. ์ด ์ƒํƒœ์—์„œ step over๋ฅผ ํ•˜๊ฒŒ ๋˜๋ฉด LED_Init() ํ•จ์ˆ˜๋ฅผ ๋ชจ๋‘ ๋‹ค ์‹คํ–‰ํ•˜๊ณ  ๋‹ค์Œ ์ค„์ธ LED_R_ON()์ด ๋…น์ƒ‰์œผ๋กœ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋ฐ˜๋ฉด Step into๋Š” ํ•จ์ˆ˜ ํ˜ธ์ถœ์„ ๋งŒ๋‚ฌ์„ ๋•Œ ๊ทธ ํ•จ์ˆ˜ ๋‚ด๋ถ€๋กœ ๋”ฐ๋ผ ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค. LED_Init()์„ ์‹คํ–‰ํ•  ์ˆœ์„œ์—์„œ Step into๋ฅผ ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋‹จ์ถ•ํ‚ค๋Š” F11 ์ž…๋‹ˆ๋‹ค.

debug 3

main.c ํŒŒ์ผ๋งŒ ์—ด๋ ค์žˆ์—ˆ์ง€๋งŒ ์ž๋™์œผ๋กœ led.c ํŒŒ์ผ์ด ์—ด๋ฆฌ๋ฉด์„œ LED_Init() ํ•จ์ˆ˜์˜ ์ฒซ ๋ฒˆ์งธ ๋ผ์ธ์ด ๋…น์ƒ‰์œผ๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์ด์ฒ˜๋Ÿผ Step into๋Š” ํ˜ธ์ถœํ•˜๋Š” ํ•จ์ˆ˜ ๋‚ด๋ถ€๊นŒ์ง€ ๋”ฐ๋ผ๋“ค์–ด๊ฐ€๋Š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด Step out(๋‹จ์ถ•ํ‚ค Shift + F11)์€ ํ˜„์žฌ ํ•จ์ˆ˜์˜ ๋๊นŒ์ง€ ์‹คํ–‰ํ•˜๊ณ  ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•œ ๊ณณ์œผ๋กœ ๋˜๋Œ์•„๊ฐ€๋Š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค.

Shift+F11์„ ๋ˆŒ๋Ÿฌ LED_Init() ํ•จ์ˆ˜์˜ ์‹คํ–‰์„ ๋๊นŒ์ง€ ํ•˜๊ณ  ๋‚˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด next cursor๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

debug 4

LED_R_ON()์ด ์‹คํ–‰๋  ์ฐจ๋ก€์ž…๋‹ˆ๋‹ค. ์ด ์‹œ์ ์— myCortex-STM32F4 ๋ณด๋“œ์˜ LED๋Š” ๋‘๊ฐœ ๋ชจ๋‘ ๊บผ์ ธ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ F10์„ ๋ˆŒ๋Ÿฌ 14 ๋ผ์ธ์„ ์‹คํ–‰ํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

debug 5

์ด๋•Œ ๋ณด๋“œ๋ฅผ ํ™•์ธํ•ด ๋ณด๋ฉด ์ ์ƒ‰ LED๊ฐ€ ์ผœ์ ธ ์žˆ๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ 15 ๋ผ์ธ์—์„œ๋„ F10์„ ๋ˆ„๋ฅด๋ฉด ๊ทธ์ˆœ๊ฐ„ ๋ณด๋“œ์˜ ๋…น์ƒ‰ LED๊ฐ€ ์ผœ์ง‘๋‹ˆ๋‹ค.

๋””๋ฒ„๊น…์˜ ์ข…๋ฃŒ๋Š” ๋‹จ์ถ•ํ‚ค Ctrl+Shift+D ํ˜น์€ Debug->Stp[ Debugging ๋ฉ”๋‰ด์ž…๋‹ˆ๋‹ค. ๋””๋ฒ„๊น…์„ ํ•˜๊ณ  ๋‚˜๋ฉด ํ•ด๋‹น ํŽŒ์›จ์–ด ์ด๋ฏธ์ง€๊ฐ€ ํ”Œ๋ž˜์‰ฌ ๋ฉ”๋ชจ๋ฆฌ์— ๋‹ค์šด๋กœ๋“œ ๋˜๋ฉด์„œ ํ”Œ๋ž˜์‰ฌ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋ฎ์–ด์“ด๋‹ค๋Š” ์ ๋„ ์—ผ๋‘์— ๋‘ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Breakpoint์™€ ๋ณ€์ˆ˜๊ฐ’ ํ™•์ธ

์•ž์žฅ์—์„œ์™€ ๊ฐ™์ด Step ๊ธฐ๋Šฅ์„ ์ด์šฉํ•˜๋ฉด ์†Œ์Šค๋ฅผ ํ•œ์ค„์”ฉ ์‹คํ–‰ํ•ด์„œ ์‚ดํŽด๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•œํŽธ ํŽŒ์›จ์–ด ์†Œ์Šค ์ „์ฒด ์ค‘ ์ž์‹ ์ด ๊ด€์‹ฌ์žˆ๋Š” ๋ถ€๋ถ„๋งŒ ๋ณด๊ธฐ ์œ„ํ•ด์„œ๋Š” step ๊ธฐ๋Šฅ์œผ๋กœ ํ•œ์ค„์”ฉ ์‹คํ–‰ํ•ด ๋‚˜๊ฐ€๋‹ค๊ฐ€๋Š” ์‹œ๊ฐ„๋‚ญ๋น„๊ฐ€ ์‹ฌํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฐ ๊ฒฝ์šฐ๋ฅผ ์œ„ํ•ด Breakpoint ๊ธฐ๋Šฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์†Œ์Šค์˜ ์›ํ•˜๋Š” ๊ณณ์— breakpoint๋ฅผ ์„ค์ •ํ•˜๊ณ  MCU๋ฅผ run ์‹œํ‚ค๋ฉด breakpoint๊ฐ€ ์„ค์ •๋œ ๊ณณ์ด ์‹คํ–‰๋˜๊ธฐ ์ง์ „์— ์‹คํ–‰์„ ๋ฉˆ์ถฅ๋‹ˆ๋‹ค. ๊ทธ๋•Œ๋ถ€ํ„ฐ๋Š” ๋‹ค์‹œ Step over, step into, step out ๋“ฑ์œผ๋กœ ํ•œ์ค„์‹ ์‹คํ–‰ํ•ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Breakpoint๋ฅผ ์„ค์ •ํ•˜๊ณ  ์‹ถ์€ ์†Œ์Šค์ฝ”๋“œ ๋ผ์ธ์— ์ปค์„œ๋ฅผ ์œ„์น˜์‹œํ‚จ ํ›„ ๋‹จ์ถ•ํ‚ค F9๋ฅผ ๋ˆ„๋ฅด๋ฉด ๋ถ‰์€ ์›์ด ํ‘œ์‹œ๋˜๋ฉด์„œ breakpoint๊ฐ€ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.

ex07.1_ADC_1ch ์˜ˆ์ œ๋ฅผ ํ†ตํ•ด ์‚ดํŽด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋””๋ฒ„๊น… ๊ณผ์ •์„ ์‹œ์—ฐํ•˜๊ธฐ ์œ„ํ•ด ์šฐ์„  ์ปดํŒŒ์ผ๋Ÿฌ ์ตœ์ ํ™” ์˜ต์…˜์„ ๋„๊ณ  ๋นŒ๋“œํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์ตœ์ ํ™” ์˜ต์…˜์ด ์ผœ์ ธ ์žˆ์œผ๋ฉด ์ตœ์ ํ™”๋ฅผ ํ†ตํ•ด ์ผ๋ถ€ ์ฝ”๋“œ๋Š” ์‹คํ–‰๋˜์ง€ ์•Š๊ฑฐ๋‚˜ ์‹คํ–‰ ์ˆœ์„œ๊ฐ€ ๋ฐ”๋€Œ๋Š” ๊ฒฝ์šฐ๋„ ์žˆ์–ด ์ฒ˜์Œ ์ ‘ํ•˜๋Š” ์‚ฌ๋žŒ์—๊ฒŒ๋Š” ์–ด๋ ต๊ฒŒ ๋Š๊ปด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹จ์ถ•ํ‚ค Alt+F7 ํ˜น์€ ๋ฉ”๋‰ด์—์„œ Project->Options๋ฅผ ์„ ํƒํ•œ ๋‹ค์Œ ์•„๋ž˜ ํ™”๋ฉด๊ณผ ๊ฐ™์ด ์ตœ์ ํ™” ์˜ต์…˜์„ None์œผ๋กœ ์„ค์ •ํ•˜๊ณ  Ok๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

optimization

์ด์ œ Ctrl+D ๋‹จ์ถ•ํ‚ค๋ฅผ ๋ˆŒ๋Ÿฌ ๋””๋ฒ„๊น…์„ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

debug 6

main()์—์„œ ์‹คํ–‰์„ ๋Œ€๊ธฐ์ค‘์ž…๋‹ˆ๋‹ค. ์ด๋•Œ main.c ํŒŒ์ผ์˜ 88๋ผ์ธ์œผ๋กœ ์ปค์„œ๋ฅผ ์ด๋™์‹œํ‚จ ๋‹ค์Œ ๋‹จ์ถ•ํ‚ค F9๋ฅผ ๋ˆŒ๋Ÿฌ breakpoint๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

debug 7

์œ„์™€ ๊ฐ™์ด ์ฝ”๋“œ๊ฐ€ ๋ถ‰์€์ƒ‰์œผ๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์ด ์ƒํƒœ์—์„œ ๋‹จ์ถ•ํ‚ค F5๋ฅผ ๋ˆŒ๋Ÿฌ run ์‹œํ‚ต๋‹ˆ๋‹ค. ์ผ์‹œ์ •์ง€ ์ƒํƒœ์—์„œ run ์ƒํƒœ๋กœ ๋˜๋ฉด์„œ main() ํ•จ์ˆ˜์˜ ์†Œ์Šค์ฝ”๋“œ๋“ค์ด ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‹ค๊ฐ€ breakpoint๊ฐ€ ์‹คํ–‰๋  ์ฐจ๋ก€๊ฐ€ ๋˜๋ฉด ์ž๋™์œผ๋กœ ๋‹ค์‹œ ์ผ์‹œ์ •์ง€ ์ƒํƒœ๊ฐ€ ๋˜์–ด ์•„๋ž˜์™€ ๊ฐ™์ด ํ™”๋ฉด์— ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

debug 8

ADC_GetConversionValue() ํ•จ์ˆ˜๊ฐ€ ์‹คํ–‰๋  ์ฐจ๋ก€์ž…๋‹ˆ๋‹ค. ์ด ์ƒํƒœ์—์„œ ์šฐ์ธก์— ์žˆ๋Š” Disassembly ์ฐฝ์„ ๋‹ซ๊ณ  ๋ฉ”๋‰ด์—์„œ View->Locals๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ์ง€์—ญ ๋ณ€์ˆ˜์˜ ์ƒํƒœ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋Š” ์ฐฝ์ด ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

debug 9

์ด ํ™”๋ฉด์„ ๋ณด๋ฉด ๋ณ€์ˆ˜ adc_result์˜ ๊ฐ’์ด 0์ด๋ผ๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋•Œ F10์„ ๋ˆŒ๋Ÿฌ ํ•œ์ค„ step over ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ํ™”๋ฉด์ด ๋ฐ”๋€๋‹ˆ๋‹ค.

debug 10

ํ•œ์ค„ ์ง„ํ–‰๋˜๋ฉด์„œ adc_result ๋ณ€์ˆ˜์˜ ๊ฐ’์ด 2815๋กœ ๋ฐ”๋€Œ์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ์ˆซ์ž๋Š” ADC ์ฑ„๋„ 1์— ์ธ๊ฐ€ํ•œ ์ „์••์„ ADCํ•ด์„œ ์–ป์€ ๊ฒฐ๊ณผ์ž…๋‹ˆ๋‹ค. ์‹คํ—˜ํ•˜๋Š” ํ™˜๊ฒฝ์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ๊ฐ’์ด ์ถœ๋ ฅ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์ฒ˜๋Ÿผ ๋ฐฉ๊ธˆ step์—์„œ ๋ณ€ํ™”ํ•œ ๋ณ€์ˆ˜ ๊ฐ’์€ ๋ถ‰์€์ƒ‰์œผ๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

ํ•œ๋ฒˆ ๋” step over๋ฅผ ํ•ด์„œ volt๋ฅผ ๊ณ„์‚ฐํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

debug 11

์†Œ์Šค์ฝ”๋“œ๋Š” ํ•œ์ค„ ๋” ์ง„ํ–‰๋˜์—ˆ์ง€๋งŒ volt ๋ณ€์ˆ˜ ๊ฐ’์€ ๋ณ€ํ™”์—†์ด ๊ณ„์† ์ƒํƒœ์ž…๋‹ˆ๋‹ค. ์ด๋Š” volt ๋ณ€์ˆ˜๋Š” float ํ˜•ํƒœ์ด๊ณ , ์ง€๊ธˆ FPU๊ฐ€ ๋™์ž‘ํ•˜๋Š” ์ค‘์ด์–ด์„œ ์ผ๋ฐ˜์ ์ธ ๋””๋ฒ„๊น…์œผ๋กœ๋Š” ์ด ๊ฐ’์„ ํ™•์ธํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

ํ•œ๋ฒˆ ๋” step overํ•˜๋ฉด resistor ๋ณ€์ˆ˜์˜ ๊ฐ’์ด ๋ฐ”๋€๋‹ˆ๋‹ค.

debug 12

์ด์ฒ˜๋Ÿผ step ๊ธฐ๋Šฅ๊ณผ breakpoint ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•ด ์ž์œ ์ž์ œ๋กœ ์ž์‹ ์ด ๋ณด๊ณ ์‹ถ์€ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰์‹œํ‚ฌ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋™์‹œ์— ๋ณ€์ˆ˜ ๊ฐ’์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณ€์ˆ˜ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ํŠน์ • memory ์˜์—ญ์„ ๋ณด๊ฑฐ๋‚˜ ๋ ˆ์ง€์Šคํ„ฐ์˜ ๊ฐ’์„ ํ™•์ธํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

์•ž์—์„œ ์ตœ์ ํ™” ์˜ต์…˜์„ None์œผ๋กœ ๋ฐ”๊พธ๊ณ  ๋””๋ฒ„๊น…์„ ํ–ˆ์—ˆ๋Š”๋ฐ, ๋‹ค์‹œ ์›๋ž˜ ์ƒํƒœ๋กœ ๋˜๋Œ๋ฆฐ ๋‹ค์Œ ๋””๋ฒ„๊น…์„ ํ•œ๋ฒˆ ํ•ด ๋ณด์‹œ๋ฉด ์กฐ๊ธˆ ๋‹ค๋ฅธ ์‹คํ–‰ ๋ชจ์Šต์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.