메이커 페어 서울 2018 소개 자료입니다.
- 측우자격루
- 라즈베리파이, 아두이노, 레고를 활용하여 만든 작품입니다.
- 개발자용 소개 자료입니다.
목차
- 프로젝트 소개
- IoT 기술 소개
- 기능 상세
- 제작 과정
- 시연
- 느낀 점
작업 후기 링크입니다.
https://blog.skcc.com/3805
https://blog.skcc.com/3810
[2011 CodeEngn Conference 05] ashine - 안드로이드 리눅스에서의 시스템 해킹GangSeok Lee
2011 CodeEngn Conference 05
안드로이드 리눅스 상에서 bof 공격을 해본다. 임의로 제작한 취약한 어플리케이션을 대상으로 공격코드를 작성하여 쉘을 획득하는 과정을 보여주며설명한다. x86 환경에서와 ARM 환경에서의 공격코드 작성시 차이점에 대해 설명한다.
http://codeengn.com/conference/05
@Powersupply(YeungnamUniv.) @NanheeKim @nh9k
질문이 있으면 언제든지 연락주세요!
Please, feel free to contact me, if you have any questions!
github: https://github.com/nh9k
email: kimnanhee97@gmail.com
메이커 페어 서울 2018 소개 자료입니다.
- 측우자격루
- 라즈베리파이, 아두이노, 레고를 활용하여 만든 작품입니다.
- 개발자용 소개 자료입니다.
목차
- 프로젝트 소개
- IoT 기술 소개
- 기능 상세
- 제작 과정
- 시연
- 느낀 점
작업 후기 링크입니다.
https://blog.skcc.com/3805
https://blog.skcc.com/3810
[2011 CodeEngn Conference 05] ashine - 안드로이드 리눅스에서의 시스템 해킹GangSeok Lee
2011 CodeEngn Conference 05
안드로이드 리눅스 상에서 bof 공격을 해본다. 임의로 제작한 취약한 어플리케이션을 대상으로 공격코드를 작성하여 쉘을 획득하는 과정을 보여주며설명한다. x86 환경에서와 ARM 환경에서의 공격코드 작성시 차이점에 대해 설명한다.
http://codeengn.com/conference/05
@Powersupply(YeungnamUniv.) @NanheeKim @nh9k
질문이 있으면 언제든지 연락주세요!
Please, feel free to contact me, if you have any questions!
github: https://github.com/nh9k
email: kimnanhee97@gmail.com
프로세서에 대한 내용은 SW개발자가 깊이있게 호기심을 가지지 않을 수도 있습니다. 하지만 하드웨어 세상인 이곳도 사실은 논리적 해법으로 무장한 알고리즘의 세계라는 것을 김민장님의 책을 통해 알게되었습니다. 그래서 관련 책을 읽어보고 같이 공부하는 사람들에게 공유하기 위해 ppt 형태로 정리해보았습니다.
제너시스템즈 ABG는 인터넷전화 세션 제어 기능 및 인터넷전화 보안 통합 솔루션을 제공합니다. ABG 제품은 시스템 운용 관리 역할을 담당하는 ABM(Access Board Management) 모듈과 세션 제어 및 Call Routing 기능, SIP Interface 기능 및 신호 암호화 기능 (TLS/IPSec)과 미디어 암호화 기능(sRTP)을 제공하는 ABG(Access Board Gateway) 모듈로 구성됩니다.
창의·융합·문제해결을 배우는 메이커 활동 리스트
프로그래밍을 배우는 일은 사실 장기간 따분하고 지루한 과정입니다. 특히 코드(Code)가 동작하는 방식을 이해하는 일은 금방 되는 일은 아닙니다. 쉽고 즐겁게 배울 수 있는 교육키트와 잘 정의된 과정으로 쉽고 즐겁게 배우십시오. 메이커 활동을 통해 학습한 코딩에 대한 자신감으로 창의적인 아이디어를 모든 분야에 활용하십시오. 어느덧 당신은 메이커로 성장하여, 일상에 코딩을 적용하는 일이 늘어날 것입니다. 코딩은 이미 우리 생활과 밀접한 분야로 자리 잡았습니다. 다양한 메이커 활동 프로젝트를 소개합니다.
누구나 쉽게 소프트웨어 배우기
Everyone Start
Easy Learning
Software Education
Learning - Study Academy School
소프트박스 Softbox
소프트빈, 소프트멜론,
SEEL : Software Everyone Easy Learning
LESBY : Learn Software by Yourself
과천 디지털 창작 집단은 정보통신, 사물인터넷, 오픈 소프트웨어, 오픈 하드웨어, 코딩(프로그래밍) 분야에 대한 관심을 가진 모임으로 DIY, Maker 운동을 추진하고 있는 단체임.
과천 지역의 주요지역(약 6개소)에 온도, 습도, 공기질, 풍향, 풍속등을 측정하여 세부적인 기상 데이터가 필요한 주민에게 제공할 예정임. 이러한 기상 데이터를 장기간에 걸쳐 수집하면 빅데이터로 환경, 농업, 식물 생장등에 유용한 데이터로 가치가 있게 됨.
과천 디지털 창작 집단은 남녀노소, 나이에 관계없이 생활에 유용한 제품을 스스로 만들고, 창조하는 과정에 관심이 있다면 누구든 열린 공간에서 서로 소통하며 작업이 가능한 공동체로 성장할 것임.
미세먼지 공기청정기 메이커활동 제안서. 우리나라의 공기질과 미세먼지는 국내 산업과 중국의 영향으로 점점 더 악회되고 있다. 우리나라 공기질이 악회되는 원인은
◈ 미국 예일대와 컬럼비아대 공동연구에서 발표한 환경성과지수에 따르면 우리나라 공기질은 조사대상 180개국중 173위로 나타남
◈ 미세먼지의 주범으로 화력발전소와 경유차가 지목되는 가운데, 선진국들은
청정화력발전계획을 통해 석탄→LNG로 연료를 교체하는 반면 우리나라는 석탄화력발전을 확대·증설하고 있고,
◈ 유럽에서는 경유차의 도심 진입을 금지하는 정책이 진행되는 상황에서 우리나라는 비용적 경제성과 상대적으로 유리한 배출기준 등으로 경유차가 확대되는 사회적 구조의 문제점이 가장 큰 원인으로 지적
미세먼지를 비롯한 공기질은 국민건강과 직결되는 만큼 신재생에너지 확대 등 범국가적 노력과 대응이 필요하다. 또한 우리나라 대기환경과 공기질에 대한 기본교육과 가정이나 실내에서 손쉽게 만들어 사용할 수 있는 공기청정기 메이커 활동을 소프트웨어 교육 차원에서 진행한다.
Softbox coding - raspberrypi3 b+ 2019 Lecture File 봉조 김
IoT 의 개념에 대해 발전과정, 현재 적용 사례, 미래의 IoT를 사업의 측면이 아니라 사용자 관점에서 분석하고 사용자 관점에서 바라보는 교육을 진행한다. IoT를 구현하는 3대 기반 기술은 센싱기술, 유무선 통신 및 네트워크 통신기술, IoT 서비스 인터페이스 기술이다. 미래 산업을 지배하는 분야는 사물인터넷, 스마트 카, 인공지능 분야일 것이다. 4차 산업혁명을 이끌어 나가는 힘은 소프트웨어에서 나온다.
본 사물인터넷 임베디드 실습과정은 사물인터넷 제품을 개발하는 전체적인 과정을 배우게 된다.사물인터넷 제품의 기획, 설계, 개발, 소프트웨어 구현, 웹 서비스, 모바일 앱 서비스에 이르는 과정을 대표적인 오픈소스 하드웨어인 라즈베리파이와 아두이노를 사용해서 구현하는 방법을 실습하며, 또한 LoRa 통신 실습을 LoRa보드와 게이트웨이등을 사용하여 실습한다.
SoftBox-RaspberryPi-IoT 설계 시스템은 Gateway(Raspberry Pi)와 8종의 센서, 7종의 액츄에이터, 다양한 주변장비로 구성된다. 5종의 설계 /실습과제를 통합 시스템에서 직접 설계 및 실습할 수 있는 환경을 제공하고, 사용자가 설계한 시스템을 인터넷이나 안드로이드 앱을 통해 정보를 확인하고, 직접 제어할 수 있는 교육 시스템이다. IoT 에 대한 개념을 배우고, 창의적인 아이디어를 바로 적용 제작할 수 있는 시스템이다.
Softbox Raspberry pi education kit development environment setting
이글은 라즈베리 파이에 입문하여 처음 사용하려는 사용자를 위해 작성하였다.
보통 개발을 하든, 무엇인가 하려고 할때 환경을 구축하는것은 까다롭고 힘든 일이다. 그 과정이 단순하고, 쉬울 경우 작업 속도와 성과는 잘 나올 수 있다. 처음 라즈베리 파이를 구입하여 개발환경을 구축하기까지 약간은 번거롭고 힘이 든 과정을 알기 쉽게 설명하려 한다. 문의사항이나 잘 안되는 것은 언제든 답글에 남겨주기 바란다. This article was written for users who want to start using raspberry pi.
It is difficult and difficult to build an environment when you are usually developing or trying to do something. If the process is simple and easy, the speed and performance of the work can be good. I will try to explain the process of purchasing raspberry pie for the first time and building a development environment. If you have any questions or comments, please leave them in a reply.
2018년 따복공동체 활동 공유-과천 디지털 창작집단
사업명 : 소프트웨어 코딩캠프를 통한 메이커 양성 사업
사업기간 : 2018.3 ~ 2018.11
See Maker project Guide for your project
Air Cleaner 미세먼지 공기청정기 https://www.diymaker.net/48
Interaction Stuffed toy https://www.diymaker.net/46
Arduino Mega Sensor Board https://www.diymaker.net/51
☞ 원천징수란?
소득 또는 수입 금액을 지급하는 자(원천징수의무자)가 그 금액을 지급할 때, 상대방(원천납세의무자)이 내야 할 세금을 국가를 대신하여 징수하고 납부하는 조세 징수방법
☞ 원천징수 기간 : 강사료 지급월의 익월 10일까지
ex) 5월 강사료 지급분은 6월 10일까지 세금신고 및 납부 완료
☞ 강사료 원천징수세 구분
공동체 활동으로 인한 강사초빙의 경우 기타소득(비정기 일회성 강의에 대한 소득)
으로 구분됨
☞ 강사료 원천징수세율
기타소득 : 강사료 총액의 6.6%를 세금으로 납부(소득세 6%, 주민세 0.6%)
소프트박스(softbox) 제품 소개 & 퀵스타트 가이드
소프트박스 교육도구는 주변환경과 밀접한 7종의 센서입력부와 센서에서 얻은 데이터를 처리하는 제어통신부, 데이터를 분석하여 제어할 수 있는 5종의 구동출력부를 인쇄회로기판(PCB) 위에 견고하게 모아 제작한 피지컬 아두이노 소프트웨어 교육도구입니다.
소프트박스는 가장 기본적인 “아두이노 피지컬 소프트웨어 교육도구”로서 학생들과 일반인이 처음으로 소프트웨어를 배우기에 적합한 도구입니다. 기본 교육 과정을 마치면 수준에 따른 프로젝트를 진행하게 되는데 이러한 프로젝트를 통해 창의적인 아이디어를 소프트웨어로 구현하는 과정을 배우도록 하는 것이 바로 “프로젝트 실습에 따른 코딩교육”이며 프로젝트를 실행하기 위한 다양한 소스코드와 메이커 활동에 필요한 콘텐츠를 제공합니다.
- 모임계기 : 관문초등학교 좋은 아버지 모임 회원들이 중심이 되어 지역 내 S/W프로그래밍 활동을 하는 메이커(Maker) 공동체 구성하기로 함.
- 구성 : 메이커활동에 관심 있는 과천 거주 학생, 주민, 과천 근무 직장인 및 IT전문가
- 특징 : 지역주민이 중심이 되어 남녀노소, 연령을 구분하지 않고 정보기술에 대한 지식과 정보를 나누고 공유하는 공동체
- 목표 : 공동체 회원들이 정보통신, 사물인터넷, 오픈소스 소프트웨어, 오픈하드웨어, 코딩(소프트웨어 프로그래밍) 분야를 학습하고 필요한 소프트웨어 프로그래밍 교육을 통해 다양한 전자/제어 제품을 디자인하여 스스로 만드는 능력(메이커)을 갖추고 이를 공유하여 메이커문화 확산에 기여한다.
(내부 활동)
1. 회원들의 역량강화: S/W코딩 교육 및 연구
2. 메이커관련 단체 견학
3. 홈페이지 및 밴드로 메이커활동 및 코딩관련 정보 교류
4. 함께 메이커 활동을 실행하고 결과를 공유 전파
(외부 활동)
1. 마을공동체사업 진행: 관내 초중학생 00명 S/W코딩교육
2. 과천지역 웨더스테이션(기상관측소) 설치 및 운영
3. 관외 중학교 자유학기제 S/W 코딩교육과 특강 수행
4. 아두이노 소프트웨어 교육과 Maker 프로젝트 진행(스마트화분)
5. 평생학습 기관으로 평생학습 축제와 사회적 기업 한마당 행사 참여
Softbox arduino software education, softbox 소프트박스 제품소개서 봉조 김
피지컬 아두이노 소프트웨어 교육도구
피지컬 아두이노 소프트웨어 교육도구 소프트박스(softbox)
softbox 교육도구는 주변환경과 밀접한 7종의 센서입력부와 입력부를 처리하여 제어와 통신을 담당하는 제어통신부, 센서 입력을 읽고 분석하여 제어가 가능한 5종의 구동출력부를 인쇄회로기판(PCB) 위에 견고하게 모아 제작한 피지컬 아두이노 소프트웨어 교육도구입니다.
softbox는 가장 기본적인 “아두이노 피지컬 소프트웨어 교육도구”로서 학생들과 일반인이 처음으로 소프트웨어를 배우기에 적합한 도구입니다. 기본 교육 과정을 마치면 수준에 따른 프로젝트를 진행하게 되는데 이러한 프로젝트를 통해 창의적인 아이디어를 소프트웨어로 구현하는 과정을 배우도록 하는 것이 바로 “프로젝트 실습에 따른 코딩교육”이며 프로젝트를 실행하기 위한 다양한 소스코드와 메이커 활동에 필요한 콘텐츠를 제공합니다.
softbox 특징
•견고하게 제작되어 고장이 없고, 반복적인 사용이 가능
•점퍼선을 제거하고 모듈화 하여 소프트웨어 교육에 시간 집중
•아두이노 통합개발환경인 Sketch 환경에서 소프트웨어 교육
•블럭코딩을 지원하는 엔트리, mblock 환경에서 모든 입출력 제어 가능
•arduino UNO 보드와 환경이 동일하고 확장이 용이한 mega2560 사용
•센서입력부(7종), 구동출력부(5종), 제어통신부(2종) 3부분으로 구성
•USB 연결 케이블로 간단한 소프트웨어 교육환경 구성
•태블릿, 스마트폰을 사용하여 프로그래밍이 가능함(otg usb 케이블)
•연결선과 USB 통신 케이블로 간단하게 실습
•다양한 프로젝트 기반의 소프트웨어 교육 프로그램 지원
•메이커들의 창작활동을 돕는 프로그램 개발과 필요 부품 지원
•창의적인 아이디어를 즉시 테스트 가능
•단순한 융합 프로젝트를 즉시 실행 가능
디자인과 메이커 융합 프로젝트 - 반응하는 인형 만들기
반응하는 인형 제작 개요
사람과 반응하는 많은 로봇들이 있다. 사용자의 기분과 주변 상황에 반응하는 로봇들은 친근감이 있지만 재료와 동물 모양의 인형은 단순하고 쉽게 싫증나기도 한다. 로봇기능과 따뜻한 인형을 결합하여 사용자의 기분을 표시하고, 주변 상황을 이해하여 반응하는 인형을 메이커 프로젝트 실습을 통해 만들어 본다.
재료 - 나무, 아크릴, 천, 솜
전자부품 구성 – 조도센서, 소리센서, 인체감지센서, 스피커, OLED, 진동센서, 초음파센서, RGB LED1, RGB LED2
소프트웨어
- 센서를 사용해 주변을 인식하여 주변기기들을 제어하는 소프트웨어 입력
- 주변 상황에 따라 움직이거나 말하거나 전등을 켜는 소프트웨어 입력
- 원하는 기능을 창의적인 아이디어를 반영하여 직접 프로그래밍
한국정보화진흥원 (http://www.nia.or.kr/, NIA) 주죄하는 2018년 집합정보화교육 설명회가 홍익대학교 국제연수원에서 열렸다. 2일간 진행되는 일정에 1일차 오후 4시부터 두 시간동안 소프트웨어교육에 대한 전반적인 설명과 소프트웨어 교육 도구인 리코 컴퓨터 데모와 시연이다.
이날 진행된 행사는 전국 광역 자치단체에서 선정한 집합정보화교육기관 강사 대상의 역량 강화 교육이다. 내가 이해하는 집합 정보화 교육기관이란 정보로부터 소외된 계층을 교육하는 기관이라고 알고있다. 즉 장애인 기관, 소외 어르신 편의 기관, 다문화 가족 관련기관 등 사회에서 각종 정보화 혜택을 누리지 못하는 계층을 말한다. 국가는 이러한 계층의 정보화 격차 해소를 위해 부단히 노력한다. 특히 한국정보화진흥원의 각종 활동은 디지털 격차 해소, 국민 정보화 교육, 소외 계층의 디지털 교육, 무상 PC 스마트 테블릿 제공 등 많은 일을 수행한다.
마라톤 안전사고 예방 가이드- □ 최근 건강증진 차원에서 마라톤 및 달리기 붐이 조성되고, 금년 초 우리부에서 발간한 “2003년도 국민생활체육활동 참여 실태조사”결과 국민이 가장 선호하는 종목이 마라톤 으로 나타났습니다
□ 현재 각종 달리기대회 참가 동호인 수의 증가로 인한 각종 대회 개최 수는 연간 210회 정도이며, 체육단체가 아닌 기관․단체의 대회 개최도 계속 증가하는 추세입니다
□ 그러나 이러한 대회의 양적 성장에 비해 마라톤 행사 시 운동 상해 예방 조치는 미흡한 실정이므로 금번 우리부는 대회 주최 측과 참가자 측에 모두 유용한「마라톤 안전 사고 예방 가이드」안내서를 국민체육진흥공단 체육과학연구원과 스포츠의학 관계자의 도움으로 제작하게 되었습니다. 마라톤을 즐기는 동호인 및 대회 개최 관련 기관․단체에게 본 안내서가 도움이 되는 자료로 활용되기를 기대합니다
클라우드 컴퓨팅은 인터넷("클라우드")을 통해 서버, 저장소, 데이터베이스, 네트워킹, 소프트웨어, 분석 등의 컴퓨팅 서비스를 제공하는 것이다. 이러한 컴퓨팅 서비스를 제공하는 회사를 클라우드 공급자라고 하며, 사용자는 특정한 서비스(새로운 앱 및 서비스 만들기, 데이터 저장, 백업 및 복구, 웹 사이트 및 블로그 호스트, 오디오 및 비디오 스트리밍, 주문형 소프트웨어 제공, 데이터의 패턴을 분석하여 예측)를 이용한 만큼 만 비용을 지불하면 되는 방식이다. 클라우드 컴퓨팅은 기업에서 IT 리소스에 대해 생각하는 전통적인 방식에서 큰 변화를 이룬 것이다.
4차 산업혁명의 정수, 사물인터넷(Internet of Things)
김 봉 조 (주)휴인스 수석연구원, 디지털 창작집단(사) 대표
1. 제4차 산업혁명 중심은 사물인터넷
2. 제4차 산업혁명의 특징과 미래 사회의 변화
3. 사물인터넷에 기반한 산업구조 변화
4. 사물인터넷 시대의 주도권을 잡기 위한 방안
3. --33--20062006--0303--2727
Embedded AVR ProgrammingEmbedded AVR Programming
1-1 AVR의 개요
◈ AVR [ Alf(Bogen) Vergard(Wollen) Risc ]이란?
☞ ATMEL사에서 제작된 RISC(Reduced Instruction Set Computer) 구조의 저전력 CMOS 8-Bit 마이크로컨트롤러.
1] 1997년에 처음 발표한 8비트 제어용 마이크로프로세서로서, 이는 Alf-Egil Bogen과 Vegard Wollan의 진보된 RISC 기술을
기반되었다고 하여 첫 글자를 따서 AVR이라고 명명.
2] 대부분의 명령은 단일 클럭으로 실행하여 동작 속도를 혁신적으로 개선한 마이컴으로 임베디드 환경에 적합한 저전력 소모의 칩.
3] AVR RISC 구조는 CISC 마이크로컨트롤러보다 10배 이상의 빠른 속도로 프로그램 실행이 이루어지는 보다 편리한 코드 체계를
가지는 MCU.
4] ATMEL사의 장점인 플래시 메모리 기술과 접목시켜 칩 내에 프로그램 코드용으로 플래시 메모리를 내장하고 여기에 사용자
프로그램을 쉽게 다운로드 할 수 있는 ISP(In-System Programming) 방식을 적용함.
5] 위의 장점 때문에 늦게 출시되었음에도 불구하고 많은 기능과 높은 수행속도 인해 8051이나 PIC을 능가하는 인기를 단시간내에
얻게 되었고 앞으로도 많이 사용될 전망임.
6] AVR 시리즈는 지금도 활발하게 개발 중인 제품이기 때문에 어느 모델이 갑자기 단종되기도 하고 새로 출시되는 모델도 있다.
7] 현재는 ATtiny 및 ATmega 패밀리의 2가지 기본 모델 외 LCD 구동, 배터리관리, 조명제어, 모터제어 등과 같은 특수 응용분야의
모델이 점차로 강화되는 추세임.
4. --44--20062006--0303--2727
Embedded AVR ProgrammingEmbedded AVR Programming
1-2 AVR의 특징
⊙ RISC 구조를 가지고 있으며 대부분 단일 사이클 명령을 실행할 수 있음
⊙ 연산과 데이터 저장을 한 번에 할 수 있는 하버드 아키텍처(Harvard Architecture)를 가짐
⊙ 32개의 8비트 범용 레지스터를 가지는 레지스터 중심형 구조이며, 단순한 어드레싱 모드와 간결한 프로그램 코드 사이즈를
가지도록 하는 등 C언어 프로그램에 매우 유리하도록 설계됨
⊙ 반복 프로그램이 가능한 1KB에서 256KB까지의 내부 프로그램 메모리를 가짐. 프로그램은 직렬 프로그래밍 인터페이스 방식
(Serial Programming Interface)의 ISP(In-System Programming) 기능을 이용하여 쉽게 1,000번까지 재 프로그래밍 가능
⊙ 모델에 따라 64Byte에서 4KB까지 EEPROM을 내장하고 있어서 데이터 백업이 가능함. 100,000여 번 정도까지 반복 사용 가능
⊙ 모델에 따라 데이터 메모리로서 32바이트에서 8KB까지 비교적 용량이 큰 SRAM을 내장
⊙ 모델에 따라 병렬 I/O포트, 내장 시스템 클럭 발진기, 8비트 타이머/카운터, 16비트 타이머/카운터, 워치독 타이머, UART 또는
USART, SPI, TWI, I2C, 아날로그 비교기, 10비트 ADC, PWM출력, RTC, Brown Out Detector 등 매우 다양한 I/O 기능
⊙ 외부에 버스를 가지는 모델에서는 이 외부 시스템 버스를 이용하여 데이터 메모리 또는 I/O 디바이스를 확장 가능
⊙ 다양한 인터럽트 소스와 처리 기능
⊙ 여러 가지의 파워절약 모드
⊙ 다양한 응용 분야에 적합한 모델을 선택적으로 사용할 수 있도록 기능 및 성능에 따라 ATtiny, AT90, ATmega 등 3가지 패밀리
5. --55--20062006--0303--2727
Embedded AVR ProgrammingEmbedded AVR Programming
1-3 AVR의 종류
① tinyAVRtinyAVR ATtinyXXATtinyXX ( 1( 1 -- 4kB )4kB )
▶ 대량으로 생산되는 간단한 응용분야에 사용(가격이 낮고 기능이나 성능도 낮음).
▶ 핀 수가 8핀에서 28핀 정도이며 외형이 작음.
▶ 내부 발진기를 내장하는 모델도 있음.
② classicAVRclassicAVR AT90XXXX ( 1AT90XXXX ( 1 -- 8kB )8kB )
▶ 비교적 큰 512바이트 이하 정도의 EEPROM과 SRAM을 내장.
▶ 핀 수가 20핀에서 40핀 정도.
▶ 특징이나 장점이 뚜렷하지 않아 시장에서 대부분의 모델 단종됨.
③ megaAVRmegaAVR ATmegaXXXATmegaXXX ( 8( 8 -- 256kB )256kB )
▶ 가장 규모가 크고 높은 응용 분야에서 사용(가격이 높고 기능이나 성능도 높음).
▶ 핀 수가 28핀에서 100핀 정도.
▶ 최근 출시되는 모델들은 20MHz 클럭에서 20MIPS의 명령 처리속도를 가짐.
▶ 플래시 메모리의 용량에 따라 모델이 ATmega8, 16, 32, 64, 128, 256 등으로 정착됨.
7. --77--20062006--0303--2727
Embedded AVR ProgrammingEmbedded AVR Programming
2-1 AVR의 개발 과정
☞ AVR 마이컴으로 개발하는 데 필요한 S/W와 H/W의 툴의 개발 환경 구축.
시스템 사양 설정
하드웨어 설계
프로그램 소스 작성
오브젝트, 헥사 파일 생성
시뮬레이션, 에뮬레이션
디바이스에 직접 프로그래밍
실장 테스트
개발 완료
마이컴 사용 결정
시스템 사양에 맞는 부품 선정 및 회로 설계
에디터 사용
어셈블러, C 컴파일러 이용
시뮬레이션, 에뮬레이션 이용하여 디버깅
프로그래머를 이용하여 헥사 파일 라이팅
타겟보드 이용하여 테스트
개발 완료
마이컴 개발 과정
8. --88--20062006--0303--2727
Embedded AVR ProgrammingEmbedded AVR Programming
2-2 AVR의 개발 환경 구축
① SDK(StarterupSDK(Starterup Development Kit)Development Kit)
▶ ATMEL STK500시리즈, Kanda STK200/300.
▶ AVRMALL AVR Board.
▶ 타사 AVR Development Board.
② Assembler & CompilerAssembler & Compiler
▶ AVR STUDIO, IAR Assembler 등.
▶ AVR-GCC의 기반의 AVR-EDIT(국내), WINAVR(외국) 등의 무료 컴파일러.
▶ IAR, CodevisionAVR, Imagecraft(ICC) 등의 상용컴파일러.
▶ BASCOM-AVR, FastAVR의 Basic 컴파일러.
③ ProgrammerProgrammer
▶ Parallel – STK200+/300(Ponyprog2000용으로 많이 사용).
▶ Serial – STK500/AVRISP(AVR STUDIO), AVRprog, ATJTAGICE 외.
▶ USB – AVRISP mk2(AVR STUDIO), USBISP 외.
④ Emulator & SimulatorEmulator & Simulator
▶ Emulator – ATJTAGICE, ATJTAGICE mkII, ATICE10/200/30/40/50 외.
▶ Simulator – AVR STUDIO3, AVR STUDIO4, IAR C-SPY Debugger
13. --1313--20062006--0303--2727
Embedded AVR ProgrammingEmbedded AVR Programming
2-2 AVR의 개발 환경 구축
③ ProgrammerProgrammer
▶ Parallel – STK200+/300(Ponyprog2000용으로 많이 사용)
▶ Serial – STK500/AVRISP(AVR STUDIO), AVRprog, ATJTAGICE 외
▶ USB – AVRISP mk2(AVR STUDIO), USBISP 외
14. --1414--20062006--0303--2727
Embedded AVR ProgrammingEmbedded AVR Programming
This is ISP Flash and EEPROM
Your device sits in the application. It is clocked from
the application clock, and VCC can be as low as 2.7V.
Now, with four logical signals + Ground, you can
REPROGRAM THE FLASH AND THE EEPROM
6-wire
serial programming
interface
GND65/RESET
MOSI43SCK
VCC21MISO
15. --1515--20062006--0303--2727
Embedded AVR ProgrammingEmbedded AVR Programming
2-2 AVR의 개발 환경 구축
④ Emulator & SimulatorEmulator & Simulator
▶ Emulator – ATJTAGICE, ATJTAGICE mkII, ATICE10/200/30/40/50 외
▶ Simulator – AVR STUDIO3, AVR STUDIO4, IAR C-SPY Debugger
20. --2020--20062006--0303--2727
Embedded AVR ProgrammingEmbedded AVR Programming
3-4 ATMEGA128의 특징 1
⊙ 고성능이면서 저소비전력형의 8비트 마이컴
⊙ RISC구조로 16MHz에서 16MIPS의 명령처리 속도
⊙ 133종의 명령 세트(대부분 1클럭 사이클에 실행)
⊙ 32개의 8비트 범용 레지스터
⊙ 128KB의 프로그램용 사용자 플래시 메모리
⊙ 4KB의 데이터 저장용 EEPROM
⊙ 4KB의 SRAM
⊙ 64KB의 외부 메모리 인터페이스
⊙ 디버그 기능을 수행하기 위하여 JTAG 인터페이스
⊙ 다양한 클럭 지원(내부RC, 외부 클럭, 외부RC 클럭, 외부 OSC 클럭)
21. --2121--20062006--0303--2727
Embedded AVR ProgrammingEmbedded AVR Programming
3-4 ATMEGA128의 특징 2
⊙ 총 53개의 I/O포트(PORTA~PORTG)
⊙ 2개의 8비트 타이머/카운터(0,2), 2개의 16비트 타이머/카운터(1,3)
⊙ 2개의 8비트 PWM 출력, 6개의 2~16비트 PWM 출력
⊙ 8채널 10비트 A/D컨버터
⊙ 2개의 전이중 통신이 가능한 USART 직렬통신 포트
⊙ SPI 및 TWI(I2C) 직렬통신 포트
⊙ 아날로크 비교기
⊙ 리셋 벡터와 8개의 외부 인터럽트를 포함하여 총 35개의 인터럽트 벡터
⊙ 슬립 모드로서 6개의 파워 절약 모드
⊙ ATMEGA103 호환 모드
⊙ 64핀 TQFP 또는 64핀 MLF 패키지
⊙ 동작전원 및 시스템 클럭
ATMEGA128L(2.7~5.5V, 0~8MHz)
ATMEGA128(4.5~5.5V, 0~16MHz)
22. --2222--20062006--0303--2727
Embedded AVR ProgrammingEmbedded AVR Programming
3-5 ATMEGA128의 메모리 구조 1
① 프로그램프로그램 메모리메모리(In(In--System Reprogrammable Flash Program Memory)System Reprogrammable Flash Program Memory)
▶ 내부 128KB의 플래시 메모리(64K*16의 용량).
▶ Boot Flash Section과 Application Flash Section.
▶ 플래시 메모리에 프로그램을 기입하는 방법에는 SPI방식, JTAG을 사용한 방법, 병렬 프로그래밍 방법.
23. --2323--20062006--0303--2727
Embedded AVR ProgrammingEmbedded AVR Programming
3-5 ATMEGA128의 메모리 구조 2
② 데이터데이터 메모리메모리(Data Memory)(Data Memory)
▶ I/O 레지스터
ATMEGA128에 내장된 각종 I/O 디바이스들을 제어하기 위한 레지스터 (총 64개, 0x0020~0x005F)
▶ 확장 I/O 레지스터
기존의 AVR 도델들에 비하여 ATMEGA128에 새로 추가된 각종
I/O 디바이스들을 제어하기 위한 레지스터
(총 160개, 0x0060~0x00FF)
▶ 내부 SRAM
0x0100~0x10FF번지의 4KB 내부 데이터 메모리
(2클럭 사이클의 엑세스 타임)
▶ 외부 데이터 메모리
0x1100~0xFFFF 번지의 약 60KB의 외부 데이터 메모리
(사용자가 필요에 의하여 사용하거나 I/O확장 영역으로 사용)
▶ 4KB의 비휘발성 데이터 메모리인 EEPROM
25. --2525--20062006--0303--2727
Embedded AVR ProgrammingEmbedded AVR Programming
3-7 ATMEGA128의 클럭 1
☞ ATMEGA128에서 사용할 수 있는 클럭 소스는 모두 5가지가 있는데, CKSEL3~0로 설정
① External Crystal/Ceramic Resonator
외부에 크리스탈 또는 세라믹 레조네이터를 사용하는 경우 XTAL1 입력단자 및 XTAL2 출력단자에 접속(1111~1010)
**CKOPT – ‘0’이면 발진회로의 출력전압이 커짐, 노이즈가 심한 환경이나 XTAL2단자가 또다른 회로를 구동할 때
‘1’이면 발진회로의 출력전압이 작아짐, 소비전력이 감소
**SUT1~0 : 기동시간(Start-Up Time)을 설정
0000External Clock
0100~0001Calibrated Internal RC Oscillator
1000~0101External RC Oscillator
1001External Low-frequency Crystal
1111~1010External Crystal/Ceramic Resonator
CKSEL3~0클럭 소스
26. --2626--20062006--0303--2727
Embedded AVR ProgrammingEmbedded AVR Programming
3-7 ATMEGA128의 클럭 2
② External Low-frequency Crystal (1001)
외부에 32.768kHz의 낮은 주파수 크리스탈을 사용하는 경우
③ External RC Oscillator(1000~0101)
정밀한 타이밍이 요구되지 않는 용도로 외부에 RC 소자를 접속한 발진회로를 사용
f = 1/(3RC) 단, C는 22pF 이상
0.1 - 0.90101
0.9 - 3.00110
3.0 - 8.00111
8.0 - 12.01000
Frequency Range (MHz)CKSEL3~0
27. --2727--20062006--0303--2727
Embedded AVR ProgrammingEmbedded AVR Programming
3-7 ATMEGA128의 클럭 3
④ Calibrated Internal RC Oscillator(0100~0001)
공장 출하시 내부클럭 1MHz로 설정되어 있음
** OSCCAL 레지스터를 사용하여 클럭 주파수를 정확하게 조정함
⑤ External Clock(0000)
외부 다른 보드(8051보드,PIC보드)등의 클럭을 가져와 XTAL1단자에 연결
단, 이때는 두 보드간 GND단자는 연결하며 XTAL2는 사용하지 않음
1.00001
2.00010
4.00011
8.00100
Frequency Range (MHz)CKSEL3~0
28. --2828--20062006--0303--2727
Embedded AVR ProgrammingEmbedded AVR Programming
3-8 ATMEGA128의 시스템 리셋
☞ ATMEGA128의 리셋 소스는 5가지가 있음
① Power-on Reset
전원전압 VCC가 Power-on Reset Threshold(VPOT) 이하일 때 MCU가 리셋
② External Reset
/RESET 핀에 지정된 최소폭(1.5 us) 이상의 L레벨 펄스가 입력되어 MCU가 리셋
③ Watchdog Reset
워치독 타이머에서 지정된 주기 이상이 경과되어 워치독 기능이 동작함으로써 MCU가 리셋
④ Brown-out Reset
전원전압 VCC가 지정된 시간(2 us) 이상동안 Brown-out Reset Threshold(VBOT) 이하로 떨어져
Brown-out Detector가 동작함으로써 MCU가 리셋
⑤ JTAG AVR Reset
JTAG 시스템에서 리셋 레지스터에 논리값 1을 저장시키고 이에 관련된 하드웨어가 동작함으로써 MCU가 리셋