참고 https://istarc.wordpress.com/2014/07/10/stm32f4-deploy-freertos-in-under-10-seconds/ 툴체인 설치 아래 글에 나온 대로 설치하면 됨 stm32f4 discovery보드를 Ubuntu linux에서 시작하기 (http://webnautes.tistory.com/591) 추가로 필요한 패키지 설치 sudo apt-get install build-essential git openocd qemu-system-arm symlinks expect freeRTOS 예제 프로젝트 git clone https://github.com/istarc/stm32.git cd stm32 git submodule update –init 실제로 다운로드 받아보니..
참고 https://launchpadlibrarian.net/192227680/readme.txt https://liviube.wordpress.com/2013/04/22/blink-for-stm32f4-discovery-board-on-linux-with-makefile/ 구입해놓고 먼지가 잔뜩 쌓여있던 cortex 보드를 개봉했다. 그리고 gcc환경에서 컴파일하고 보드로 올리는 방법들을 찾아봤다. ToolChain 설치 $ sudo add-apt-repository ppa:terry.guo/gcc-arm-embedded $ sudo apt-get update $ sudo apt-get install gcc-arm-none-eabi webnautes@virtual-machine:~$ arm-none-e..
참고 http://goo.gl/GF4i3K 기본적인 방법 마스크 배열(=커널)을 이용하여 이미지 상의 픽셀 값들을 다시 계산한다. 현재 위치의 픽셀 값을 포함한 이웃 픽셀들의 값에 가중치를 곱하여 현재 픽셀 값을 결정한다. 이웃 픽셀들 중 어느 값의 영향을 많이 받아 현재 픽셀 값이 결정되지 여부에 따라 에지 검출이 되기도 하고 잡음제거가 되기도 하는 등 여러 가지 효과를 만들 수 있다. 아래 예제로 나온 마스크는 이미지를 선명하게 만듭니다. filter2D 함수 이용 앞에서 기술한 방법보다 코드가 짧아지고 더 빠른 방법이라고 함.
참고 http://goo.gl/Q0It8 지난번에 작성한 OpenCV 튜토리얼 – Mat (기본 이미지 컨테이너) 1/2를 이어서 작성. http://webnautes.tistory.com/584 Mat 객체 생성하는 방법 1.Mat() 생성자 2x2, 8bit, unsigned char, 1 channel 3x3, 8bit, unsigned char, 1 channel 2x2, 8bit, unsigned char, 3 channel 2.C/C++ 배열 과 생성자 이용 1x2, 8bit, unsigned char, 1 channel 2x1, 8bit, unsigned char, 1 channel 2x2, 8bit, unsigned char, 1 channel 3.create()함수 만들고 나서 사용 전에..
참고 http://goo.gl/Q0It8 디지털화된 이미지는 픽셀이라는 부르는 점들이 모여서 형상을 만든다. 아래 이미지처럼 격자상에 있는 이미지 픽셀의 값은 0~255사이의 값으로 가지도록 해서 파일로 저장된다. 그레이 스케일 영상의 경우 0이면 검은색 점이며 255는 흰색 점이고 그 사이 값들은 해당 값을 강도로 가지는 회색 점들이다. 이런 점들이 모여 디지털 이미지를 화면에 표현하게 된다. 이미지 출처: http://goo.gl/Q0It8 C++로 넘어오면서 자동으로 해주기 때문에 메모리 관리를 따로 해줄 필요가 없다니 다행이지만 튜토리얼에 따르면 임베디드에서는 아직 C만 지원한다는 게 문제라고 한다. 예전에 Mat가 아닌 IplImage를 사용했을 때 할당했다가 수동으로 메모리를 해제해주어야 했었..
C++를 공부해보려고 괜찮은 IDE를 찾다가 발견한 건데 아직 정식판이 나온게 아니라서 아래 링크에서 다운로드 주소를 복사해서 http://confluence.jetbrains.com/display/CLION/Early+Access+Program wget을 이용해 다운로드 받고 압축을 풀었습니다. $ wget http://download.jetbrains.com/cpp/clion-140.1221.2.tar.gz $ tar xvzf clion-140.1221.2.tar.gz $ cd clion-140.1221.2/bin/ 실행시켜봤는데 기존에 JETBRAINS에서 접했던 IDE와는 처음 실행 시 뜨는 창이 조금 다르군요. $ ./clion.sh CMake를 이용해서 컴파일하는 게 낯설지만 GDB와 연동해서..
다섯번째 튜토리얼은 PWM을 이용하여 LED를 좀 다른 방식으로 켜봅니다. 참조한 원본 글은http://arduino.cc/en/Tutorial/Fade 입니다. 디지털 핀에서 출력은 0V와 5V만 있기 때문에 LED를 연결해서 깜빡이게 만들더라도 켜지고 꺼지기를 반복하기만 합니다.하지만 여기에서는 크리스마스 트리에 있는 전구처럼 천천히 밝아졌다가 다시 천천히 어두워지는 효과를 만들기 위해서 AnalogWrite함수를 이용합니다. AnalogWrite의 인자로 주어지는 값이 255에 가까워지면 파형이 5V를 지속적으로 유지함으로 인해 계속 LED가 켜져있는 효과를 보여주게 됩니다. 반대로 0에 가까워지게 되면 5V를 유지하는 시간이 그만큼 짧아지기 때문에 LED가 꺼져있는 것 처럼 보입니다. pulse-..
아두이노에 연결한 버튼을 누르면 시리얼 통신을 이용해서 피시에 눌렀음을 표시해주는 예제 입니다. 아두이노와 피시를 USB선으로 연결해서 프로그램 짠 것을 컴파일하여 아두이노상의 플래시에 집어넣을 수만 있는 줄은 알았는데 시리얼 통신도 되는 군요. 우선 아두이노 IDE를 실행시켜서 메뉴를 살펴보니 진짜로 시리얼 포트가 잡혀 있네요.. 시리얼 모니터라는 메뉴 항목도 보이구요. 메뉴에서 시리얼 모니터를 클릭해보니 아래와 같은 창도 보입니다. 이번 예제에서는 이 창에 출력만 하는 거지만 상단에 Send버튼이 달려있는 것으로 봐서는 간단한 키워드를 입력해서 아두이노 보드에 명령을 내려 볼 수도 있겠네요. 우선 이번에 사용할 회로도로 공식 홈페이지에 있는 것입니다. 스위치에 전선 두 가닥만 연결할 것이라는 제 예상..
작업 관리자를 보면 왜 생긴지 알 수 없는 svchost.exe들이 보여서 찜찜 했었는데 각각의 svchost.exe가 어떤 프로그램들과 관련 있는지 알 수 있는 방법을 찾았습니다. http://winaero.com/blog/why-so-many-svchost-exe-processes-are-running-in-windows/ 간혹 특정 svchost.exe가 CPU자원이나 메모리의 많은 부분을 점유하는 문제 발생시 말웨어인지 확인할 때 유용할 듯합니다 윈도우즈에서 제공되는 서비스들은 DLL파일 형태로 구현되어 있습니다. DLL 파일은 직접 실행이 불가능하기 때문에 svchost.exe 파일을 통해 실행이 됩니다. 각각의 svchost.exe에는 다수의 서비스들이 연결되어 있습니다. 작업 관리자로 그냥 ..
우분투 리눅스에 맥 OS X 테마 적용 아래 출처에 나온 것을 적용해서 맥처럼 보이도록 우분투 리눅스의 테마를 바꾸어 봤습니다.http://www.noobslab.com/2014/04/macbuntu-1404-pack-is-released.html 모두 적용하면 아래와 같은 화면으로 바뀌게 됩니다.왼쪽에 있던 런처바를 숨기고 아래쪽에 있는 독에 등록한 어플리케이션을 클릭해서 실행하거나 오른쪽 위에 등록한 돋보기 모양의 인디케이터로 검색해서 원하는 프로그램을 실행시키게 바꾸었습니다. 아래는 로그인 화면이구요.. 1. 화면 아래쪽에 독 추가테마 파일 받아 둔다.http://drive.noobslab.com/data/Mac-14.04/Mac-OS-Lion%28Docky%29.tar 아래 세 줄을 실행sudo ..