Skip to main content

AVR Lock and Fuse bits

μ„€μ •λ˜μ–΄ μžˆλŠ” λΉ„νŠΈκ°€ μ–΄λ–€ μƒνƒœμΈμ§€ μ•ŒκΈ° μœ„ν•΄μ„œ μ•„λž˜μ™€ 같이 avrdude μ»€λ§¨λ“œλ₯Ό μž…λ ₯ν•΄μ„œ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

avrdude -p<partno> -c<programmer-id> -U efuse:r:-:b -U hfuse:r:-:b -U lfuse:r:-:b -U lock:r:-:b

Lock bits​

Lock bitsλŠ” ν”„λ‘œκ·Έλž˜λ¨Έλ₯Ό 톡해 λ©”λͺ¨λ¦¬μ— μ ‘κ·Όν•˜λŠ” 것을 λ³΄ν˜Έν•˜λŠ” 섀정에 λŒ€ν•œ λΉ„νŠΈμž…λ‹ˆλ‹€.

Lock bits에 0 μ“°λŠ” 것은 μžμœ λ‘­μ§€λ§Œ 1 을 μ“°κΈ° μœ„ν•΄μ„œλŠ” 칩을 μ§€μ›Œμ•Ό ν•©λ‹ˆλ‹€.

-e μ˜΅μ…˜μ„ μ‚¬μš©ν•˜λ©΄ flash ROM, EEPROM, Lock bitsλ₯Ό λͺ¨λ‘ 0xFF둜 μ΄ˆκΈ°ν™” μ‹œν‚΅λ‹ˆλ‹€. flash에 ν”„λ‘œκ·Έλž¨μ„ μ—…λ‘œλ“œν•˜λ©΄ μžλ™μœΌλ‘œ -e μ˜΅μ…˜μ΄ 적용되기 λ•Œλ¬Έμ— Lock bitsλŠ” μ—…λ‘œλ“œ 후에 항상 0xFF둜 μ΄ˆκΈ°ν™” λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.

κ·ΈλŸ¬λ―€λ‘œ ν”„λ‘œκ·Έλž¨μ„ μ—…λ‘œλ“œ ν•˜κΈ° 전에 -e μ˜΅μ…˜μ„ μ‚¬μš©ν•˜μ—¬ κ°•μ œμ μœΌλ‘œ Lock bitsλ₯Ό μ„€μ •ν•˜λŠ” 것은 무의미 ν•©λ‹ˆλ‹€.

avrdude -p<partno> -c<programmer-id> -U efuse:w:[0bxxxxxxxx]:m

Fuse bits​

Fuse bitsλŠ” Extended, High, Low μ„Έ μ’…λ₯˜λ‘œ ν”„λ‘œκ·Έλž˜λ¨Έ, λΆ€νŠΈ μ‚¬μ΄μ¦ˆ, 클럭 μ†ŒμŠ€ λ“±μ˜ 섀정에 λŒ€ν•œ λΉ„νŠΈμž…λ‹ˆλ‹€.

κΈ°λŠ₯에 ν•΄λ‹Ήν•˜λŠ” λΉ„νŠΈλ₯Ό 0 으둜 μ„€μ •ν•˜λ©΄ ν™œμ„±ν™”λ˜κ³  1 둜 μ„€μ •ν•˜λ©΄ λΉ„ν™œμ„±ν™” λ©λ‹ˆλ‹€.

Extended Fuse bits​

avrdude -p<partno> -c<programmer-id> -U efuse:w:[0bxxxxxxxx]:m

Fuse High bits​

avrdude -p<partno> -c<programmer-id> -U hfuse:w:[0bxxxxxxxx]:m

Fuse Low bits​

avrdude -p<partno> -c<programmer-id> -U lfuse:w:[0bxxxxxxxx]:m