모토로이 동영상 인코딩
출처 : http://blog.naver.com/baljern?Redirect=Log&logNo=140111624847
■ 공장초기화 1. 전원을 끈다. 2. 전원버튼 + Mode전환버튼(카메라버튼 위)을 누르면서 전원을 켠다. 3. 모토롤라 로고 표시가 나오면 버튼에서 손을 뗀다. 4. 기다리면 잠시 후에 경고표지판(삼각형 안에 느낌표)이 뜬다. 5. 메뉴 호출을 위해 볼륨업버튼(↑) + 카메라버튼(반셔터만 살짝~)을 누른다. 6. 메뉴가 나오면 “Wipe data/factory reset”을 선택하고 Mode버튼을 누른다. 7. 여러개 중에 하나인 yes를 선택한다. 8. “reboot
모토로이(XT720) 공장 초기화 및 부트로더 진입 더 읽기"
/* * iconv를 사용하여 문자코드를 변경한다. * 이 함수에서 반환된 포인터는 반드시 safe_free 되어야 한다. * 실패했을 경우 NULL을 반환한다. * 사용 예제 : p2 = iconv_convert(p1, “EUC-KR”, “UTF-8”); safe_free(p1); */#define ICONV_BYTES(n) ((n) * 6 + 1)char *iconv_convert(const char *srcp, const char *to, const char *from){ iconv_t iconv_value; size_t iconv_ret, in_bytes, dstp_bytes, last_bytes; char *dstp, *clone_dstp;
ObjectiveC_reference.pdf
Objective-C Language Reference (pdf) 더 읽기"
1. GNUstep 윈도우용을 설치한다. http://www.gnustep.org/experience/Windows.html GNUstep System 설치 GNUstep Core 설치 GNUstep Devel 설치 이하는 C:\GNUstep 에 GNUstep이 설치된 것으로 가정한다. 2. EditPlus는 설치 되어 있는 것으로 간주한다. 3. EditPlus 설정 도구->사용자 도구 구성 위와 같이 추가한다. ■ 명령: gcc ■ 인수: -o $(FileNameNoExt).exe -Ic:/GNUstep/GNUstep/System/Library/Headers
윈도우에서 EditPlus로 Objective-C 컴파일 하기 더 읽기"
Basic Commands The help file that comes with the WinDbg installation documents commands well, but the following basic commands should get you started: Feature Command What Does it Do Example / Comments See Also Related Commands Stack trace K, KB x Displays stack trace of current thread (x frames). Kb
요즘에 PC 를 구입하게 되면 사용자들은 특별한 작업 없이 바로 컴퓨터를 사용할 수 있다 . 예전에 필자가 처음 조립식 IBM PC 를 구매했던 시절에는 PC 와 주변 기기 ( 모뎀 , 사운드 카드 , VGA 카드 등등 ) 를 사면 처음에 꼭 해야 할 일이 있었다 . 주변 장치 별로 같이 포함되어 오는 플로피 디스크
디바이스 드라이버 개발을 처음 시작하시는 분들이 가장 많이 하시게 되는 질문은 ” 디바이스 드라이버를 개발하려면 무엇을 어떻게 공부해야 하나요 ? ” 라는 것이다 . 일반 애플리케이션 프로그램 개발을 시작하는 경우에는 자료도 많고 , 주변에 개발자들도 많아서 공부 방법이나 자료들을 쉽게 접할 수 있는데 , 디바이스 드라이버 분야는 개발자들이 많이 하는 분야도 아니고 , 자료도 쉽게
지난 2 회에 걸친 컬럼 에서는 디바이스 드라이버 초보자들도 쉽게 드라이버에 접근 할 수 있도록 전반적인 디바이스 드라이버 개념 및 개발 방법에 대한 내용을 다뤄봤다 . 하지만 , 필자 개인적으로 생각해 볼 때 , 디바이스 드라이버가 처음이신 분들이라면 , 아직 개념 및 용어 이해에 어려움이 있었을 것으로 본다 . 그것은 아마도 실제 개발을 해보지 않은
VMWare 상에 Windows XP sp2 를 올리고 거기 Visual Studio 6.0 을 설치한뒤, 거기다가 Device 개발 환경을 구축하였다. 간단한 인크루드 디렉터리와 라이브러리 디렉터리를 보자. 정말 사소한 실수들이 많았다. NTSTATUS DriverEntry( IN PDRIVER_OBJECT DriverObject, IN PUNICODE_STRING RegistryPath){ … RtlInitUnicodeString( &DeviceName, L”\\Device\\HELLODRV” ); … if(
[ USB Speciation v1.1, v2.0 ] USB ORG – USB 개발자라면 한번씩 가보고 관련자료를 찾아볼수 있음. http://www.usb.org USB 스펙 영문 사이트 – OTG나 유용한 자료가 많이 있으니 함 가보세요. http://www.beyondlogic.org USB 스펙 한글 사이트 http://www.surym.pe.kr/swiki/wiki.php/USBSPEC [ USB 관련 개발자 및 회사 사이트 ] 한국 시스템 프로그래머 사이트라고 합니다. – 디바이스 드라이버 관련 세미나를 합니다.
[DDK] Device Driver 개발 시 참조할만한 사이트 목록 더 읽기"
드라이버를 작성하다보면, 드라이버 이름을 가지고 DriverObject를 얻고 싶을 때가 있습니다.DeviceObject의 경우에는 Document된 함수를 이용하면 되지만, DriverObject를 이름을 이용하여얻어오는 함수는 Document되어 있지 않죠… ObReferenceObjectByName 함수를 이용하면, DriverObject도 이름으로 얻어올수 있죠.. 아래와 같이 함수를 만들어 놓으면 좋습니다. [function prototype] NTSTATUSObReferenceObjectByName(IN PUNICODE_STRING ObjectName,IN ULONG Attributes,IN PACCESS_STATE PassedAccessState OPTIONAL,IN ACCESS_MASK DesiredAccess OPTIONAL,IN POBJECT_TYPE ObjectType,IN KPROCESSOR_MODE AccessMode,IN OUT PVOID ParseContext
[DDK] Undocument 함수를 이용한 Driver Object Pointer 구하기 더 읽기"
WinDBG를 설치하는 방법을 알아보자, 드라이버 개발에 있어서 디버깅은 중요한 위치를 차지한다. 다운로드 경로 http://msdl.microsoft.com/download/symbols/debuggers/dbg_x86_6.9.3.113.msi 자동 실행하게 되면, 알아서 설치가 잘 될것이다. 그리고 원격 디버깅을 하기 위해는 2대의 PC가 필요하다, 하나는 Debugger 이고 하나는 Debuggee 이다. 일단, VMWARE를 사용해서 하게 되면 하나의 컴퓨터로도 두개를 사용하는 효과를 만들게 된다. 그러기 위해서는 Vmware 셋팅을 해주어야한다. VMware 를 Shut
[DDK] WinDBG로 VMWARE 가상머신을 원격 디버깅 설정 더 읽기"
컴퓨터는 숫자를 저장할때 우리들이 사용하는 10진수(decimal)을 사용하지 않는다. true- false의 반복인 0 1 0 1 1 1 1 0 1 1 1 0 0 이런식으로 저장을 한다. Binary , 즉, 2진수이다. 그렇다면 9.6875라는 수는 어떻게 저장할까? 일단 보면, 정규 표현(normalized form)이 존재한다. 32비트 중에 가장 최상위 왼쪽 비트(MSB)는 부호 비트이다. 1로 세트 되어 있으면 음수이고,
[Computer Architecture] Floating-point notation 더 읽기"
디바이스 드라이버를 공부하면서 가장 어려운 것이 있다. “왜 이런 구조이지? 왜 기존의 프로그램 구조랑 다르지?” 제약도 많이 존재한다. BSOD의 압박, 기본적인 드라이버를 작성할때 조건이 몇가지 있다. 일단은 DriverEntry() 가 존재해야한다. DriverEntry()는 Main() 함수랑 같다. DriverEntry() 안에서 Dispatch 루틴을 작성해야한다. 그리고 Unload() 루틴도 작성해야한다. 등록을 했으면 리소스를 반납해야한다. 그리고 MAKEFILE과 SOURCES 파일이 필요하다. 이렇게 알았으면 코드를
[DDK] 가장 간단한 커널 드라이버 코드 작성 더 읽기"
요즘 각종 번역서들이 마음에 안들어서 DDK와 WDK 문서를 보면서 공부를 하고 있다. 영어긴 한데, 거부감없이 보니까 영 거리가 멀진 않은것 같다. 익숙해지면 영어도 늘고 좋겠지,, – _-; 일단 정리해보면, Queuing을 한다. 왜냐? 비동기적으로 처리해야하면 큐에 쌓아놓았다가 처리해야한다. 그러기위해서 Queuing을 해야하는데, 일단 내용을 보면 이렇다. Force Pending I/O Requests The Force Pending I/O Requests option randomly
[DDK] IRP가 비동기적으로 처리되어야 할때 더 읽기"
앞서 말한 동기화 문제 와 StartPacket() 함수 처리 방법을 알아보자, 일단 함수 이름을 보면 디바이스 함수들이 무엇을 하는지 알 수 있다. 간단하게 잘라서 보면, Io 로 시작하는것은 I/O Manager가 관리하는 함수이다. 그리고 Ke 는 Kernel Execute 이다. 이렇게 보면 함수 이름은 어절 그대로 해석하면, 정확한 답을 얻을 수 있다. 동기화 문제가 디바이스 커널 단에서는 더욱
[DDK] IoStartPacket(), KeAcquireSpinLock() 함수 사용법 더 읽기"
이때까지 WDM 드라이버만 공부하다가 갑자기 legacy 드라이버쪽으로 방향을 틀었습니다. 이유인 즉슨, WDM은 Filesystem Driver와 그다지 큰 상관이 없다는것, 젠장입니다. 아무튼 파일시스템 책을 뒤져가면서 공부를 하고 있는데,, 일단 FAT에 대해서 알아보면, FAT는 File Allocation Table로서 리눅스에서 사용하고 있습니다. 윈도우즈는 NTFS죠, FAT12는 12비트 클러스터 식별자를 사용하여 한 파티션은 최대 212(4,096)개의 클러스터를 가질 수 있습니다. Windows 2000은 512바이트에서
[DDK] File System Driver를 연구하기 시작하다!! 더 읽기"