반응형

linux_kernel 31

[Linux Device Driver] Device Driver 에서의 지연함수 (sleep / delay) 개념정리

다음의 내용은 오렐리 리눅스 디바이스 드라이버(개정3판) 의 내용을 정리한다. 단기지연 함수종류 Type1 함수종류 Type2 단기지연 함수종류 Type1 void ndelay(unsigned log nsec); void udelay(unsigned log usec); void mdelay(unsigned log msec); 일단 위의 함수들은 아키텍쳐에 의존적이다. 아키텍쳐에서 제공하지 않을때는 에서 기본버젼을 제공한다. 위의 함수들은 SW loop 를 사용한다. 위의 함수로 최대로 delay 시킬수있는 값은 제한되어있다. (__bad_udelay ) 실행대기 함수들로, 위의 함수들을 실행하는 동안에는 다른 TASK 를 실행하지 않는다. (contex switching 이 안일어나는듯;;) delay ..

SW 개발 2013.04.04

[Linux Kernel] arm-linux 에서 tc (Traffic Control)사용

타겟보드에서 TC 를 사용한 내용을 정리한다. 컴파일하기 소스다운로드 크로스컴파일 : Make rule 수정 Makefile : 크로스툴 설정 Makefile : misc 관련 룰 삭제 필요한 헤더파일 복사 컴파일 Arm linux 에서의 사용 TC 를 사용하기위한 kernel feature 추가 TC 실행 컴파일하기 소스다운로드 다음의 url 에서 소스코드를 다운로드 하자. http://git.kernel.org/cgit/linux/kernel/git/shemminger/iproute2.git/refs/tags 위의 url 에서 다운로드가 가능하다. 버젼별로 볼수있는데 릴리즈 노트를 보고 적절한 커널 버젼을 다운로드한다. 크로스컴파일 : Make rule 수정 소스를 다운받아서 configure 를 보..

SW 개발 2013.03.26

[Linux Kernel] embeded linux kernel 에서 hot plug 기능사용

임베디드 리눅스에서 USB Hot Plug 기능을 활성화한 기록이다. 테스트했던 환경은 arm-linux 에서 busybox 를 이용한 embedded 시스템이다. Kernel Config 수정 Hot Plug 의 활용... (자동마운트 설정..) mdev 핫플러그 설정하기 mdev.conf 설정하기 Kernel Config 수정 make menuconfig 에서 다음의 내용을 찾아가보자 General setup ---> 으로 들어가면 아래의 화면이 나오고.. [*] Prompt for development and/or incomplete code/drivers () Local version - append to kernel release [ ] Automatically append version inf..

SW 개발 2012.08.02

[Linux 강좌] 3) 부트로더의 기본구현 -마소-

부트로더의 기본구현 플래시 롬의 특성 어셈블러 구현 루틴과 C 함수 구현 루틴의 차이 이지부트의 디렉토리 구조 링크 스크립트 재정리 start 프로그램의 구현 프로세서 샘플 소스의 활용 리셋과 인터럽트 핸들러 처리 define DEBUG_START 1 // 디버깅 초기 표시 define DEBUG_READY_MEMTEST 2 // 메모리 테스트 준비 표시 define DEBUG_MEM_OK 3 // 메모리 정상 표시 define DEBUG_MEM_ERROR 4 // 메모리 에러 표시 define DEBUG_JUMP_C 5 // C로 점프하기 전의 표시 define DEBUG_DATA_ABORT 6 // 데이터 에러 표시 define DEBUG_OTHER_EXCEPT 7 // 기타 에러 표시 프로세서 속도..

SW 개발 2012.05.11

[Linux Kernel] 커널 list 자료구조체의 사용 방법

출처 : https://www.ibm.com/developerworks/kr/library/l-timers-list/ 위의 게시물에서 Kernel 의 자료구조체에 대한 내용이 나와서 따로 보기좋게 정리한다. 커널의 List 구조체 list API 예제 커널의 List 구조체 앞에서 언급한 대로 list는 유용한 구조이기 때문에 커널에서는 일반적인 용도로 사용할 수 있는 효율적인 구현을 제공한다. 또한 지금까지 살펴본 API에도 list 가 있다. 양방향 연결 목록 API를 이해하면 이 효율적인 데이터 구조를 사용하여 개발 작업을 수행하고 목록을 활용하는 커널의 코드를 이해하는 데 많은 도움이 된다. 이제 커널 list API를 간단하게 살펴보자. 이 API는 list head (앵커)뿐만 아니라 구조체 ..

