부산IT학원/스마트컨트롤러
-
20140714 (ARM Interrupt로 LED 켜기)부산IT학원/스마트컨트롤러 2014. 7. 14. 16:25
101일차 ------------------ARM Interrupt------------------ ------- 내부 Reg ------- 외부 Reg ------- Interrupt 함수Interrupt 함수는 실행 속도와 처리 속도가 빨라야 하므로변수 할당과 소스코드가 적어야 한다. 컴파일러마다 특징이 있는데우선 컴파일러는 3가지가 있다- IAR (Atmel 본사)- Kei (다른 회사)- gcc (gnu) --- IAR 컴파일러의 특징함수를 호출할 때 인자 4개 까지는 Reg에 저장하고5번째것은 Stack에 저장하므로메모리도 아끼고 Reg에 넣으므로 속도도 빠르다. 따라서 실제 성능을 최대로 뽑으려면 IAR을 사용해야 한다. ------- RegPIOA_IMR은 인터럽트 on/off 여부 PIOA..
-
20140708 (ARM DBGU UART 통신)부산IT학원/스마트컨트롤러 2014. 7. 8. 17:04
97일차 -------------------ARM DBGU 통신------------------- ------- DBGU 통신 DBGU는 UART 로 통신하고 이것을 통하여 PC와 통신을 해보자. 먼저 arm보드에 uart 선을 꽂는데 아래 그림을 참고하여 꽂았다. RS232 시리얼 포트가 컴퓨터에 없으므로 USB로 변환해주는 회로에 ARM과 연결하였다. ------- DBGU 통신 초기화 아래 차례로 초기화 소스를 작성한다. 1. I/O Lines2. Power Management3. Interrupt Source4. UART Operations5. 나머지 셋팅. 2번 과정을 주석 처리하였는데 그 이유는 아래 그림처럼 SYSC에 속해 있고, 밑에 그림에 1번이 SYSC이다. 클럭을 발생시키는 Reg를 ..
-
20140707 (ARM LCD)부산IT학원/스마트컨트롤러 2014. 7. 7. 15:07
96일차 --------------ARM LCD-------------- ------- LCDLCD를 사용해 보는데 이전과 마찬가지로전에 사용하던 소스를 들고와 다른 것 몇 가지만 수정한다. --- 소스 - lcd.h - lcd.c - main.c - makefile lcd.c에서 PIO_OWER이란 reg를 썼는데PIO_OSDR reg를 사용하기 위해서는 PIO_OWSR의 초기값이 읽기전용이라PIO_OWSR이 읽기/쓰기 모드가 되어야 한다.PIO_OWER를 set 시키면 PIO_OWSR이 읽기/쓰기 모드가 된다. PIO_OSDR 은 atmega에서 Reg에 값을 넣는 방식처럼 사용할 수 있는 reg이다.
-
20140704 (ARM 회로도, Register 사용법)부산IT학원/스마트컨트롤러 2014. 7. 4. 16:40
95일차 ----------ARM---------- ------- 회로도 ------- Register 사용법이전에는 장비에 대한 Reg를 사용하려면 주소를 찾아서 정의해 주었는데이제는 제작사에서 만들어 놓은 정의를 사용한다. 이런식으로 사용한다. typedef struct _node{...struct _node * next;}Node; Node->next = 0; 이렇게 사용하는데만약 Node의 주소를 알고 있다면 ((Node *)100)->next = 0; 이렇게 사용할 수 있다.그래서 위의 그림과 같이 된다.
-
20140703 (ARM ISP, USB Driver, LED 켜기)부산IT학원/스마트컨트롤러 2014. 7. 3. 10:36
94일차 --------ARM-------- ------- ISP, USB Driver ARM용 ISP 프로그램과 USB Driver를 다운 받는다.atmel사 홈피에 들어가 아래 경로로 들어간다. 1. 2. ISP 관련 프로그램 3. ISP 관련 프로그램 이것 하나 다운 받고 4. 뭐시기 패키지인데... 5. 뭐시기 패키지. 아직 정체를 알 수 없음. 2가지를 받는다. ------- USB 드라이버 설치 설치시 설치 프로그램 경로를 C:\Program Files\Atmel\sam-ba_2.12\drv으로 삼바가 설치된 경로로 입력해 두면 설치가 된다. ------- LED를 켜라! 두번째 시간 main.c 맨 위에 Port 관련 Register들을 선언해 준다. 소스 작성 후 make를 걸어주고 arm..
-
20140702 (ARM Register Summary, LED 켜기)부산IT학원/스마트컨트롤러 2014. 7. 2. 11:17
93일차 -------ARM------- ------- 기본 준비 1. vi, 몇 가지 기본 설정함. 안해도 무방함. 1.tar 파일은 홈 디렉토리에 해제하고profile 파일은 /etc/ 에 붙여넣고, 홈 디렉토리에 .profile 로 바꿔넣는다. 2. 어제 받은 arm-gcc 중에 4.1 버전을 설치한다.그리고 이 압축파일을 해제하고 그 해제한 폴더에 들어가 make 명령어를 걸어주는데make 가 실패하면암호는 이 과정을 들어온 "날짜@" 이다. cygwin 이 설치 된 폴더에 bin 경로를 추가해 주면 된다. 그리고 아까 압축해제한 폴더에 가서 다시 make가 걸리면 준비 끝. 그 폴더에 main.c 에 작성하면 된다. ------- AT91 SAM 7S 256 data sheet --- Memor..
-
20140701 (ARM Cygwin, arm-gcc)부산IT학원/스마트컨트롤러 2014. 7. 1. 15:40
92일차 --------ARM-------- ------- 기본 프로그램 설치먼저 ARM을 배우기 앞서 필요한 프로그램을 설치한다. Cygwin 이란 프로그램과arm-gcc 프로그램이 필요하다. Cygwin 은 linux 명령어를 windows 에서도 동일한 명령어를 사용할 수 있게 해주는 프로그램. ------ Cygwin 다운 받는 사이트https://cygwin.com/index.html 사이트에 접속해서 밑으로 조금만 스크롤 하면 위에 보이는 사진과 같은 곳에 빨강 네모 친 곳을 클릭해서 다운 받을 수 있다. ------ arm-gcc 다운 받은 사이트http://www2.amontec.com/gnuarm/files.html 빨강 네모 친 것들을 받으면 된다. ------- Cygwin 설치Lin..
-
20140626 (select, 1:1 채팅)부산IT학원/스마트컨트롤러 2014. 6. 26. 09:22
89일차 --------------select 함수-------------- --- select select 는 상태가 변경되는 파일 기술자들의 숫자를 기다린다. #include #include #include int select(int n, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout); n : 감시하려는 파일 기술자들의 최고 큰 숫자 + 1readfds : 읽기 감시 구조체writefds : 쓰기 감시 구조체exceptfds : 에러 감시 구조체timeout : 감시 대기 시간. NULL값 줄 시 감시 될 때까지 무한대기 리턴값 성공시파일 기술자 집합에 포함된 기술자들의 숫자를 반환, 어떠한 일이 일어나기 ..