반응형

ITStory 116

makefile분석

#----------------------------- # 2008 Mecha Cource - By CM WC, 2008.09.10. // 주석처리.. makefile에 대한 설명 #----------------------------- ifndef ERASE_FCT // ERASE_FCT가 정의되어있지 않다면 5번 줄을 실행해라라는 뜻. ERASE_FCT=rm -rf // -r은 지울 때 물어보지 않게 -f는 지울수 있는건 다지워라라는 뜻. endif // ifndef ERASE_FCT의 끝 ifndef WCCROSS_COMPILE // WCCROSS_COMPILE이 정의 되어있지 않다면 8번 줄을 실행해라 WCCROSS_COMPILE=arm-elf- endif // WCCROSS_COMPILE의 끝 W..

Linux 커널 2010.09.28

source insight 프로젝트 생성하기

source insight 프로젝트 생성하기 생성하기에 앞서 소스인사이트에서 ARM 기반을 디폴트로 없기 때문에 언어 정보를 추가해야한다. 위에 첨부된 파일 GCC,ADS를 지원하는 파일을 사용하자. Options-> Preferences 에서 import을 클릭해서 위의 파일을 import 시킨다. 그러면 윗처럼 ARM9.....생성이 된다. Options-> Document options에서 Add type을 클릭하고type 이름 설정 그리고 File filter에서 *.s;*.S등을 성정하고 parsing에서 import한 언어를 추가하자 언어추가 설정이 끝났다.(ARM언어를 추가하지 않으면 심볼을 찾을수 없다.) 이제부터 프로젝트을 생성하자. project -> new project 원하는 프로젝..

Linux 커널 2010.09.28

u-boot

u-boot은 부트로더다. 그럼 부트로더란? 간단하게 말해 특정 cpu에 OS 혹은 어떤 프로그램을 돌릴 수 있도록 cpu가 동작하는데 필요한 아주 기초적인 부분이나 ROM(or flash),RAM,UART 등의 기본적인 디바이스들을 동작할 수 있게 만드는 프로그램이다. 그래서 인텔 관련 보드(x86)에서 말하는 BIOS와 리눅스에서 많이 쓰이는 LILO(Linux Loader)를 결합한 것이라고 생각하면 이해가 쉽다. 부트로더의 종류로는 LILO,GNU GRUB,ARMBOOT, BLOB, bootldr, PPCBOOT, RedBOOT,Angel 등이 있는데 오드로이드에서 사용하는 부트로더는 u-boot이다. LILO와 GEUB에 대해서는 수업에서 CM이 이야기 했듯이 LILO를 대체하기 위해 GRUB이..

Linux 커널 2010.09.28

[업무일지]20100920

Exception vector table Exception이 발생하면 미리 정해진 어드레스의 프로그램을 수행하는데, 이 어드레스를 Exception Vector라 하고, 각각의 Exception에 대해서 Exception Vector를 정의해 놓은 테이블을 Exception Vector Table이라 한다. .lds arm exception 은 이벤트이다. 실행하기 위한 코드영역의 주소- main 함수의 주소를 cpu에 저장하는데 그 공간을 pc(program count) 혹은 IP(Instruction pointer)라 한다. 16bit이전은 IP라 했지만 지금은 32bit 체제로 바뀌고 나서는 EIP(Extended Instruction pointer)라 쓴다. ex) reset이 되면 cpu의 pc..

School Study 2010.09.20

[업무일지]20100909

리눅스 네트워크 설정방법(고정 IP) 네트워크 선택 사용할 고정IP주소를 입력하고 reboot을 해야 적용이 된다. 네트워크만 reboot하여 적용 할 수도 있다. "/etc/init.d/network restart"를 입력하면 랜카드만 껏다켜서 갱신된 네트워크를 적용 할 수 있다 갱신된 IPAddress이다. 주소는 TCP/IP 등록정보에서 확인 할 수 있다. FTP로 접속하여 다운받기 zterm_141.exe 리눅스 ftp에서 다운받기 bin은 바이너리 모드인 것 같음.? get이라는 명령어로 공유폴더로 다운로드 한다. zterm으로 리눅스서버에 접속하기 위해서 다음과 같은 설정을 해줘야한다. setup을 한 다음 network service로 들어가 telnet에 체크를 하고 빠져나온다. 그다음 다..

School Study 2010.09.09

리눅스 명령어

