ATmel AVR AVR 8 Bit RISC MCU 5
ATmel AVR 어셈블러 AVR 8 Bit RISC MCU 5. 프로젝트에 어셈블러 파일 등록 OR 메뉴의 Project -> Add existing File 선택 -> Workspace -> Assembler -> 마우스 오른쪽 클릭 -> 어셈 파일 선택 Add existing File 을 누르고 어셈 파일 선택 Workspace -> Project Name -> Assembler ->Assember file 이 등록이 된다.
STK 500/AVR ISP/JTAG ICE ATmel AVR 8 Bit RISC MCU ㅁ Preserve EEPROM memory through the Chip Erase cycle; [EESAVE=0] Device 의 메모리를 Erase 할 때 EEPROM 을 지우지 않는다. Device 를 Erase 할 때에 Flash 와 EEPROM 을 모두 지우므로, EEPROM에 저장되어 있는 데이터를 보존하고 싶을 때 사용한다. 단, Program은 가능하다. ㅁ Boot Flash section size=512 words Boot start address=$FE 00; [BOOTSZ=11] … ㅁ Boot Reset vector Enabled (default address=$0000); [BOOTRST=0] Self Programming 을 사용할 때 Boot Loader 가 들어갈 Flash 메모리의 크기와 리셋 번지를 설정한다. 만약, Self Programming 을 사용하지 않는다면 Boot Flash section의 크기는 어느 것이든 상관 없으며 Boot Reset vector Enable 에는 체크하지 않는다. ㅁ Brown-out detection level an VCC=4. 0 V; [BODLEVEL=0] ㅁ Brown-out detection level an VCC=2. 7 V; [BODLEVEL=1] default value ㅁ Brown-out detection enabled; [BODEN=0] Brown-out detection 기능을 사용할때 체크한다. Brown-out detection 기능은 VCC가 위에 설정된 레벨 이하로 떨어질 경우 시스템적으로 Reset을 해 주는 기능이다. Brown-out detection enableed 를 체크하지 않으면 레벨은 상관이 없다. ㅁ CKOPT fuse(operation dependent of CKSEL fuses); [CKOPT=0] Clock의 Swing 레벨을 Small 에서 Full Swing 하게 한다. Ext. Crystal/Resonator 를 사용할때 8 MHz 보다 클 경우 반드시 체크해 주어야 하며, XTAL 2 로 다른 디바이스에 클럭을 주고자 할 때에도 사용한다.
STK 500/AVR ISP/JTAG ICE ATmel AVR 8 Bit RISC MCU ㅁ Ext. Clock; Start-up time: 6 CK + 0 ms; [CKSEL=0000 SUT=00] … XTAL 1 핀으로 외부에서 클럭을 공급 받을 때 사용한다. Oscillator 를 사용할 때 사용한다. 만약 XTAL/Resonator 사용 시 실수로 이 클럭 옵션을 선택하게 되면 발진을 하지 않아 ISP 기능을 사용할 수 없다. 이럴 경우 Oscillator를 연결 하거나, 펑션 제너레이터로 XTAL 1 에 클럭을 공급해 주면서 ISP로 클럭 옵션을 바꿔 주어야 한다. ㅁ Int. RC Osc. 1 MHz; Start-up time: 6 CK + 0 ms; [CKSEL=0001 SUT=00] … ㅁ Int. RC Osc. 2 MHz; Start-up time: 6 CK + 0 ms; [CKSEL=0010 SUT=00] … ㅁ Int. RC Osc. 4 MHz; Start-up time: 6 CK + 0 ms; [CKSEL=0011 SUT=00] … ㅁ Int. RC Osc. 8 MHz; Start-up time: 6 CK + 0 ms; [CKSEL=0100 SUT=00] … 내부 RC 발진기를 사용할때 체크한다. 1~8 MHz 까지 선택할 수 있으며, 1 MHz 를 제외한 2, 4, 8 MHz 일 경우, 외부 롬라이터에서 Calibration Byte 를 읽어서 OSCCAL 레지스터에 써 넣어 주어야 한다. ㅁ Ext. RC Osc. - 0. 9 MHz; Start-up time: 18 CK + 0 ms; [CKSEL=0101 SUT=00] … ㅁ Ext. RC Osc. 0. 9 MHz - 3. 0 MHz; Start-up time: 18 CK + 0 ms; [CKSEL=0110 SUT=00] … ㅁ Ext. RC Osc. 3. 0 MHz - 8. 0 MHz; Start-up time: 18 CK + 0 ms; [CKSEL=0111 SUT=00] … ㅁ Ext. RC Osc. 8. 0 MHz - 12. 0 MHz; Start-up time: 18 CK + 0 ms; [CKSEL=1000 SUT=00] … 외부 RC 발진기를 사용할때 체크한다.
STK 500/AVR ISP/JTAG ICE ATmel AVR 8 Bit RISC MCU ㅁ Ext. Low-Freq. Crystal; Start-up tie : 1 K CK + 4 ms; [CKSEL= 1001 SUT=00] … 32. 768 KHz 의 시계 클럭을 사용할 시 사용한다. ㅁ Ext. RC Osc. - 0. 9 MHz; Start-up time: 18 CK + 0 ms; [CKSEL=0101 SUT=00] … ㅁ Ext. RC Osc. 0. 9 MHz - 3. 0 MHz; Start-up time: 18 CK + 0 ms; [CKSEL=0110 SUT=00] … ㅁ Ext. RC Osc. 3. 0 MHz - 8. 0 MHz; Start-up time: 18 CK + 0 ms; [CKSEL=0111 SUT=00] … ㅁ Ext. RC Osc. 8. 0 MHz - 12. 0 MHz; Start-up time: 18 CK + 0 ms; [CKSEL=1000 SUT=00] … 외부 RC 발진기를 사용할때 체크한다. ㅁ Ext. Crystal/Resonator Low Freq. ; Start-up time: 258 CK + 4 ms; [CKSEL= 1010 SUT=00] … 외부 Crystal 이나 Resonator 를 사용할때 사용한다 (Clock Freq : 9 ~ 16 MHz) ※ Start-up time : ? ? CK + ? ? ms 는 시스템이 Reset 되었을 경우 다시 On 되기까지의 리셋 딜레이 이다. 각 클럭 옵션마다 SUT 값에 따라 각각 다른 리셋 딜레이가 있다. AVR Studio 에서는 클럭 옵션에 대한 설명이 나와 있지만 Pony. Prog 2000 등과 같은 프로그램에선 이 부분에 대한 설명 이 나와 있지 않으므로, 데이터쉬트에서 System Clock and Clock Options 부분을 잘 읽어 보고 선택해야 한다. 특히 해당 비트를 체크하면 “ 0” 이므로 이 부분을 주의 해야 한다.
- Slides: 24