개발 팁/Embedded
-
MMAP 뜻과 사용 예제개발 팁/Embedded 2018. 4. 25. 15:22
MMAP란 무엇인가?mmap는 유닉스 시스템 콜로, 파일이나 디바이스를 메모리에 매핑시킨다. 즉 Memory-mapped file I/O라고 보면 된다. 실제 구현은 demand paging으로 이루어진다. 사용이 끝나면 munmap 콜을 불러줘 야 한다. Demang Paging이란 가상 메모리의 일종으로 디스크의 페이지를 메모리에 복사하여 사용한다. 이 동작은 특정 위치를 접근하려 할 때 특정 위치가 메모리에 존재하지 않는 경우, 즉 Page Fault 상황에서 이루어진다. 사용 예제const char str1[] = "string1";char *zero;fd = open("dev/zero", O_RDWF, 0);zero = (char*)mmap(NULL, 4096, PROT_READ|PROT_WRI..
-
우분투(16.04 LTS)에 파이썬 3.6 설치하기개발 팁/Embedded 2018. 4. 16. 16:41
우분투(16.04 LTS)에 파이썬 3.6 설치하기우분투 16.04 LTS에 설치된 파이썬은 2.7과 3.5이다. 하지만 여러가지 패키지들이 3.6 이상을 원하는 경우가 많다. 파이썬 3.6을 설치하려면 아래 명령을 참고한다.sudo add-apt-repository ppa:jonathonf/python-3.6sudo apt-get update sudo apt-get install python3.6이상의 과정을 마치면 시스템에는 파이썬 2.7, 파이썬 3.5, 그리고 파이썬 3.6이 설치된 상태이다. 아래 명령을 통해 버전을 확인해 보자.python -Vpython3 -Vpython3.6 -V현재 파이썬 3의 디폴트값이 3.5로 되어 있는데, 이것을 3.6으로 변경하려면 아래 명령을 수행한다.sudo u..
-
ARM9 assembly 어셈블리 source - SourceInsight 소스인사이트 파싱 Parsing File(CLF)개발 팁/Embedded 2017. 11. 13. 14:56
2005년에 네이버 블로그에 썼던 아래 글을 옮겨왔습니다. ----------------------------------------------------- SourceInsight에서 어셈블리 파일 파싱할 수 있도록 하는 파일을 만들어서 릴리즈합니다. 찾다 없어서 만들었네요. 어셈블리 소스 보실 분들에게 도움 될 것 같습니다... 1. 첨부 파일을 저장하세요.2. SourceInsight의 Preference -> Languages에서 import... 버튼을 눌러서 첨부파일을 import 하시구요.3. Language 리스트박스에서 "ARM9 ADS assembly language" 항목을 마우스로 한번 클릭하세요.3. Preference->Doc Types... 버튼을 눌러 "Document Opti..
-
ARM MBED 엠베드 7 세그먼트(Grove 4-Digit Display) 구동 방법개발 팁/Embedded 2017. 11. 12. 07:02
제품 정보 & 데이터시트: http://wiki.seeed.cc/Grove-4-Digit_Display/엠베드 라이브러리와 예제 소스: https://os.mbed.com/teams/Seeed/code/DigitDisplay_Clock/엠베드 add 명령: mbed import http://mbed.org/teams/Seeed/code/DigitDisplay_Clock/핀 연결: GND -> 보드 GND, DIN -> 보드 DOUT, CLK -> 보드 DOUT, ACC -> 보드 3.3 혹은 5 V 전원코드 수정:초기화 부분에 clk과 dout을 보드에 맞게 설정해 주면 이외는 수정 필요 없음(아래 참조)DigitDisplay display(D0, D1);주의사항: clock의 경우 몇몇 보드에서 잘 맞..
-
ARM 엠베드 MBED 백색잡음 White Noise 생성개발 팁/Embedded 2017. 11. 12. 04:26
백색 잡음 White Noise를 생성하는 방법은 여러가지가 있으나, 여기서는 AnalogIn floating 잡음을 이용하는 방법을 사용한다. 1) AnalogIn Floting 잡음 소스는 다음과 같다. #include "mbed.h" AnalogIn ADC16(A5);AnalogOut DAC18(DAC0_OUT); // main() runs in its own thread in the OSint main( void ) { uint16_t noise;uint32_t randn, mask = 0; mask = (1 17; randn ^= randn 스피커 +GND -> 스피커 -(Amp가 있는 스피커면 3.3V 혹은 5V 전원을 Acc에 추가로 연결한다) 출처 및 관련 정보WhiteNoiseGenera..
-
ARM MBED 엠베드 핀이름 헤더 파일 찾기개발 팁/Embedded 2017. 11. 12. 02:55
아두이노 공통 핀 이름 이외에 각 보드별 핀 이름을 찾으려면 mbed-os 하위 디렉토리 구조가 복잡하여 쉽지 않다.핀 이름을 정의한 파일 이름은 PinNames.h이다. 내가 지금 사용하는 보드는 K64F이므로 아래의 명령을 수행한다. (mac-os 디렉토리에서) find . | grep PinName | grep K64F 결과는 아래와 같다. 이 중 내가 사용하는 보드는 FRDM K64F이므로 두번째 파일이다. /targets/TARGET_Freescale/TARGET_MCUXpresso_MCUS/TARGET_MCU_K64F/TARGET_HEXIWEAR/PinNames.h./targets/TARGET_Freescale/TARGET_MCUXpresso_MCUS/TARGET_MCU_K64F/TARGET_..
-
ARM MBED 엠베드 음악 연주하기 (내장 DAC 사용)개발 팁/Embedded 2017. 11. 12. 02:37
여러가지 방법이 있지만 일단 DAC 아날로그 출력을 이용한 방법을 소개한다. 1) 엠베드 NXP FRDM K64F 보드에는 DAC 출력 (아날로그 출력)이 있어 그것을 이용한다.스피커와 보드의 연결은 다음과 같다:DAC output -> 스피커 +GND -> 스피커 - 2) 아날로그 출력 관련 소스를 가져온다.https://os.mbed.com/users/4180_1/code/speaker_demo_Analog/mbed add가 안되니 그냥 header 파일(Speaker.h)을 가져와서 프로젝트에 넣으면 된다.이 헤더파일에 포함된 Speaker class를 이용한다. 음악 연주에 대해서는 아두이노 관련 코드를 참조한다:https://gist.github.com/baojie/4522173 3) K64F ..