반응형

분류 전체보기 394

[system api] UART broadcast tool : 시리얼 멀티플렉서

임베디드 개발할때 유용한 툴을 소개합니다.시리얼멀티플랙서?일반적인 linux 시스템에서 uart 와 같은 serial port 를 여러군데서 open 하게되면, 제일 처음 open 한 fd 쪽으로 데이터가 전송됩니다. 이러한 경우 여러군데서 open 하여 쓰려면 대부분 linux application 에서 ipc 를 구현하여 씁니다. application ipc 를 쓸경우 connection 의 관리라던가, mutex lock 이슈 등등 설계를 잘해야하는데요. 이럴때 fanout module 을 쓰면 굉장히 효율적으로 간단하게 구현이 가능합니다. 자료다운로드다음의 url 에서 다운이 가능합니다.url : http://linuxgazette.net/122/smit..

SW 개발 2017.11.20

[Linux] mosquitto 크로스컴파일하기 : 임베디드용 mqtt

임베디드 타겟보드에 mqtt 서비스를 올리기 위한 준비과정을 정리한다.소스 다운로드받기https://github.com/eclipse/mosquitto위의 repo 에서 통째로 다운로드한다.빌드준비빌드 중간에 man page 를 만들기위한 패키지들이 있다.다음의 패키지를 설치해준다.sudo apt-get install xsltproc docbook-xsl 빌드하기 cmakelist 가 있는것을 보면, cmake 툴을 통해서 빌드할수있는것으로 보인다.하지만, 바로 make 하는것이 더 간단하다. 다음과 같이 크로스컴파일용 bash 스크립트를 작성한다.#!/bin/bash INSTALL_PATH=${PWD}/output_dir mkdir ${INSTALL_PATH} make clean make CC=arm-..

SW 개발 2017.11.20

[JAVA] 아규먼트 핸들링 : 관련 모듈들

마크다운변환 : 20191001 java 커맨드라인 프로젝트에서 아규먼트를 핸들링하는 모듈들을 정리한다. 일명 cli(command line) 모듈들이라고 한다. jar 로 프로젝트를 만든후, 아규먼트를 통해 프로그램을 짤때 유용하다. 유명한 아규먼트 관련 java 모듈들.. 다음의 모듈들중에 마음에 드는것을 쓰면된다. 출처 : http://jewelcli.lexicalscope.com/related.html Alternatives There are many Java Cli processing libraries available. Some of the ones I am aware of are: Jakarta Commons Cli Dr. Matthias Laux TE-Code Command jargp jc..

SW 개발 2017.01.02

[DB] DBeaver 에서 Oracle DB Driver 설정

DBeaver 에서 Oracle DB 를 사용하기 위한 내용을 정리한다. DBeaver 에서 Oracle DB 추가 DBeaver 에서 Oracle DB 를 사용할 경우 다음과 같은 화면이 뜬다. 인터넷을 검색해보면, oracle DB 쪽 maven 이 막혀서 그랬다는 이야기도있다. maven repo 를 따로 추가하면 되다고 하나.. 복잡해서 모르겠다. Oracle DB 세팅 다음의 순서대로 진행하면 DBeaver 에서 Oracle 사용이 된다. 1. Oracle JDBC 다운로드 해당창에서 "Open Download Page" 를 눌러서 jar 파일들을 모두 받는다. (oracle 의 로그인필요. 무료) 어떤게 필요한지 모르니 해당 페이지의 모든 jar 를 모두 받아놓는다. 2. jar 파일 추가 해..

SW 개발 2016.12.27

[C] 보이어무어 간단버젼 - 동작예제 -

보이어무어를 실제 임베디드 환경에서 사용할일이 생김... 그나마 제일간단하고 제일 코드량이 적으면서 잘돌아가는 소스를 인터넷에서 받아서 테스트완료한 버젼이다. 예제소스 #include #include #include #define NO_OF_CHARS 256 // A utility function to get maximum of two integers static int max (int a, int b) { return (a > b)? a: b; } // The preprocessing function for Boyer Moore's bad character heuristic static void badCharHeuristic( char *str, int size, int badchar[NO_OF_CHA..

SW 개발 2016.11.29

[커널빌드] ARM 리눅스 커널 크로스 빌드하기

이런저런 방법이있지만, 그냥 간단하게 한다.구글링한 자료 정리..소스코드 다운로드2.4 / 2.6의 경우 linux kernel 에서 arm 용 패치가 있다.패치 다운로드 링크 : ftp://ftp.arm.linux.org.uk/pub/armlinux/kernel/3.0 버젼대의 경우 구글링을 해도 arm 용 linux kernel 은 따로 없는것 같기도 하다;;그래서 공식 커널 다운로드 페이지에서 필요한 커널을 다운받는다.다운로드 링크 : https://www.kernel.org/pub/linux/kernel/소스코드 크로스 컴파일하기1. 크로스 컴파일러 다운로드일단, 크로스 컴파일 하려는 타겟의 크로스 컴파일러는 대부분 제조사에서 제공해주니, 그것을 쓴다.그것마저 없다면 대략 난감;; 받은 크로스 컴..

SW 개발 2016.03.04

[아두이노] 아두이노 USB 외장형배터리로 사용 (충전 전류 이슈)

아두이노를 외장형 샤오미 배터리로 쓰기위해 자료조사한 내용을 정리 결론부터이야기하면.. 일단 결론부터 예기하자면, 일반적인 USB 외장형 배터리로는 아두이노를 바로 구동하는것이 불가능할 것이다. 이유는 외장형 배터리의 자동 전원차단 기능때문이다. 즉, 외장형 배터리에서 너무 전류를 적게 뽑아가면 자동으로 전원이 차단된다는것이다;; 테스트해본결과... 샤오미 외장배터리로 아두이노를 동작시키니 1분도 안되서 전원이 자동적으로 꺼진다;;;; 하.지.만 무식하지만 간단한방법으로 해결가능 하다!!!!!! 자동전원차단? USB 외장형 배터리들에 대한 스펙서를 봐도 전원차단과 관련한 자세한 스펙은 나와있지 않다. 하지만, 분명히 자동으로 전원이 차단된다. 그 예로, 블루투스 이어폰을 아무리 잘 꼽아도 외장형 배터리로..

HW 기초 2016.01.28

[아두이노] 아두이노 부트로더 확인 및 굽기 (AVR ISP 사용)

아두이노 부팅불가 굴러다니던 아두이노 우노를 이용하여 개발하려고 하니 부트로더가 이상한지 다음과 같은 로그만 계속뜬다. avrdude: stk500_recv(): programmer is not responding 일단 해당 메시지가 떴을때, 다음의 사항을 살펴보자. 1. USB 연결시 driver 가 잡히는지 확인해본다. 해당 메시지는 데이터를 아두이노에게 데이터를 전달할수 없다는 메시지다. 즉, 잘못된 포트를 정해줘도 위와같은 메시지가 뜬다. 그러므로 일단 포트가 제대로 잡히는지부터 확인한다. 2. 해당 포트를 직접 열어본다. 포트가 잡혔다면, 터미널 프로그램으로 해당 포트를 직접열어보자. 만약 열린후에는 막~~~!! 키보드를 쳐보자.. 그럼 아두보드의 uart RX 쪽 led 가 깜박일껏이다. 그래..

HW 기초 2016.01.28
반응형