[시스템프로그래밍]03. [시스템콜]cpu_info
arm에서 사용하는 cpu_info 구조체는 /arch/arm/include/asm/cpu.h에 struct cpu_info_asm {...}으로 정의 되어 있다. 이 정보는 책과는 달라서 타겟의 proc/cpuinfo를 보려고 하였으나, proc파일시스템이 없는 것이다!!!!!허걱.... 그래서 FALINUX포럼에 가서 proc파일 시스템 만드는 법이 있길래 해보려고 했다..하지만, 아직 실력이 부족해서 뭔 말인지 모르겠다.ㅠㅠㅠ 나중에 실력좀 쌓이면 타겟에 간단하게나마 proc파일 시스템을 올려 보아야 겠다.
2012.11.19
[Greedy] 회의실 배정
출저 : 정올 (http://www.jungol.co.kr/prog/Hanal/hanalView.php?qs_code=1370) #include #define DEBUG 1 typedef struct { int requested_order; int start_hour; int end_hour;}MEETING; MEETING g_requested_meetings[501];int g_num_requested_meetings;MEETING g_scheduled_meeting[501]; int ScheduleMeetings();void SortRequestedMeetings();void PrintRequestedMeetings(); // input outputvoid SetInputFfromFile(char* ..
2012.11.11
no image
[리눅스커널프로그래밍]01.개발환경 세팅
개발 환경 세팅 임베디드 보드에 개발을 하기 위해서는 개발환경 세팅을 좀 해주어야 합니다.이 부분은 인터넷을 찾아보면 다양하게 나와 있어 저도 많이 참고 했습니다. 많이 이용하는 방법은.윈도우가 설치된 PC, 가상OS로 리눅스(HOST), 개발보드(TARGET)를 갖춘 상태에서,서로를 연결하기 위한 공유기(로컬네트워크를 구축해야지요..), tftp, samba, nfs 를 이용하여 개발환경우 갖추었습니다. 다만 제가 가장 OS상에서 네트워크 설정을 잘 못해서 노트북에 리눅스를 설치에 버렸습니다.(다행이 노는 노트북이 있었네요.ㅎㅎ) 자 그럼, 제가 어떻게 세팅했는지에 대한 개략도입니다..
2012.11.11
no image
[리눅스커널프로그래밍]00. 시작하기에 앞서
저는 학교에서 하드웨어에 의존적이지 않은 순수 소프트웨어 공부를 주로 해서 리눅스, 특히 하드웨어에 의존적인 부분에대해 잘 모릅니다. 회사에 들어오니 이런것들을 몰라서 힘든 부분이 있어 나름 공부를 해보고자 보드도 하나 사고, 리눅스 커널 책도 사서 공부를 하기 시작했습니다.(돈을 버니좋군요.ㅎㅎ) 제가 산 보드는 falinux에서 판매하는 G100-S5PV200입니다.(이런 숫자로된 이름 어려워요ㅠㅠ).사실 리눅스 커널 공부하는데에 꼭 보드가 필요한것 같지는 않지만, 나중에 디바이스 드라이버도 공부해보고자 샀습니다.(사실 지름신때문이랍니다.ㅋㅋ) 잘못 사서 아까운 돈 날릴까봐 가장 싼것으로 샀습니다^^ 자 그럼 오늘은 여기까지 하고 내일부터 개발환경 세팅부터 해볼까요?
2012.11.11
오랜만입니다..
안녕하세요, 오랜만입니다.^^누구한테 인사를 드리는지 모르겠지만요.ㅎㅎㅎ (나중에 다시 읽어 볼 나를 위해서??) 학교 졸업함과 동시에 블로깅과 기타 메신저와 담을 쌓고 지냈네요..한 2년이 다되었는 것 같습니다. 그동안 저는 회사에 들어가서 회사에 적응하느라 바깥 세상에 소흘히 하고 있었네요..그사이에 많은 일이 있었습니다.돈도 벌게 되고, 이사도 하고,,, 그중에서 가장 큰일은 사랑하는 사람과 함께 살게 되었습니다!!!제가 가장 사랑하는 사람입니다^^하지만 가장 잘해주고 있지 못한다는 생각이 드네요.ㅠㅠㅠ 아, 갑자기 다른 곳으로 빠졌네요..ㅋㅋ다시 본론으로. 이제 다시 블로그를 꾸며 볼 생각입니다.그동안 회사에 적응하면서 나름대로의 생활 패턴이 생겼고, 앞으로 어떤 분야에 관심을가져야할지 생각이 정..
2012.11.11
[OS만들기] AT-BIOS
출처 : http://nambaxa.springnote.com/pages/1593418 INT(0x10) : 비디오 관련 비디오 모드 설정 AH = 0x00 AL = 모드(자주 사용되는 화면 모드만 설명) 0x03:16색 텍스트, 80x25 0x12:VGA 그래픽스, 640 x480x4bit 칼라 0x13:VGA 그래픽스, 320 x200x8bit 칼라, Packed Pixel 0x6a:확장 VGA 그래픽스, 800 x600x4bit 칼라 반환값:없음 커서 모양 설정 AH = 0x01 CH = 시작 라인 CL = 종료 라인 CH CL라면 2개의 부분으로부터 되는 커서 CH == 0x20이면 커서는 표시되지 않는다 반환값:없음 커서 위치 지정 AH ..
2011.08.12
vim에서 diff 사용하기
커맨드창에서 두개의 파일을 비교 하는 방법은 vimdiff a.c b.c 이렇게 바로 실행 할 수도 있고, 아래와 같이 실행 할 수도 있따.(수평 분할) vim a.c :diffs b.c (:diffsplit b.c) 수직 분할하려 비교 하려면 아래와 같이 명령어를 사용하면 된다. vim a.c :vert diffs b.c (:vertical diffsplit b.c) 이미 열러 있는 두개의 파일을 비교 할때는 아래 처럼 하면 된다. vim a.c :sp b.c :diffthis 실제로 vim은 실행시 몇 가지 모드 중 하나로 동작 하는 것이다. 즉, 실행시 readonly, vi compatible, diff mode등으로 전환 된다. 이제 부터는 비교하고 있는 파일의 내용을 편집하는 것을 알아 보도..
2011.05.31
[cscope] 윈도우즈에서 cscope 설치및 사용하기(vim + cscope)
1. cscope설치 하기 여기서 scsope 실행 파일을 다운로드 받고 압축을 풀면 sort.exe cscope.exe 두개의 실행 파일이 나온다. 이 파일을 콘솔에서 실행하기 쉽게 하기 위해 환경변수에 path를 설정해 놓는다. 나의 경우에는 gvim.exe가 있는 곳에 두 파일을 옮기고 환경변수 설정을 하였다. 2. findutils 다운로드 cscope는 내부적으로 find 명령어를 이용한다. find명령어는 리눅스 명령어인데 윈도우즈에서 사용할 수 있는 프로그램이 있다. 이 findutils라는 프로그램을 다운로드 받아 설치하도록 하자. 3. scope DB정보 구축하기 cscope를 사용하기 전에 소스파일로 부터 DB정보를 구축해야 한다. 소스파일이 있는 디렉토리에서 가장 루트 디렉토리에서 아..
2011.05.17
[ctags] 우분투에서 ctag설치 및 사용
1. ctags란? ctag는 소스 파일을 태그라는 단위로 잘라서 태그정보를 토대로 소스 분석을 도와주는 유틸리티입니다. 윈도우즈 운영체제에서 많이 사용하는 IDE Tool 인 Visual studio에서는 기본적으로 제공하는 기능입니다. 리눅스 진영에서는 작은 기능을 하는 프로그램을 조합해서 쓰는 것을 좋아 하기 때문에 편집기에 ctags를 조합해서 사용합니다. 2. ctag설치 리눅스(우분투)에서 ctag를 설치 하기 위해서는 터미널에서 아래의 명령을 입력하면 됩니다. $ sudo apt-get install ctags 3. tags 파일 만들기 ctag를 사용하기 위해서는 소스를 분석하고자 파일들에 대해서 tag정보를 추출해야 합니다. 아래의 코드를 사용하여 tag정보를 추출합니다. (분석하고자 하..
2011.05.17