●리눅스의 특징 -Server System으로 운영적합 -ID와 PASSWD가 필요 -Root User (super user ): default user 계정및 시스템관리 -각 사용자별 home directory 존재 -각 사용자별 환경설정파일 존재( .bashrc .bash_profile .bash_logout ) -다양한 network protocol 지원 -신속한 개발, 자유로운 변형가능 : Open Source -multi-user & multi-job system ●부트 디스크 생성 방법 ①#mount -t iso9660 /dev/cdrom /mnt/cdrom ②#cd /mnt/cdrom ③#cd images ④#dd if=booting of=/dev/fd0 rbs=1440k ●IP 설정하기 ①..

Linux 커널 2010.09.07

리눅스 vi 사용법

1. vi란? 리눅스나 유닉스를 처음 접하는 사람에게 vi는 매우 골치아픈 존재이다. 도스나 윈도우에서 문서 편집기를 써 본 사람에게는 vi는 매우 불편한 편집기로 생각될 것이다. 그러나 내가 아는 한 vi만큼 가볍고 편하게 쓸 수 있는 편집기는 지구상에는 없다! `가볍고'라는 단어를 붙인 이유는 이맥스(emacs)라는 편집기를 쓰는 사람이 항의할 것이 걱정되기 때문이다. 이맥스는 호랑이 담배피던 시절부터 가장 똑똑한 에디터로 군림해 왔다. 그러나 프로그램 크기만도 수십메가에 달하고 설치되어 있지 않은 경우도 많다. 하지만 대부분의 유닉스 계열 시스템이라면 vi는 십중팔구 설치되어 있을 것이다. 따라서 한번 익혀두면 여러모로 편리하게 쓸 수 있다. vi라는 이름은 `VIsual display editor..

Linux 커널 2010.09.07

저수준 입출력 함수

저수준 파일 입출력 -파일을 융통성있고 빠르게 처리하려면 버퍼와 카운터, 파일포인터를 직접서술하는 저수준언어의 입출력 함수를 취급해야한다. 저수준 화일 입출력 함수들 fd = open("화일 이름 , 액세스 방식\[, 모드\]); /\* 화일이 있으면 그 내용을 지우고 없으면 생성, fopen의 "w"와 같음 \*/ fd = open("data.dat", O_WRONLY \| O_CREAT \| O_APPEND, 모드); /\* 화일이 있으면 그 끝으로 이동하고 없으면 생성, fopen의 "a"와 같음 \*/ fprintf(stderr,"Error: Cannot open data.dat\n"); : 저수준의 화일 입출력에서는 FILE이란 구조 대신 간단하게 각 화일마다 번호를 사용하는데, 이를 화일 식별..

Linux 커널 2010.09.07

[업무일지]-20100906-임종현

inittab inittab을 설정하기위해서 위와같이 입력하면 다음창이뜬다. 다음은 vi편집기로 열었을때 이다. inttab파일의 런레벨을 설정하여 사용할수 있다. 위 파일의 각 필드는 콜론(:)으로 구분한다. 첫번째 필드는 임의의 식별자로 어떤 것이든 상관없으며 파일 내에서 다른 것과 총돌하지 않으면 된다. 둘째 필드는 명령이 실행될 실행 레벨이다. 셋째 필드는 init이 그 항목을 어떻게 처리할 것인지 지시한다. 넷째 필드는 init이 실제 실행할 명령이다. id : 2 : initdefault -> 디폴티 run level 2로 설정 si : : sysinit : /etc/init.d/rcS -> 시스템을 부팅할 때 init에게 /etc/init.d/rcS을 실행 하도록 한다. 이 파일은 기본 시스..

School Study 2010.09.07

[업무일지]-2010903 -임종현

리눅스 커널.. 서론-리눅스 커널(Linux kernel)은 유닉스 계열 운영 체제의 커널이다. GNU 일반 공중 사용 허가서 버전 2 (GPLv2) 아래에서 공개되었으며 전 세계적으로 배포자들이 개발한 리눅스는 가장 두드러진 자유 소프트웨어 / 오픈 소스의 본보기들 가운데 하나이다. 리눅스 커널은 1991년에 리누스 토르발스에 의해 생긴 말이다. 일찍이 미닉스 커뮤니티가 리눅스 커널에 코드와 개념을 제공하였다. 그 당시 GNU 프로젝트는 자유 소프트웨어 운영 체제에 필요한 요소를 많이 만들어 냈지만 자체 커널 GNU 허드는 완전하지 않았고 이용성이 없었다. BSD 운영 체제는 법적 문제로부터 헤어나오지 못했다. 이는 초기 버전의 제한된 기능에도 불구하고 리눅스가 새로운 운영체제를 사용하기 위한 프로젝트..

School Study 2010.09.06
반응형