SlideShare a Scribd company logo
1 of 14
사칙연산 계산기
SUM Project Team
목차
1. 팀원
2. 소개
3. 기간 및 목표
4. 개발 방향
5. 발생한 문제점 및 해결 방안
6. 시연
1. 팀원
SUM Project Team
201001587 서동현
계산기 알고리즘 작성
디바이스 드라이버 총괄 통합
계산기 알고리즘과 디바이스 드라이버 통합
201001637 전지성
CLCD 연구 및 테스트
Key Button 연구 및 테스트
201001647 지강일
Dot Matrix 연구 및 테스트
Button 연구 및 테스트
201001653 최보영
FND 연구 및 테스트
LED 연구 및 테스트
2. 소개
2. 소개
3. 기간 및 목표
2014. 5. 23. ~ 2014. 6. 13. (약 3주)
1주차 설계 및 디바이스 드라이버 코드 분석 5/23, 5/27, 5/28, 5/30
2주차
계산기 알고리즘 작성 및 디바이스 드라이버 코드 수
정
6/2, 6/3, 6/5
3주차 계산기 알고리즘과 디바이스 드라이버 코드를 통합 6/9, 6/10, 6/11
3. 기간 및 목표
clcd
fnd
Key button
Dot
Led
btn
4. 개발 방향
ListBaseStack : 스택의 활용 부분
InfixToPostfix: 후위 표기법의 수식으로 변환
PostCalculator : 후위 표기법의 수식을 계산
InfixCalculaotr: 중위 표기법의 수식을 계산
Calculator : 계산기 알고리즘의 응용 부분
HisOpen, HisSave,
HisNum : 계산기의 히스토리 부분
계산기 알고리즘
Clcd
fnd
Key button
Dot
Led
btn
디바이스 드라이버
5. 발생한 문제점 및 해결 방안
History 기능 struct history{
int id;
char exp[E_MAX_N];
char res[R_MAX_N];
};
if((fread(&record,sizeof(record),1,fp)>0)&&(record.id!=0))
구조체
파일 포인터
History.txt
1 128+(10+28) 166.0
2 30+50/10 35.0
3 99+1-50*10 -400.0
4 4/4*4/4 1
5. 발생한 문제점 및 해결 방안
소수점 + 한 자리 숫자 이상의 계산
double EvalRPNExp(char exp[LEN]){
·
·
else if(flag_d==1&&flag_dot!=1){
Double digit=SPop(&stack);
SPush(&stack,(digit*10)+tok-
'0');
}
else if(flag_d==1&&flag_dot==1){
double digit=SPop(&stack);
double dot=tok-'0';
for(j=0;j<cnt_dot;j++){
dot/=10;
}
SPush(&stack,digit+dot);
}
5. 발생한 문제점 및 해결 방안
CLCD 두 줄 따로 출력하기
static void string_out(char*str){
·
·
if(*s=='n'){
udelay(100);
*((volatileunsignedchar*)(mem_base_wr))=0xC0;
continue;
}
5. 발생한 문제점 및 해결 방안
Button과 Key Button의 충돌
int main(int ac,char *av[]){
·
·
/* Init Thread */
pthread_mutex_init(&mutx,NULL);
pthread_create(&t_id,NULL,handle_btn,
(void*)&btnFd);
·
·
void * handle_btn(void *arg){
switch(buf){
/* Exit Key */
case1:
pthread_mutex_lock(&mutx);
btn_flag[0]=1;
pthread_mutex_unlock(&mutx);
break;
6. 시연
Calculater with pxa - 270

More Related Content

Viewers also liked

문자 단위의 Neural Machine Translation
문자 단위의 Neural Machine Translation문자 단위의 Neural Machine Translation
문자 단위의 Neural Machine TranslationNAVER LABS
 
악평생성기 (Bad Comment Generator using RNN) _ 송치성
악평생성기 (Bad Comment Generator using RNN) _ 송치성악평생성기 (Bad Comment Generator using RNN) _ 송치성
악평생성기 (Bad Comment Generator using RNN) _ 송치성Chisung Song
 
Machine learning in spam
Machine learning in spamMachine learning in spam
Machine learning in spamTae Young Lee
 
Recurrent Neural Network tutorial (2nd)
Recurrent Neural Network tutorial (2nd) Recurrent Neural Network tutorial (2nd)
Recurrent Neural Network tutorial (2nd) 신동 강
 
코드로 인프라 관리하기 - 자동화 툴 소개
코드로 인프라 관리하기 - 자동화 툴 소개코드로 인프라 관리하기 - 자동화 툴 소개
코드로 인프라 관리하기 - 자동화 툴 소개태준 문
 
Netflow Analysis using Elastic Stack - 조인중
Netflow Analysis using Elastic Stack - 조인중Netflow Analysis using Elastic Stack - 조인중
Netflow Analysis using Elastic Stack - 조인중NAVER D2
 
엘라스틱서치 이해하기 20160613
엘라스틱서치 이해하기 20160613엘라스틱서치 이해하기 20160613
엘라스틱서치 이해하기 20160613Yong Joon Moon
 
엘라스틱서치 적합성 이해하기 20160630
엘라스틱서치 적합성 이해하기 20160630엘라스틱서치 적합성 이해하기 20160630
엘라스틱서치 적합성 이해하기 20160630Yong Joon Moon
 
Elastic v5.0.0 Update uptoalpha3 v0.2 - 김종민
Elastic v5.0.0 Update uptoalpha3 v0.2 - 김종민Elastic v5.0.0 Update uptoalpha3 v0.2 - 김종민
Elastic v5.0.0 Update uptoalpha3 v0.2 - 김종민NAVER D2
 
파이썬 Numpy 선형대수 이해하기
파이썬 Numpy 선형대수 이해하기파이썬 Numpy 선형대수 이해하기
파이썬 Numpy 선형대수 이해하기Yong Joon Moon
 
[253] apache ni fi
[253] apache ni fi[253] apache ni fi
[253] apache ni fiNAVER D2
 
[223] h base consistent secondary indexing
[223] h base consistent secondary indexing[223] h base consistent secondary indexing
[223] h base consistent secondary indexingNAVER D2
 
[131] packetbeat과 elasticsearch
[131] packetbeat과 elasticsearch[131] packetbeat과 elasticsearch
[131] packetbeat과 elasticsearchNAVER D2
 
[D2 campus seminar]웹브라우저 엔진
[D2 campus seminar]웹브라우저 엔진[D2 campus seminar]웹브라우저 엔진
[D2 campus seminar]웹브라우저 엔진NAVER D2
 
[243] turning data into value
[243] turning data into value[243] turning data into value
[243] turning data into valueNAVER D2
 
[232] 수퍼컴퓨팅과 데이터 어낼리틱스
[232] 수퍼컴퓨팅과 데이터 어낼리틱스[232] 수퍼컴퓨팅과 데이터 어낼리틱스
[232] 수퍼컴퓨팅과 데이터 어낼리틱스NAVER D2
 
[153] apache reef
[153] apache reef[153] apache reef
[153] apache reefNAVER D2
 
[124] mit cheetah 로봇의 탄생
[124] mit cheetah 로봇의 탄생[124] mit cheetah 로봇의 탄생
[124] mit cheetah 로봇의 탄생NAVER D2
 
[263] s2graph large-scale-graph-database-with-hbase-2
[263] s2graph large-scale-graph-database-with-hbase-2[263] s2graph large-scale-graph-database-with-hbase-2
[263] s2graph large-scale-graph-database-with-hbase-2NAVER D2
 

Viewers also liked (20)

문자 단위의 Neural Machine Translation
문자 단위의 Neural Machine Translation문자 단위의 Neural Machine Translation
문자 단위의 Neural Machine Translation
 
악평생성기 (Bad Comment Generator using RNN) _ 송치성
악평생성기 (Bad Comment Generator using RNN) _ 송치성악평생성기 (Bad Comment Generator using RNN) _ 송치성
악평생성기 (Bad Comment Generator using RNN) _ 송치성
 
Machine learning in spam
Machine learning in spamMachine learning in spam
Machine learning in spam
 
Recurrent Neural Network tutorial (2nd)
Recurrent Neural Network tutorial (2nd) Recurrent Neural Network tutorial (2nd)
Recurrent Neural Network tutorial (2nd)
 
코드로 인프라 관리하기 - 자동화 툴 소개
코드로 인프라 관리하기 - 자동화 툴 소개코드로 인프라 관리하기 - 자동화 툴 소개
코드로 인프라 관리하기 - 자동화 툴 소개
 
Netflow Analysis using Elastic Stack - 조인중
Netflow Analysis using Elastic Stack - 조인중Netflow Analysis using Elastic Stack - 조인중
Netflow Analysis using Elastic Stack - 조인중
 
엘라스틱서치 이해하기 20160613
엘라스틱서치 이해하기 20160613엘라스틱서치 이해하기 20160613
엘라스틱서치 이해하기 20160613
 
엘라스틱서치 적합성 이해하기 20160630
엘라스틱서치 적합성 이해하기 20160630엘라스틱서치 적합성 이해하기 20160630
엘라스틱서치 적합성 이해하기 20160630
 
Elastic v5.0.0 Update uptoalpha3 v0.2 - 김종민
Elastic v5.0.0 Update uptoalpha3 v0.2 - 김종민Elastic v5.0.0 Update uptoalpha3 v0.2 - 김종민
Elastic v5.0.0 Update uptoalpha3 v0.2 - 김종민
 
파이썬 Numpy 선형대수 이해하기
파이썬 Numpy 선형대수 이해하기파이썬 Numpy 선형대수 이해하기
파이썬 Numpy 선형대수 이해하기
 
[253] apache ni fi
[253] apache ni fi[253] apache ni fi
[253] apache ni fi
 
[223] h base consistent secondary indexing
[223] h base consistent secondary indexing[223] h base consistent secondary indexing
[223] h base consistent secondary indexing
 
[131] packetbeat과 elasticsearch
[131] packetbeat과 elasticsearch[131] packetbeat과 elasticsearch
[131] packetbeat과 elasticsearch
 
[D2 campus seminar]웹브라우저 엔진
[D2 campus seminar]웹브라우저 엔진[D2 campus seminar]웹브라우저 엔진
[D2 campus seminar]웹브라우저 엔진
 
[243] turning data into value
[243] turning data into value[243] turning data into value
[243] turning data into value
 
[232] 수퍼컴퓨팅과 데이터 어낼리틱스
[232] 수퍼컴퓨팅과 데이터 어낼리틱스[232] 수퍼컴퓨팅과 데이터 어낼리틱스
[232] 수퍼컴퓨팅과 데이터 어낼리틱스
 
스프링컨트롤러예외처리,@ExceptionHandler, @ControllerAdvice
스프링컨트롤러예외처리,@ExceptionHandler, @ControllerAdvice스프링컨트롤러예외처리,@ExceptionHandler, @ControllerAdvice
스프링컨트롤러예외처리,@ExceptionHandler, @ControllerAdvice
 
[153] apache reef
[153] apache reef[153] apache reef
[153] apache reef
 
[124] mit cheetah 로봇의 탄생
[124] mit cheetah 로봇의 탄생[124] mit cheetah 로봇의 탄생
[124] mit cheetah 로봇의 탄생
 
[263] s2graph large-scale-graph-database-with-hbase-2
[263] s2graph large-scale-graph-database-with-hbase-2[263] s2graph large-scale-graph-database-with-hbase-2
[263] s2graph large-scale-graph-database-with-hbase-2
 

Similar to Calculater with pxa - 270

(편집-테스트카페 발표자료) 1인 QA 수행사례로 발표한 자료 (W프로젝트 사례)
(편집-테스트카페 발표자료) 1인 QA 수행사례로 발표한 자료 (W프로젝트 사례)(편집-테스트카페 발표자료) 1인 QA 수행사례로 발표한 자료 (W프로젝트 사례)
(편집-테스트카페 발표자료) 1인 QA 수행사례로 발표한 자료 (W프로젝트 사례)SangIn Choung
 
Futsal Manager 프로젝트(소프트웨어 마에스트로 2차 최종발표)
Futsal Manager 프로젝트(소프트웨어 마에스트로 2차 최종발표)Futsal Manager 프로젝트(소프트웨어 마에스트로 2차 최종발표)
Futsal Manager 프로젝트(소프트웨어 마에스트로 2차 최종발표)hogyun yu
 
발표자료 1인qa로살아남는6가지방법
발표자료 1인qa로살아남는6가지방법발표자료 1인qa로살아남는6가지방법
발표자료 1인qa로살아남는6가지방법SangIn Choung
 
투비웨어 AgitarOne Junit 단위테스트자동화 솔루션소개_201608_v1.2
투비웨어 AgitarOne Junit 단위테스트자동화 솔루션소개_201608_v1.2투비웨어 AgitarOne Junit 단위테스트자동화 솔루션소개_201608_v1.2
투비웨어 AgitarOne Junit 단위테스트자동화 솔루션소개_201608_v1.2tobeware
 
단위테스트자동화지원도구 임성현 최종
단위테스트자동화지원도구 임성현 최종단위테스트자동화지원도구 임성현 최종
단위테스트자동화지원도구 임성현 최종guest7178884
 
테스트수행사례 W통합보안솔루션
테스트수행사례 W통합보안솔루션테스트수행사례 W통합보안솔루션
테스트수행사례 W통합보안솔루션SangIn Choung
 
학교에서는 배울 수 없는 스타트업 엔지니어링 (연세대 특강)
학교에서는 배울 수 없는 스타트업 엔지니어링 (연세대 특강)학교에서는 배울 수 없는 스타트업 엔지니어링 (연세대 특강)
학교에서는 배울 수 없는 스타트업 엔지니어링 (연세대 특강)Lab80
 
midas NFX catalog 2014
midas NFX catalog 2014midas NFX catalog 2014
midas NFX catalog 2014midasnfx
 
Tr#3 5) 임성현 책임
Tr#3 5) 임성현 책임Tr#3 5) 임성현 책임
Tr#3 5) 임성현 책임Lim SungHyun
 
A.I.S팀_산학프로젝트챌린지 (2).pptx
A.I.S팀_산학프로젝트챌린지 (2).pptxA.I.S팀_산학프로젝트챌린지 (2).pptx
A.I.S팀_산학프로젝트챌린지 (2).pptxssuser0e717a
 
애자일 게임 개발: 현실 세계의 혼돈을 다루는 법 (Agile Game Development: Dealing With Chaos In Th...
애자일 게임 개발: 현실 세계의 혼돈을 다루는 법 (Agile Game Development: Dealing With Chaos In Th...애자일 게임 개발: 현실 세계의 혼돈을 다루는 법 (Agile Game Development: Dealing With Chaos In Th...
애자일 게임 개발: 현실 세계의 혼돈을 다루는 법 (Agile Game Development: Dealing With Chaos In Th...Kay Kim
 
테스트 자동화와 TDD(테스트 주도 개발방법론)
테스트 자동화와 TDD(테스트 주도 개발방법론)테스트 자동화와 TDD(테스트 주도 개발방법론)
테스트 자동화와 TDD(테스트 주도 개발방법론)KH Park (박경훈)
 
[Web Agency] Project Process Standard Guide
[Web Agency] Project Process Standard Guide[Web Agency] Project Process Standard Guide
[Web Agency] Project Process Standard GuideSang Beom (Chris) Roh
 
캡스톤설계1(강의계획서)2013-1
캡스톤설계1(강의계획서)2013-1캡스톤설계1(강의계획서)2013-1
캡스톤설계1(강의계획서)2013-1Yong Heui Cho
 
Requirements Analysis & its' Faults Prevention
Requirements Analysis & its' Faults PreventionRequirements Analysis & its' Faults Prevention
Requirements Analysis & its' Faults PreventionCHOLHO JONG
 
음성메신저 Hay 개발 후기
음성메신저 Hay 개발 후기음성메신저 Hay 개발 후기
음성메신저 Hay 개발 후기김 태우
 
발표 Signal lights-정남기
발표 Signal lights-정남기발표 Signal lights-정남기
발표 Signal lights-정남기Namkee Chung
 
테스트자동화와 TDD
테스트자동화와 TDD테스트자동화와 TDD
테스트자동화와 TDDSunghyouk Bae
 

Similar to Calculater with pxa - 270 (20)

Custom assert
Custom assertCustom assert
Custom assert
 
(편집-테스트카페 발표자료) 1인 QA 수행사례로 발표한 자료 (W프로젝트 사례)
(편집-테스트카페 발표자료) 1인 QA 수행사례로 발표한 자료 (W프로젝트 사례)(편집-테스트카페 발표자료) 1인 QA 수행사례로 발표한 자료 (W프로젝트 사례)
(편집-테스트카페 발표자료) 1인 QA 수행사례로 발표한 자료 (W프로젝트 사례)
 
Futsal Manager 프로젝트(소프트웨어 마에스트로 2차 최종발표)
Futsal Manager 프로젝트(소프트웨어 마에스트로 2차 최종발표)Futsal Manager 프로젝트(소프트웨어 마에스트로 2차 최종발표)
Futsal Manager 프로젝트(소프트웨어 마에스트로 2차 최종발표)
 
발표자료 1인qa로살아남는6가지방법
발표자료 1인qa로살아남는6가지방법발표자료 1인qa로살아남는6가지방법
발표자료 1인qa로살아남는6가지방법
 
투비웨어 AgitarOne Junit 단위테스트자동화 솔루션소개_201608_v1.2
투비웨어 AgitarOne Junit 단위테스트자동화 솔루션소개_201608_v1.2투비웨어 AgitarOne Junit 단위테스트자동화 솔루션소개_201608_v1.2
투비웨어 AgitarOne Junit 단위테스트자동화 솔루션소개_201608_v1.2
 
단위테스트자동화지원도구 임성현 최종
단위테스트자동화지원도구 임성현 최종단위테스트자동화지원도구 임성현 최종
단위테스트자동화지원도구 임성현 최종
 
발표원고
발표원고발표원고
발표원고
 
테스트수행사례 W통합보안솔루션
테스트수행사례 W통합보안솔루션테스트수행사례 W통합보안솔루션
테스트수행사례 W통합보안솔루션
 
학교에서는 배울 수 없는 스타트업 엔지니어링 (연세대 특강)
학교에서는 배울 수 없는 스타트업 엔지니어링 (연세대 특강)학교에서는 배울 수 없는 스타트업 엔지니어링 (연세대 특강)
학교에서는 배울 수 없는 스타트업 엔지니어링 (연세대 특강)
 
midas NFX catalog 2014
midas NFX catalog 2014midas NFX catalog 2014
midas NFX catalog 2014
 
Tr#3 5) 임성현 책임
Tr#3 5) 임성현 책임Tr#3 5) 임성현 책임
Tr#3 5) 임성현 책임
 
A.I.S팀_산학프로젝트챌린지 (2).pptx
A.I.S팀_산학프로젝트챌린지 (2).pptxA.I.S팀_산학프로젝트챌린지 (2).pptx
A.I.S팀_산학프로젝트챌린지 (2).pptx
 
애자일 게임 개발: 현실 세계의 혼돈을 다루는 법 (Agile Game Development: Dealing With Chaos In Th...
애자일 게임 개발: 현실 세계의 혼돈을 다루는 법 (Agile Game Development: Dealing With Chaos In Th...애자일 게임 개발: 현실 세계의 혼돈을 다루는 법 (Agile Game Development: Dealing With Chaos In Th...
애자일 게임 개발: 현실 세계의 혼돈을 다루는 법 (Agile Game Development: Dealing With Chaos In Th...
 
테스트 자동화와 TDD(테스트 주도 개발방법론)
테스트 자동화와 TDD(테스트 주도 개발방법론)테스트 자동화와 TDD(테스트 주도 개발방법론)
테스트 자동화와 TDD(테스트 주도 개발방법론)
 
[Web Agency] Project Process Standard Guide
[Web Agency] Project Process Standard Guide[Web Agency] Project Process Standard Guide
[Web Agency] Project Process Standard Guide
 
캡스톤설계1(강의계획서)2013-1
캡스톤설계1(강의계획서)2013-1캡스톤설계1(강의계획서)2013-1
캡스톤설계1(강의계획서)2013-1
 
Requirements Analysis & its' Faults Prevention
Requirements Analysis & its' Faults PreventionRequirements Analysis & its' Faults Prevention
Requirements Analysis & its' Faults Prevention
 
음성메신저 Hay 개발 후기
음성메신저 Hay 개발 후기음성메신저 Hay 개발 후기
음성메신저 Hay 개발 후기
 
발표 Signal lights-정남기
발표 Signal lights-정남기발표 Signal lights-정남기
발표 Signal lights-정남기
 
테스트자동화와 TDD
테스트자동화와 TDD테스트자동화와 TDD
테스트자동화와 TDD
 

Calculater with pxa - 270

  • 2. 목차 1. 팀원 2. 소개 3. 기간 및 목표 4. 개발 방향 5. 발생한 문제점 및 해결 방안 6. 시연
  • 3. 1. 팀원 SUM Project Team 201001587 서동현 계산기 알고리즘 작성 디바이스 드라이버 총괄 통합 계산기 알고리즘과 디바이스 드라이버 통합 201001637 전지성 CLCD 연구 및 테스트 Key Button 연구 및 테스트 201001647 지강일 Dot Matrix 연구 및 테스트 Button 연구 및 테스트 201001653 최보영 FND 연구 및 테스트 LED 연구 및 테스트
  • 6. 3. 기간 및 목표 2014. 5. 23. ~ 2014. 6. 13. (약 3주) 1주차 설계 및 디바이스 드라이버 코드 분석 5/23, 5/27, 5/28, 5/30 2주차 계산기 알고리즘 작성 및 디바이스 드라이버 코드 수 정 6/2, 6/3, 6/5 3주차 계산기 알고리즘과 디바이스 드라이버 코드를 통합 6/9, 6/10, 6/11
  • 7. 3. 기간 및 목표 clcd fnd Key button Dot Led btn
  • 8. 4. 개발 방향 ListBaseStack : 스택의 활용 부분 InfixToPostfix: 후위 표기법의 수식으로 변환 PostCalculator : 후위 표기법의 수식을 계산 InfixCalculaotr: 중위 표기법의 수식을 계산 Calculator : 계산기 알고리즘의 응용 부분 HisOpen, HisSave, HisNum : 계산기의 히스토리 부분 계산기 알고리즘 Clcd fnd Key button Dot Led btn 디바이스 드라이버
  • 9. 5. 발생한 문제점 및 해결 방안 History 기능 struct history{ int id; char exp[E_MAX_N]; char res[R_MAX_N]; }; if((fread(&record,sizeof(record),1,fp)>0)&&(record.id!=0)) 구조체 파일 포인터 History.txt 1 128+(10+28) 166.0 2 30+50/10 35.0 3 99+1-50*10 -400.0 4 4/4*4/4 1
  • 10. 5. 발생한 문제점 및 해결 방안 소수점 + 한 자리 숫자 이상의 계산 double EvalRPNExp(char exp[LEN]){ · · else if(flag_d==1&&flag_dot!=1){ Double digit=SPop(&stack); SPush(&stack,(digit*10)+tok- '0'); } else if(flag_d==1&&flag_dot==1){ double digit=SPop(&stack); double dot=tok-'0'; for(j=0;j<cnt_dot;j++){ dot/=10; } SPush(&stack,digit+dot); }
  • 11. 5. 발생한 문제점 및 해결 방안 CLCD 두 줄 따로 출력하기 static void string_out(char*str){ · · if(*s=='n'){ udelay(100); *((volatileunsignedchar*)(mem_base_wr))=0xC0; continue; }
  • 12. 5. 발생한 문제점 및 해결 방안 Button과 Key Button의 충돌 int main(int ac,char *av[]){ · · /* Init Thread */ pthread_mutex_init(&mutx,NULL); pthread_create(&t_id,NULL,handle_btn, (void*)&btnFd); · · void * handle_btn(void *arg){ switch(buf){ /* Exit Key */ case1: pthread_mutex_lock(&mutx); btn_flag[0]=1; pthread_mutex_unlock(&mutx); break;

Editor's Notes

  1. PXA – 270을 통하여 사칙연산이 가능한 계산기 제작
  2. 개발환경 (리눅스, 깃허브)
  3. 스택 (연산자 우선순위 구현)