--------------------------------------------
교육장소 : KAIST 창의 인재관
교육 일시 : 7월 22일
--------------------------------------------
■ 임베디드 시스템 환경 구축
1. 주의사항
- usb드라이브 인식이 안될시에 보드를 식혔다가 사용해야함
2 보드 설치
1) 서브보드의 글씨를 위로 놓고 메인보드 ?GMX100칩도 위로 놓고 부착
2) UART CH0 과 컴퓨터의 시리얼 포트 연결
3) 딥스위치 4개를 다 밑으로 내림
4) 파워연결
5) 전원은 스위치를 왼쪽으로 옴기면 켜짐
6) 데이터 통신을 위해 USB설치
7) ProgramUtilityusb_driver 에 있는 드라이버 설치
3. 통신 설정
1) 하이퍼터미널 설정
(1) 속도 : 115200bps
(2) 흐름제어 : 없음
(3) 통신포트 설정. ex) com1
4. 개발 환경
1) cygwin 설치 ESIC 컴파일러와 studio 설치
2) ECOMI_lucifer_gcc32_v051017cygwin 에있는것을 ALL로 설치
3) uClinux 사용시에는 cygwin을 최신 버전으로 설치해야함 cygwin-1[1].5.19-4 (용량이큼)
4) ECOMI도 설치 (컴파일러)
5) C:cygwinusrlocal 에 설치가됨
6) cygwin 상에서 /usr/local/bin 에 설치됨
7) uClinux 사용을 위해 uClinuxCompiler 에서 gz파일 압축 품 /usr/local/ tar -zxvf ae32000-elf-uclibc-tools-gmx1000.tar.gz
8) 시스템-고급-환경변수 에서 C:cygwinusrlocalae32000-elf-uclibc-tools 추가.
9) ECIS 다운 받기 http://www.adc.co.kr/support/data.asp 및 설치
5. ECIS Studio2
1) 예제 LED
(1) 파일을 올리기 위해 번개아이콘인 SDOWNLOAD 프로그램을 실행
(2) bin 확장자형식을 올림
(3) Mode는 ZealerPro_USB.dll 선택
(4) DOWNLOAD TO TARGET 선택
(5) SDRAM을 선택
(6) RUN => ?LED1가 계속 깜박임
2) 새 프로젝트
- CPU 마다 core가 틀려서 이 보드는 ?AWAE32000.dll 을 선택
- AWAE32000_?AppUc.dll 은 uClinux 에서 app 을 작성할때 사용
- AWAE32000_?ModUc.dll 은 uClinux 에서 모듈형태의 드라이버 작성할때 사용
- AWSE1608.dll 16bit 코어인 cpu 일때 사용 역시 3208은 32 bit
- Project Name // 디렉토리 설정
- Executable file 으로 선택
- Static Library 는 라이브러리 파일 만들때 사용
(1) 필수 파일
- Source Files
libcrt0.S libcrt1.c 를 삽입
crt0.S 는 가장 필요한 부분이 있음
crt1.c 는 BSS영역을 초기화 시켜주고 main함수로 넘어갈 수 있게 해줌
- Header Files
includegmxsdk.h includegmx_register.h
LinkScript File
libae32000.vct
- Library Files (Project - Add/Rem Files to Project)
liblibGmxS?DK2.a 그래픽관련
liblibFileSystem.a Nand flash 의 파일에 접근하기 위한
liblibmp3.a mp3사용
(2) setting
- Project - Setting
- Include Directory 설정
include
- Build Options
- Optimize Level(-On) 최적화 => -O2 옵션사용
- 컴파일
- 빌드 프로젝트
- 빌드 바이너리
3) 소스작성
- main 함수 처음에 InitInterrupt(); 를 꼭 넣어주어야 함
- PIO 레지스터
- GMX_REGISTER.h 속에 설명이 있음
- interrupt_handler
- 함수 뒤에는 INT_CLR(); ()속에 인터럽터 백터 넘버를 써줌
- 타이머에서는 vgSetTimer(채널,인터벌); 를 사용하여 세팅
- vgStartTimer(채널,TRUE//FALSE); 를 사용하여 사용 세팅
6. uClinux
- nand_boot.bin 를 SDOWNLOAD의 nand boot에 u-boot.bin 를 SDOWNLOAD의 nand main에 올림
- 딥스위치 3번를 올리고 리셋을 하자마자 엔터를 누른다
1) uClinux의 net 세팅
- 크로스케이블 연결.
- printenv
setenv serverip xxx.xxx.xxx.xxx 크로스 케이블 서버
setenv ipaddr xxx.xxx.xxx.xxx 자신의 이름.
setenv gatewayip xxx.xxx.xxx.xxx 자신의 게이트웨이
setenv netmask 255.255.255.0 서버와 일치시킴
saveenv : 설정을 저장한다.
2) TFTP사용
- uClinux의 이미지를 올린다
7. Ramdisk
8. 디버깅 모드
1) 하이퍼 터미널 끄고 2번 스위치 올리고 프로그램 돌린다
2) 디버그 세팅에 com1에 정닥한 속도를 넣어주고
3) 디버그 실행
9. OSI 프로그램 집어 넣기
1) SDOWNLOAD 프로그램의 sound 메모리에 넣으면된다
10. Nand에 프로그램 넣기
1) 오른쪽 위의 핀을 1,2번으로 바꾸고 전원을 넣으면 mass drive가 생긴다
2) 넣을 파일의 이름은 boot.bin으로 명명 해야한다
3) 1번 스위치를 올리고 켜면 실행된다.
■ FPGA
1. xilink ISE
1) xilinxWebPACK_81i_SFD.exe 설치
2) 78%에서 조낸 오래걸림
3) new project 시작
- Spartan3 , ?XC3S400 , ?FT256 , -4 , 모델심 xe verilog 소스를 불러드린다
4) Synthesize
5) Implement
6) ucf 파일을 불러드린후 다시 implement
7) 그 전에 User Constraints - Edit Constraints 를 하여 핀 정보를 바꿈
8) Generate Programming - Generate PROM,ACE....
9) 뭐를 더블 클릭하면 impact프로그램이 실행된다.
10) mcs, bit 파일이 만들어진다
2. ModelSim
1) 리미티드 버전으로 설치후 라이센스 등록
2) 메일을통해 라이센스 파일 받아 등록
3) 컴파일....