반응형

SW 개발 342

Linux Application Shared Memory 관련 예제코드 : 동기화

일단 가장기본적으로 ipc : shared Memory 를 사용하는 방법을 테스트한다. 1. 기본개념 http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/system_programing/Book_LSP/ch08_IPC#s-2.4 위의 사이트에 가장 잘 설명되어있는 듯... 2. 기본예제 : mutex 를 이용한 예제 기본적으로 shm 가 동기화가 되는지 안되는지 자세한 내용이 나와있지 않아서 아예 mutex 를 걸기로 하고 테스트하였다. 공유된 메모리에 mutex context 를 초기화 하여 넣은다음 동일한 context 로 동기화가 가능했다. 아래의 문제점? 은 write side 에서... sleep() 을 오래잡고있으면 read에서 mutex 를 걸고 ..

SW 개발 2013.12.17

사진관리의 최강자 piwigo : 소개 및 한글사용하기

마크다운변환 : 20190905 2019 년 현재는 굳이 이렇게 해야할까 싶다.. 그냥 구글포토 쓰는게 답이다. 불편함.. 아이사진을 워드프레스를 통해서 관리를 해왔습니다. 하지만 어느순간엔가 짜증폭발!!! ㅡㅡ; 하나하나 업로드 하고 게시글 및 제목작성하고... 너무 시간이 많이 걸리더군요;; (수십, 수백장의 사진을 블로그에 포스팅을 한다는건 너무 가혹한일입니다;;) 그래서 간단하게 사진을 올리고 웹으로 볼수있는 솔루션을 찾았습니다. 일단.. 집에 이런저런 이유로 서버를 설치했으므로 최대한 활용을 하기로 합니다. ==> [정보모음/IT & 개발정보] - 홈서버 만들기 2 : 서버(NAS)세팅 하기 기초 : OS선정과 기본 세팅 방법은 PIWIGO piwigo 의 기능을 간단히 설명하면 홈페이지 : h..

SW 개발 2013.11.10

Linux : Device Driver 만들때 major / minor 를 정해서 만들기...

자료출처 : http://www.makelinux.net/ldd3/chp-3-sect-2 디바이스 드라어비 만들때...major / minor number 를 정해서 만들수있다. 다 필요없이 코드르 보면 다음과같다. 주번호 부번호 할당하여 char device 만들기예제 if (scull_major) { dev = MKDEV(scull_major, scull_minor); result = register_chrdev_region(dev, scull_nr_devs, "scull"); } else { result = alloc_chrdev_region(&dev, scull_minor, scull_nr_devs, "scull"); scull_major = MAJOR(dev); } if (result

SW 개발 2013.10.25

Linux driver : minor 번호를 얻어오기 - minor 번호에 따라 read / write 분기시키기

일단..Linux 의 device 드라이버를 작성할때 minor 번호에 따라서 동작을 틀리게 해야할 경우가 있다. 구글을 검색한자료를 정리한다. major / minor 얻기 일반적으로 device driver 의 open / close(release) operation 함수에서 얻을수있다.예를들면... static int ex_open(struct inode *inode, struct file *filp) { int mnr = iminor(inode); .... return 0; /* success */ } 위와같이 인자로 넘어온 inode 구조체를 이용하면 쉽게 얻어올수있다. write / read operation 함수에서.. minor / major 번호를 얻어올수는 없을까? 일단 write 함수..

SW 개발 2013.10.24

MS Office Word 에서 서식(문서스타일)을 적용하여 깔끔하게 작성하자.

잡담 - 마크다운으로 글 수정완료 (190821) 워드에서 서식(문서스타일)을 이용하면 좀더 편하게 그리고 깔끔한 문서를 작성할 수 있는것은 모두 아실것 같습니다.; 하지만, 그 서식(문서스타일)을 만드는것이 힘들고, 귀찮은 일이죠 ㅠㅠ (저같은 문서작성초보에겐 깔끔하게 서식만들기도 어렵더군요..ㅠㅠ) 그래서 남이 작성해놓은 서식(문서스타일)이 없나 보다가 좋은 서식을 발견해서 적습니다. 1. XE Board User Manual 서식 여러분도 잘 아시는 XE Board 의 User Manual 입니다. http://www.xpressengine.com/manual 위의 URL 에가면 다운받을 수 있습니다. 한글매뉴얼을 하나 다운받아서 보면... 지원하는 서식(문서스타일)이 엄청 많고 깔끔합니다. 1.1..

SW 개발 2013.07.31

webmin 을 arm-linux 에서 돌리기

설치 및 실행참고!!!일단 windows 에서 webmin 소스를 타겟에 올릴때... webmin 폴더와 Webmin 폴더가 충돌나서 문제 발생 주의할것!! 일단 target Board 에 webmin을 올리고 해당 폴더에 가보면...setup.sh 가 있다. Setup.sh 를 실행한후... config 폴더에 가보면 다음과 같다. 일단 위의 start 를 실행하면 webmin 서버가 실행되는듯하다. ## PAM 모듈관련 내용 근데 start 를 때려보면 다음과같은에러가 난다. # cat miniserv.error [01/Jan/1970:13:09:49 +0900] miniserv.pl started[01/Jan/1970:13:09:49 +0900] Perl module Authen::PAM neede..

SW 개발 2013.07.30

Linux 를 Webpage ( webui ) 로 컨트롤하자.

이런저런 프로젝트의 이유로 웹으로 임베디드 리눅스의 시스템를 컨트롤 할수있는 방법을 찾던도중에 좋은 포스팅이 있어서 포스팅을 남긴다. http://thenubbyadmin.com/2011/12/06/definitive-list-of-web-based-server-control-panels/ 해당 포스팅을 가면, web 으로 linux 를 컨트롤 할수있는 여러가지 솔루션이 나온다.(유료 무료 모두 소개를 하고있다.) 적당한 솔루션을 찾아서 시스템에 적용하면될듯하다.==> 아래는 해당포스트에서 백업용으로 붙여넣기했음. 참고로 아래의 시스템을 다 살펴봤지만, 그나마 embedded System 에 적용가능한건 webmin 밖에 없었다.ㅠㅠ==> webmin 을 돌리기 위해선 perl 이 필요하다. >>>>>>..

SW 개발 2013.07.30

하드웨어/소프트웨어 스펙서 양식

스펙서 양식 예제 간혹 뭔가 스펙을 써야할경우가 있다. 구글에서 이런저런 스펙서를 봤지만 그나마 일반적으로 가장 무난하게 쓸수있는건 다음의 양식인것 같다. 아래의 첨부파일 양식과 비슷하게 쓰면 쓰면 나름 짜임새 있는 스펙서를 만들 수 있다. SDLC-RUP-Hardware-Requirements-Specification.pdf ![ ]http://cfile4.uf.tistory.com/image/22639C3851F75E6E2554F0)

SW 개발 2013.07.30

IPTables 를 이용한 포트포워딩

일단, 목적은..외부에서 설정된 네트워크 인터페이스로 내부 port 에 접근할 필요가 있었다. ==> 일종의 공유기외부에서 공유기 내부로 접속을하는... IPTable 을 이용하여 간단히 가능하다. IPTable 을 이용한 포트포워딩 iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 1935 -j DNAT --to 192.168.1.3iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 86 -j DNAT --to 192.168.1.3 위와같은 iptables rule 을 추가한다. rule 을 설명하면...eth0 로 들어온 tcp 패킷의 destination Port 넘버 xx 를 리눅스 내부망 192.168.1.3..

SW 개발 2013.07.25
반응형