반응형

SW 개발 342

[Linux Device Driver] 레비스보드용 2.6 커널 디바이스 드라이버 제작하기..

먼저 makefile 작성 드라이버 예제소스코드 먼저 makefile 작성 make file CC = arm-linux-gcc obj-m+=button_dev.o // 만들 목적파일!!!!! KDIR=/root/my_kernel_test/my_kernel_source/linux-2.6.17.13-rebis // 커널 소스!!!! PWD:=$(shell pwd) default : $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules 흠;;; 기본적으로 CC 하고 obj-m 으로 등록한다음 MAKE 옵션으로 컴파일!!! 그담에 소스코드작성. 먼저 2.6 커널용 드라이버를 작성하기 위해서 꼭 포함시켜야 할 해더 파일들입니다. (귀찮으니 그냥 다 붙여서 코딩추천ㅋㅋ) #include #in..

SW 개발 2009.02.26

프로그래밍 > 코딩기법 > 기초사항 > 시프트 연산에 관한고찰

마크다운변환 : 20190905 기타사항 : 틀린사항은 댓글로 수정바랍니다. 너무 기본적인 코딩은 무시한채 매일 검색만 해서 붙여넣다보니 아주 간단문제에서 부딛히고 말았다 ㅡㅡ; Shift 연산 기본적으로 Shift 연산을 생각하기엔 2진수로 생각하면 쉬웠다. 하지만 코딩은 대부분 16진수로 이뤄진다는것이다! (생각하기가 너무 싫은 문제도 있지만.. 생각하려니 복잡했다.) 일단 DWORD의 크기부터 알아야 했다ㅡㅡ; DWORD 의 크기는4바이트.. / 1바이트는 8비트… DWORD dwTemp = 1 dwTemp를 16진수로 표현하면.. 0x00000001 저것을 0x00010000 으로 만들고싶었다. (갑자기 멍해졌었다;;) Shift 연산은 2진수를 기준으로 생각을 하면 쉽다. 0b00000001 를..

SW 개발 2009.01.29

네트워크 > 세팅 > Cisco AP 초기세팅법

마크다운변환 : 20190905 기타사항 : 네이버에 돌아당가는 자료를 모와서 보기좋게 수정, 완전 CiscoAP를 나처럼 처음 사용하며, 세팅하는법도 모르고.. 할때 아래와 같이하면된다. AP초기화 리셋버튼을 누른채로 전원을 킨다. 이때 버튼은 길게~ 누르고 있는다. web으로 AP를 세팅하기 위해 콘솔로 AP초기설정 먼저 콘솔케이블을 만든다. (랜선을 다 까서,, 시리얼 케이블로 연결할수있게 만든다.) 위의 그림대로 케이블을 만든다. 그림을 보는방법은 RJ 45 케이블(랜선)을 ㅗ 이런식으로 정면으로 보고 이때 우측부터 좌측으로 번호를 순서대로 1~8 으로 매기고.. 해당 번호의 핀을 밑에 시리얼 핀번호대로 연결한다. 즉, 랜선의 1번 은 시리얼케이블의 7번, 랜선의 2번 은 시리얼 케이블의 1번....

SW 개발 2009.01.15

[win32API] CreateProcess() 를 이용하여 프로세스 끝날때까지 기다리기

기타사항 : EVC, winCE5 테스트완료. 예제소스코드는 인터넷에서 구한자료. 예제코드 예제코드 아래의 소스코드로 프로세스가 끝날때까지 기다릴수있다. STARTUPINFO sui; PROCESS_INFORMATION pi; DWORD Ret; memset(&sui, 0x00, sizeof(STARTUPINFO)); sui.cb = sizeof(STARTUPINFO); Ret = CreateProcess(buffer, NULL, NULL, NULL, FALSE, 0, NULL, NULL,&sui, &pi); if (Ret) { hProcess = pi.hProcess; WaitForSingleObject(hProcess, 0xffffffff); CloseHandle(hProcess); } 위의 소스코드..

SW 개발 2009.01.15

[win32API] CreateProcess() 를 이용해 아규먼트 줘서 실행파일실행

