no image
[Embedded linux] VAB-630 보드 사양
Model Name VAB-630 Processor 1.0GHz VIA Cortex-A9 dual-core SoC System Memory 1GB DDR3 SDRAM onboard Storage 4GB eMMC flash memory Boot Loader 512KB SPI Flash ROM Graphics Mali-400 SP GPU 2 integrated, independent 3D/2D graphics processing units Graphics engine supporting OpenGL® ES 2.0 hardware acceleration Supports MPEG-2 and H.264 video decoding up to 1080p LAN ASIC AX88772CLF Audio VIA VT160..
2018.10.05
no image
[OpenCV] 특정 픽셀 값 접근하기
OpenCV 특정 픽셀 값 접근하기 아래 예제는 원본 이미지 A로부터 어떠한 영상처리를 거친 이미지 B의 검출 영역인 흰색 부분을 원본 이미지 A에 다시 파란색으로 그리는 예제이다. 원본 이미지 A 마스크 이미지 B 결과 이미지 C #include int main() { Mat dst = imread("image/lesion.jpg"); // 원본 이미지 A Mat src = imread("image/mask.jpg"); // 마스크 이미지 B for (int y = 0; y < src.rows; ++y) { for (int x = 0; x < src.cols; ++x) { if (src.at(y, x) == 255) { // 마스크 이미지의 흰색 픽셀이면 dst.at(y, x)[0] = 255; // ..
2018.09.07
no image
[OpenCV] image inpaint 함수 (object removal or region filling)
이미지에서 지우고 싶은 선 또는 잡음을 포함한 객체를 지우고, 주변 픽셀이 가지는 색상으로 지워진 부분을 채우고자 할 때 OpenCV의 inpaint 함수를 사용 할 수 있다. (여기서는 OpenCV 3.4.2 버전을 사용하였다.) inpaint 함수 형식 // C++ 형식 void cv::inpaint(InputArray src, InputArray inpaintMask, OutputArray dst, double inpaintRadius, int flags) // Python 형식 dst = cv.inpaint(src, inpaintMask, inpaintRadius, flags[, dst]) inpaintMask 는 8비트 1채널 이미지(흑백이미지)를 사용해야한다. inpaintRadius 는 알고..
2018.09.05
no image
[Linux] dmesg 명령어
dmesg 명령어 dmesg 명령어는 시스템 부팅 메세지를 확인하는 명령어이다. 또한 커널에서 출력되는 메세지를 일정 수준 기록하는 버퍼 역할을 수행하며, 커널 부팅 중에 에러가 났다면 어느 단계에서 에러가 났는지 범위를 좁히고 찾아내는데 도움이 된다. dmesg 로그 파일 위치 /var/log/dmesg * 모든 메세지를 삭제하며 입력 이후에 새롭게 로그 쌓기 dmesg -c * 하드 디스크 정보 확인 dmesg | grep sda * SCSI 타입의 하드디스크 정보 확인 dmesg | grep SCSI * IDE 타입의 하드디스크 정보 확인 dmesg | grep hda * NIC 정보 확인 dmesg | grep eth * USB 장치에 관한 정보 dmesg | grep usb * 커널 정보 확인 ..
2018.08.21
[Linux] 부트로더
리눅스 부트로더란? 부트로더란 운영체제가 시작되기 전에 미리 실행되면서 커널이 올바르게 시동되기 위해 필요한 모든 작업을 마무리하고 최종적으로 운영체제를 시동시키기 위한 목적을 가진 프로그램이다. 즉, 시스템의 하드웨어를 초기화하고 운영체제의 커널을 메모리에 올려 실행시키는 시스템 프로그램이다. 메모리, 하드웨어(네트워크, 프로세서 속도, 인터럽트), 코드, 데이터, 스텍 영역 설정 및 초기화, 커널 로더와 커널 이미지 로딩, 커널 로더를 실행하여 커널 이미지가 실행되도록 한다. 부트로더의 기능 - 메모리 초기화- 하드웨어 초기화- 직렬포트의 초기화- 네트워크 초기화- 프로세서 속도, 인터럽트의 초기화- 커널과 램 디스크 적재 : 커널과 램 디스크를 램에 적재하여 실행- 사용자 인터페이스 기능 부트로더의..
2018.08.21
no image
[Linux] 커널 이미지
커널 이미지는 내가 원래 영상처리에서 알던 이미지와 아주 다른 개념이었다. 1. 커널 이미지의 개요 : 리눅스에서 부팅은 도스나 윈도우의 부팅과 상당히 다르며, 도스나 윈도우의 부팅은 컴퓨터를 쓰고 싶으면 전원을 넣고 부팅과정을 거치게 된다. 그러나 리눅스에서의 부팅은 간만에 있을까 말까 하는 중요한 사건이다. 그래서 부팅 속도가 빠른 것이며, 부팅 과정은 매우 복잡하다. 로더(LILO 또는 loadlin)라고 하는 프로그램은 커널을 메모리에 올려놓는 일을 수행한다. 컴퓨터에 전원이 들어오고 나면 제일 먼저 디스크의 첫 부분을 읽어서 로더를 실행시킨다. 로드는 커널 이미지의 위치를 알고 있어서 스스로 커널 이미지를 찾아서 메모리에 올려 놓는다. 2. 커널 이미지란? : 커널이 하나의 파일로 디스크에 저장..
2018.08.05
[Embedded linux] timeconst.pl 에러 해결법
커널 컴파일 도중 아래와 같은 에러 시 Can't use 'defined(@array)' (Maybe you should just omit the defined()?) at kernel/timeconst.pl line 373./home/xxxx/Workspace/VAB-630_Linux_source_code/Kernel_3.4.5/kernel/Makefile:129: recipe for target 'kernel/timeconst.h' failedmake[1]: *** [kernel/timeconst.h] Error 255Makefile:945: recipe for target 'kernel' failedmake: *** [kernel] Error 2make: *** Waiting for unfinish..
2018.08.05
no image
[Embedded linux] 임베디드 리눅스 개념
리눅스 일반 리눅스 : 일반 데스크탑 환경인 고성능 프로셋와 대용량 메모리 환경에서 동작하는 범용 컴퓨터용 리눅스 임베디드 리눅스 : 저성능의 마이크로 프로세서와 제한된 메모리 환경에서 동작하는 임베디드 시스템용 리눅스 임베디드란? : 임베디드는 아주 작은 형태의 전자회로를 가지고 있는 컴퓨터이다. 따라서 임베디드는 다양한 사물에 숨겨져있다. 임베디드의 뜻이 우리말로 번역하면 "내장된" 이라고 할 수 있다. 주위에 임베디드 장치를 쉽게 찾아 볼 수 있으며 대표적인 것들이 신호등, 지하철 개찰구, 선풍기 등이 있다. 스마트폰도 임베디드 장치라고 할 수 있는데, 내부에서 다양한 센서와 액츄에이터 그리고 초소형 고성능 컴퓨터를 탑재하고 있다. 수백개에서 수천개의 전자회로를 가지고 있는 자동차도 대표적인 임베디..
2018.08.05
[Linux] .bashrc 수정 후 적용
리눅스에서 .bashrc 파일 수정 후 반드시 다시 로그인해야 적용 됨 터미널 종료 후 다시 실행하면 적용 됨 하지만 source ~/.bashrc 위 명령어를 실행하게 되면 터미널 종료 없이도 적용 가능 참고자료 : http://blog.chopestory.net/157
2018.08.05
[Embedded linux] 크로스 컴파일
크로스 컴파일러(Cross compiler) Wiki 정의 : 크로스 컴파일러는 컴파일러가 실행되는 플랫폼이 아닌 다른 플랫폼에서 실행 가능한 코드를 생성할 수 있는 컴파일러이다. 크로스 컴파일러 툴은 임베디드 시스템 혹은 여러 플랫폼에서 실행파일을 생성하는데 사용된다. 이것은 운영체제를 지원하지 않는 마이크로컨트롤러와 같이 컴파일이 실현 불가능한 플랫폼에 컴파일하는데 사용된다. 이것은 시스템이 사용하는데 하나 이상의 플랫폼을 쓰는 반가상화에 이 도구를 사용하는 것이 더 일반적이게되었다. 크로스 컴파일러는 호스트에서 C언어나 어셈블러로 작성된 소스코드를 호스트와 다른 기종에서 사용될 수 있는 기계어로 번역해주는 컴파일러의 일종이다. 임베디드 시스템을 개발하기 위해서는 반드시 크로스 컴파일러가 있어야 한다..
2018.08.05
no image
[Linux] 리눅스 버전 확인
리눅스 버전 확인 하는 방법 grep . /etc/*-release 참고자료 1 : 제타위키
2018.08.05
no image
[Linux] diff 명령어
diff 명령어 : 리눅스에서 파일을 비교하는 명령어 diff [옵션] file1 file2 file1과 file2를 비교하여 차이점을 찾아냄 옵션 -b : 연속된 공백 무시-i : 대소문자를 구분하지 않음-t : 출력 라인에 TAB 문자를 넣음-w : 두 행의 비교 시 공백을 무시--brief : 파일 비교 후 결과 표시(같은지, 다른지)-d : 세세한 차이까지 검색-H : 큰 파일을 빠르게 처리할 때 사용-q : 두 파일의 차이점만 출력-s : 두 파일이 같은 지 확인-r : 두 디렉토리의 차이점 출력-u : undirectional new file 옵션으로 비교하는 파일/디렉토리가 빠져있을 경우 dummy로 처리해서 출력을 통일시킴-r : recursive 하위 디렉토리 모두 검색-N : 검색 중 ..
2018.08.05