SW 개발 2012.03.29

[Linux Kernel] 리눅스 커널빌드시 ouput 디렉토리 지정하기

이전 2.6 커널기준 이며, 최신커널에서는 해당내용들에 해당하지 않습니다. 리눅스 커널빌드시에 오브젝트 및 vmlinux 이미지를 원하는 디렉토리에 떨어지게 할수있다. O 옵션을 사용 O 옵션을 사용 출처 : http://www.linuxtopia.org/online_books/linux_kernel/kernel_configuration/ch05s04.html ## Source in one place, output in another Sometimes it is easier to have the source code for the kernel tree in a read-only location (such as on a CD-ROM, or in a source code control system), and..

SW 개발 2012.01.31

[Linux 강좌] 2) 보드를 살려보자 - 마소

보드를 살려보자-1 크로스 컴파일 환경 구축 보드를 살려보자-2 크로스 컴파일러와 gcc 소스 패키지 gcc 3.X대의 속설(?) 크로스 컴파일러 툴 체인 binutils kernel gcc glibc gdb 크로스 컴파일 환경 구축 방법 PXA255 프로세서 보드를 살려보자 - 3 타겟 보드 보드 시험을 위한 프로그램 ARM의 인터럽트와 벡터 테이블 PXA255의 리셋 보드를 살려보자 - 4 PXA255의 GPIO LED 제어 프로그램 보드를 살려보자 - 5 start.S 어셈블러 링커 스크립트 보드를 살려보자 - 6 Makefile arm 부트로더에 익숙해지자! 출처 : imaso.co.kr (월간, 마이크로소프트) 이글은 월간 임베의 글을 제가 보기 좋게 편집한 글입니다. 인터넷에 돌아다니는 해당글..

SW 개발 2011.06.28

[Linux 강좌] 1) 임베디드 프로그래머와 부트로더 - 마소

임베디드 프로그래머와 부트로더-1 임베디드 시스템에 사용되던 프로세서들 32비트 프로세서에 내장되는 소프트웨어 8비트 원칩 프로세서에 내장되는 소프트웨어 32비트 원칩 프로세서의 등장 임베디드 프로그래머와 부트로더-2 임베디드 시스템 개발자의 고민 리눅스와 임베디드 시스템 소스가 공개되어 있다 많은 디바이스 드라이버 소스가 포함되어 있다 응용 프로그램이 하드웨어 구조에 영향을 적게 받는다 실제 하드웨어가 없어도 응용 프로그램을 구현할 수 있다 참조할 만한 응용 프로그램들의 소스는 대부분 리눅스 애플리케이션 소스다 임베디드 프로그래머와 부트로더-3 리눅스 커널의 구동 환경 리눅스와 부트로더 부트로더의 실체 하드웨어 디버깅과 시스템 초기화 기능 임베디드 프로그래머와 부트로더 -4 상태 표시·메시지 표출·명령..

SW 개발 2011.06.28

[Linux 강좌] 리눅스 커널 락을 없애려는 시도들

제공 : 한빛 네트워크 저자 : 한동훈 Linux Scalability Effort Linux: Debating The Merits Of Kernel Preemption Linux 2.6 Performance in the Corporate Data Center Linux Scalability Effort http://sourceforge.net/project/showfiles.php?group_id=8875 락은 동기화를 위해 필요하지만 수행 성능에 큰 저하를 가져온다. 적절히 무시할 수 있는 센스 http://minjang.egloos.com/1094167 위의 블로그에도 써 있는 것처럼 무시할 수 있다면 무시하는 것이 더 좋다. 위 소스포지 사이트는 리눅스 커널의 수행성능을 끌어올리기 위해 커널에서 ..

SW 개발 2011.06.28
반응형