기타사항 : EVC, winCE5 테스트완료. 참고 링크 예제소스... CreateProcess를 사용하면서 argument를 주는 방법 예를들어 test.exe를 그냥 실행하는 것이 아니라 command 창에서 test.exe start 처럼 실행 할 때 즉 argument를 줘서 실행하는 방법이다. 첫 변수의 값에 "c:\test.exe", 두 번째 변수는 "c:\test.exe start"라고 주면 된다. 그러면 만들어진 process에서는 api 함수로 만든 녀석은 main의 세 번째 이던가로 들어오고 MFC로 작성된 app는 AfxGetApp()->m_lpCmdLine 이 값을 사용하면 argument로 받은 값을 볼 수 있다. 참고 링크 http://support.microsoft.com/kb..

SW 개발 2009.01.15

[winCE/WM] winCE 어플에서 전체화면만들기

기타사항 : EVC, winCE5 테스트완료. aygshell 해더파일추가 aygshell 라이브러리 추가 전체 화면으로 바꾸기..(init dialog 세팅) destrory 부분에서 다시 전체화면 원상복구 마크다운변환 : 20190905 기타사항 : EVC, winCE5 테스트완료. aygshell 해더파일추가 #include aygshell 라이브러리 추가 #pragma comment(lib, "aygshell.lib") 전체 화면으로 바꾸기..(init dialog 세팅) (이 코드의 원리는...좀 무식하긴 하지만 아예 메뉴바니뭐니 다 없애 버린다.--> 결국은 전체화면;;) CWnd *tWnd = FindWindow(TEXT("HHTaskBar"), NULL); // TaskBar의 핸들을 알아..

SW 개발 2009.01.15

[winCE/WM] 전체화면색깔 바꾸기

기타사항 : EVC, winCE5 테스트완료. OnPaint() 핸들러추가. 예제코드 참고응용 전체화면만들기!! 예제코드 아래의 코드 추가. (이때 m_nColor 값을 변화시킨다음에 이벤트를 받으면 화면변함!) void CPixelTestDlg::OnPaint() { // TODO: Add your message handler code here COLORREF cr; switch(m_nColor) { case TEST_COLOR_RED: cr = RGB(255,0,0); break; case TEST_COLOR_GREEN: cr = RGB(0,255,0); break; case TEST_COLOR_BLUE: cr = RGB(0,0,255); break; case TEST_COLOR_WHITE: cr =..

SW 개발 2009.01.15

winCE > 네트워크 > NDIS > AP 리스캔 하기!

마크다운변환 : 20190905 기타사항 : EVC, winCE5 테스트완료. 틀린사항이나 오류사항은 지적해주시면 감사하겠습니다. AP 리스캔 명령어가 필요한이유? wzcsapi 로 해서 ap리스트를 받아와보면.. 해당 ap리스트들이 완전히 실시간데이터라고 생각되기엔 어려운것 같다. 가끔가면 아무리 스캔을 해도 안보이는 AP가 있었기 때문이다. 정확이유는 모르겠지만. 어떤 ap는 사라져 버리면 계속 기다려도 안나타 난다. 그때 nids쪽으로 Rescan OID 를 날린다음 다시 wzcsapi 를 통해 읽어보니 업데이트가 되었다. 단, 주기적으로 AP를 스캔하는 프로그램을 작성하였는데.. 너무 자주 AP를 스캔하니, 무선랜 동작이 제대로 이뤄짖 않았다. NDIS로의 리스캔 명령은 가끔쓰고.. wzcsapi..

SW 개발 2009.01.15

winCE > 네트워크 > NDIS > 현재 연결된 AP의 RSSI 얻오기

마크다운변환 : 20190905 기타사항 : winCE5 / EVC 테스트완료, 오류사항이나 틀린점은 댓글로 지적해주세여 wzcsapi 로도 RSSI값을 얻어 올수있지만, ndis 로 얻어오는 방법도있다. PUCHAR buffer = NULL; NDIS_802_11_RSSI rssi,rssiAbs; PNDISUIO_QUERY_OID rssiOid; unsigned int lenReq; DWORD dwReturnedBytes = 0; buffer = (PUCHAR) malloc( sizeof(NDISUIO_QUERY_OID) + sizeof(ULONG) ); memset( buffer, 0, sizeof(NDISUIO_QUERY_OID) + sizeof(ULONG) ); lenReq = sizeof(NDI..

SW 개발 2009.01.15
반응형