본문 바로가기

분류 전체보기59

Bitbake 명령어 Bitbake 명령어task 실행bitbake -C task이후의 모든 과정 실행              -c  특정 task만 실행 unpack: src fetchconfigure: 빌드 config 설정compile: 컴파일cleanall: repository를 포함한 모든 정보 제거recipe 내 bitbake util1.bb.utils.contains"${@bb.utils.contains('VAR', 'test', 'libtest.so', '', d)}"상기 구문의 경우 VAR라는 변수에 'test'가 있으면 3번째 인자를 선택하고, 아니면 4번째 인자를 선택하는 util example# 해당 예제의 경우 INVITE_PLATFORM 변수에 hud-display가 존재하면 file://0001-.. 2021. 9. 15.
[func] mmap() / munmap() - memory 맵핑 Definition 파일이나 장치를 메모리에 대응 or 해제 시킴 #include #include void * mmap(void *start, size_t length, int prot, int flags, int fd, off_t offset); int munmap(void *start, size_t length); Description mmap() 함수는 fd로 지정된 파일에서 offset을 기점으로 시작해서 length byte만큼 start 주소로 대응시키는 함수 offset과 length는 PAGE_SIZE의 단위여야 함(대개 start 주소를 0으로 지정) 지정된 영역이 mapping된 실제 시작위치를 반환 * PAGE_SIZE? Page는 MMU에서 메모리 관리 시 사용하는 최소 단위 pro.. 2021. 7. 23.
[cmd] install 명령어 cp와 유사한 명령이지만 cp에 비하여 다양한 복사 옵션들이 존재하는 명령어 install -d 디렉토리 // 지정한 path에 디렉토리가 존재하지 않는다면 직접 만듬 ex) install -d /usr/lib/testlib/ install -m [권한 모드] 파일 디렉토리 // 파일에 대한 권한을 설정하여 디렉토리로 copy ex) install -m 755 AAA alphabet/ // AAA의 권한모드가 755로 변경되어 copy됨 install -g // 소유그룹 설정 install -o // 소유자 설정 install -s // strip이 수행. 심볼릭테이블이 삭제되므로 파일의 크기가 줄어듬 2020. 8. 5.
bitbake metadata variable bitbake에서 변수 할당은 metadata 문법의 핵심으로 잘 숙지할 필요가 있다. 기본변수설정 기본적으로 다음과 같이 변수를 할당한다. AAA = "var" 변수 확장 A = "Aval" B = "Left${A}Right" A에 할당된 값은 "Aval" B에 할당된 값은 "LeftAvalRight recipe 변수 yocto에서 사용되는 환경 변수 PR : Package Revision PN: Package Name PV: Package Version P : Package : "${PN}-${PV}" PF : Package full name : "${PN}-${PV}-${PR}" S : Unpacked source code directory - 압축해제, 패치, 컴파일이 진행되는 디렉토리 D: De.. 2020. 8. 4.
recipe customize bbappend 활용하기 .bbappend의 확장자를 가지고 있는 append파일은 .bb의 내용을 확장하거나 override하기 위해 사용한다. bitbake가 append 파일을 인식하기 위해서 .bb레시피와 이름이 같아야 한다. Common Usecase 이미 존재하는 레시피를 수정해야 하는 경우 .bb에 이어 .bbappend 파일을 레이어에 만들어야 함 ex) testapp_1.0.bb / testapp_1.0.bbapend Patch 적용하기 이미 존재하는 패키지에 패치를 적용하고 싶은 경우에는 다음과 같이 FILEEXTRAPATHS변수를 활용해야 한다. FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" SRC_URI += "file://patch1.patch.. 2020. 8. 4.
[func] poll pollselect와 마찬가지로 다중 입출력을 구현하기 위한 방법으로 사용되며, 동시에 여러 개의 클라이언트를 다루는 서버를 제작하기 위한 방법으로 흔히 사용된다.int poll(struct pollfd *ufds, unsigned int nfds, int timeout);fd의 이벤트를 기다리다가 이벤트가 발생하면 poll에서 block이 해제되고, 다음 루틴에서 어떤 fd에 이벤트가 발생했는지 검사하는 방식  pollfd첫 번째 인자인 pollfd 구조체struct pollfd{ int fd; // 대기할 이벤트의 fd short events; // 어떤 이벤트를 기다릴지 지정 short revents; // 돌려받을 이벤트};서버가 기다릴 이벤트의 fd를 세팅하고, 어떤 이벤트를.. 2020. 4. 7.
728x90