본문 바로가기
WinCE(윈도우 CE) 메모리 아키텍처와 메모리 구조 WinCE(윈도우 CE) 메모리 아키텍처와 메모리 구조 데스크탑용 윈도우 프로그래머는 윈도우 CE를 접할 때 넘어야 할 산이 조금 있다. WinCE는 다양한 마이크로프로세서와 시스템 아키텍처를 지원하므로 1984년, IBM PC/AT 이래로 계속 유지되어온 IBM/인텔 호환 디자인에 의존한 개발을 할 수 없다. WinCE는 다양한 장치에서 실행된다. 각 장치는 CPU, 메모리 구조가 다르고 주변 장치가 부분적으로 유사하다는 점을 제외하면 완전히 다른 디자인인 경우가 많다. 하드웨어도 다르지만 윈도우 CE 자체도 이식되는 플랫폼에 따라 달라진다. 어떤 윈도우 모바일 장치들은 버전만 같은 함수 모음을 사용하지만 WinCE는 설정에 따라서 달라질 수도 있다. 또한, 윈도우 CE는 제조업체에서 사용할 수 있는 .. 2018. 4. 20.
WinCE 저전력 모드 프로그래밍 주의 사항 (윈도우 CE 스케줄링) WinCE 저전력 모드 프로그래밍 주의 사항 (윈도우 CE 스케줄링) WinCE 금지 사항 아래 코드는 좋지 않은 습관이다. CPU 파워와 배터리 소모를 유발하여 저전력을 위배한다. 여기서 윈도우 CE 전원 관리를 잠깐 살펴보자. 윈도우 CE는 운용시간의 90% 이상 모든 스레드가 블록 된 상태다. 이때는 WinCE OEM 추상 레이어(OAL, OEM Abstraction Layer로서 MS-DOS에서의 BIOS와 같다)를 호출해 저전력 대기 상태로 진입한다. 스레드 기반 환경에서 다음과 같은 코드를 사용하면 절대 안 된다. 1234while (bFlag == FALSE) { // 플래그에 새 값을 읽음}// 수행 계속cs 일반적으로 저전력 상태는 명령어 실행을 중단하는 CPU 정지(halt)를 뜻한다... 2018. 3. 18.
윈도우 CE 시스템 스케줄링에 대해 (WinCE Scheduler 스케줄러) 윈도우 CE 시스템 스케줄링에 대해 (WinCE Scheduler 스케줄러) 윈도우 CE의 스레드 스케줄링은 선점형 방식이다. 스레드는 퀀텀(quantum)이나 타임 슬라이스(time slice)라고 부르는 시간 동안 실행된다. 해당 시간이 지난 후 스레드가 실행 중인 상태라면 그 스레드는 일시 중단되고 다른 스레드가 실행된다. 예외적으로 실행을 마칠 때까지 계속되는 스레드도 있다. 윈도우 CE는 우선순위 스키마(scheme)에 따라 실행할 스레드를 고른다. 높은 우선순위 스레드는 낮은 우순선위 스레드 이전에 스케줄링 된다. 윈도우 CE가 스레드 간에 시간을 배분하는 규칙은 다른 윈도우 운영체제와는 꽤 다르다. 윈도우 CE 프로세스에는 우선순위 클래스가 없다. 데스크탑용 윈도우에서는 스레드 우선순위와 부.. 2018. 3. 17.
윈도우 메모리 관리 (WinCE, 사용량) : Oxios-Memory 윈도우 메모리 관리 (WinCE, 사용량) : Oxios-Memory Oxios-Memory : WinCE 메모리 관리 툴 사이트 : Softonic - Oxios Memory [링크] 다운로드 : oxiosmemory.zip [링크] 파일을 다운 받고 압축을 풀면 아래처럼 확인됩니다. 그리고 설치 파일을 구동할 PC와 WinCE가 포팅된 장비를 연결한 뒤, OxiosMemorySetup.exe 파일을 실행해 설치 과정을 진행합니다. WinCE 메모리 사용량 관리 프로그램인 Oxios 설치를 시작합니다. 아래를 따라가세요. 완료되면 아래처럼 WinCE 메모리 사용량 관리 프로그램인 Oxios-Memory의 설치가 완료되었다는 창이 뜹니다. 위와 같은 과정을 거치면 WinCE의 "Windows\프로그램" .. 2017. 11. 7.
CFileFind FindFile, GetFilePath 등 예제 소스, 윈CE 코드 CFileFind FindFile, GetFilePath 등 예제 소스, 윈CE 코드 소스 코드 다운로드 윈도우즈 CE에선 기본적으로 CFileFind를 제공하지 않고 있습니다. 그래서 별도로 해당 클래스를 구현해서 사용해야 합니다. 다행히, 어느 능력자 분이 직접 구현을 하셨네요. 바로 아래는 CeFileFind.cpp와 헤더 파일을 압축한 것이고 그 아래는 전체 소스입니다. 이 소스 코드는 윈도우 XP 이상에서 지원하는 CFileFind API의 모든 기능을 포함하고 있습니다. CFileFind 예제 소스 코드 헤더 header 파일 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515.. 2017. 4. 18.
Crypto 암호화 알고리즘 로그인 폼, WinCE MFC 다이얼로그 [MFC 다이얼로그] 암호화 로그인 폼 (WinCE Crypto 화면 예제) [MFC 다이얼로그 예제] 테스트 장비 컴파일 테크놀로지 - CWV-070BR WinCE 터치패널PC [클릭] ■ 로그인 폼, 스크린 샷레지스트에 User1, User2의 암호화 알고리즘인 적용된 비밀번호가 저장됩니다. 아래처럼 평문이 아닌 특수문자가 보입니다. (실제로 ㅁㅁㅁㅁㅁ로 Crypto 암호화된 건 아님) 암호화 알고리즘 적용한 비밀번호를 프로그램이 이용합니다. 프로그램은 WinCE MFC 다이얼로그 기반입니다. 암호화 로그인 폼 주요 소스 확인 / 다운로드 WinCE 기반 암호화 프로젝트 - 레지스트와 암호화 알고리즘 구현을 위해선 아래 두 개의 헤더 파일을 인클루드합니다. 12#include #include cs 프.. 2017. 2. 20.
WinCE 프로세스 메모리 구조 애플리케이션 영역과 커널 공간 윈도우 CE 애플리케이션 영역과 커널 공간 [메모리 이해] WinCE 애플리케이션 영역아래 그림은 윈도우 CE 애플리케이션 주소 영역을 나타낸다. 프로그램 영역은 각기 정해진 목적에 따라 다수의 영역으로 나뉜다. 첫 번째 영역은 프로그램 코드와 모든 메모리 할당을 담고 있는 하위 1GB의 주소 영역이다. 다른 윈도우 운영체제처럼 『프로그램 코드는 0001 0000의 베이스 주소』에서 상향으로 로드된다. 운영체제는 코드 위에서부터 프로그램이 사용할 정적 데이터 영역, 리소스 데이터, 로컬 힙을 위치시킨다. 여기에는 프로그램 주 스레드가 사용할 스택이 적어도 하나 이상 존재하고, 그 뒤에 보조 스레드용 스택이 온다. WinCE에서 스택, 힙, 직접 가상 할당 등 모든 메모리 할당은 프로그램 주소 영역의 최초.. 2017. 2. 4.