본문 바로가기

WORK363

NAND 플래시의 구성 NAND 플래시의 구성 삼성전자가 제공하는 매뉴얼을 보면 NAND 플래시의 내부 구성도는 와 같다. 를 보면 NAND 플래시 메모리의 주소를 대입하여야 데이터를 읽고 쓸 수 있다. 하지만 외부와 연결된 I/O 버스는 플래시 메모리 블럭과 직접 연결되어 있지 않고 여러 버퍼를 통해서 읽고 쓴다. 그래서 페이지 단위로 읽고 쓸 수 있는 구조로 구성된다. 하지만 구성도를 가지고 플래시 메모리를 설명하기에는 너무 어렵기 때문에 하나의 블랙박스로 보고 NAND를 접근하는 것이 더 편하다. 또한 NAND 플래시를 다루기 위해서는 ‘페이지(읽고 쓰기를 수행하기 위한 단위)’라는 개념과 ‘블럭(지우기를 수행하기 위한 단위)’이라는 개념에 익숙해져야 한다. NAND 플래시에서는 데이터를 읽거나 쓰기 위해서는 페이지 단위.. 2008. 6. 8.
[통신]시리얼 통신 프로그램 관련.. http://blog.naver.com/an4tan/120022599700 // 시리얼 통신 제어 프로그램 -- 프로그래밍 기법 // 여러분이 프리랜서 아니면 초보 개발자라 할지라도 가장 많이 코딩하게 되시는 것이 바로 산업용 시리얼 통신 기기의 제어입니다. 주로 컴퓨터와는 근거리 즉 2미터 이내의 케이블로 연결된 장치를 제어하게 됩니다. 보기를 들면 각종 POS 기기, 바코드 프린터, 터치모니터, 전광판, 카드 인식기기, 휴대폰, PDA 등 수 없이 많습니다. 우선 시리얼 통신 제어 프로 그램을 작성하기 위해선 시리얼 컴퍼넌트를 활성화 하는 부분을 try ~ except ~ end; 문으로 감싸야 합니다. 이렇게 하지 않으면 에러 발생시 컴퓨터가 먹통이 되는 경우도 생깁니다. 다른 어플에서 시리얼 포트.. 2008. 6. 8.
클래스/Class 클래스 25-4-가.class C++의 구조체는 멤버 함수를 포함할 수 있다는 면에서 C의 구조체에 비해 의미가 확장되었다. 이형 타입 변수의 집합인 구조체가 스스로의 동작을 정의할 수 있다는 것은 아주 중요한 의미가 있으며 객체 지향 구현을 위한 첫 걸음이라 할 수 있다. C++의 창시자인 스트로스트룹은 확장된 의미의 구조체에 뭔가 멋있고 새로운 이름을 붙여 주었는데 그것이 바로 클래스이다. 구조체라는 용어를 그냥 사용해도 별 문제는 없겠지만 C의 전통적인 구조체와 C++에서 확장된 구조체의 차이를 명확하게 구분하고 싶었고 그래서 이름을 바꾼 것이다. 별도의 이름을 붙였다는 것은 언어 창시자가 일종의 애정 표현을 한 것이다. 결국 OOP의 핵심이라고 할 수 있는 클래스는 "확장된 구조체"로 간단하게 정.. 2008. 6. 3.
다중 쓰레드와 C++ 다중 쓰레드와 C++ Study 2004/12/13 12:09 http://blog.naver.com/truemonpark/40008750474 프로젝트에 다중 쓰레드를 도입하면 동기화나 종료 처리 등의 문제로 고려해야 할 사항들이 곱절 이상이나 늘어나게 된다. 그럼에도 불구하고 다중 쓰레드를 사용하는 이유는 프로그램의 성능을 향상시켜 주기 때문이다. 여기서 성능을 향상시켜 준다는 말이 무엇을 의미하는지는 좀더 생각해 볼 필요가 있다. 또한 어떻게 해야 성능이 향상되는지도 알아 볼 필요가 있다. 이현창 (아주대학교) 다중 쓰레드에 대해 공부해 본 적이 있다면 많은 책과 기사에서 다중 쓰레드의 사용을 될 수 있으면 자제하라고 권장한다는 사실을 알고 있을 것이다. 일단 프로젝트에 다중 쓰레드를 도입하면 동기.. 2008. 6. 2.
Serial Port - RS232C A communication class for serial port Rating: Remon Spekreijse (view profile) February 8, 2000 In the newgroups there are many questions about serial communication so I thought: make it public! It's freeware. The only thing I expect from users is that they drop me a mail. All modifications on this class are free, but please let me know if it solves a bug or adds some good features. Also comment .. 2008. 6. 2.
AfxBeginThread 사용하기 AfxBeginThread 사용하기 이렇게 한번 해 보세여... 저는 스레드를 사용할때 스레드 함수를 전역으로 놓구 합니다... 책에두 다 그렇게 나와 있던데여... ^^ cpp파일 맨위에 보면 헤더파일들 인클루드 하는 부분이 있죠?? 그아래에 함수 선언을 합니다... 그러면 전역함수로 사용할 수 있습니다... UINT threadfunction(LPVOID pParam); 이렇게 함수 선언을 해주고여... 사용하시면 됩니다.. 함수는 아래 처럼 해서여... void Cexercise2Dlg::OnBnClickedButton1() { AfxBeginThread(threadfunction,this); } UINT threadfunction(LPVOID pParam) { Cexercise2Dlg* pDlg .. 2008. 6. 2.
Edit Clear Edit Clear 다음과 같이 버튼과 Edit 창을 만들고 Edit 창은 Edit Properties를 한 것처럼 설정을 한다. 꼭 이렇게 해야 하는것은 아니다. 유저가 원하는 방법으로 설정을 하여도 된다. m_EditClear 은 클래스 위자에서 설정을 하면 된다. Edit 창에 글자를 모두 지울 때는 다음과 같이 실행을 넣으면 된다. void CgtComPortTestDlg::OnClear() { // TODO: Add your control notification handler code here m_EditClear.Empty() UpdateData(FALSE) } 2008. 6. 2.
RS232 통신 RS232C 표준 인터페이스의 하나로서 데이터를 직렬로 전송하며 대부분의 PC에 기본으로 장착되어 있다. RS232C 인터페이스 규격은 본래 데이터 단말장치와 모뎀(Modulator/Demodulator; 변,복조기)을 접속하기 위한 것으로 퍼스널 컴퓨터에서는 RS232C 규격의 일부를 사용하여 그 접속을 간략화하고 있다. 직렬전송방식의 개략 장점 - 배선 수가 작다. - 통신 프로그래밍 구현이 쉽다. - PC에 기본 장착되어 있다. 단점 - 병렬 전송에 비해 전송속도가 느리다. - 일대일 통신만 가능하다. 전기규격 RS232C의 전기적 특성은 아래와 같다. 항 목 RS232C 드 라 이 버 무부하 출력 부하 출력 단락 출력 전류 파워온시 특성 ≤ 25V 5V∼15V ≤500mA ≥300Ω 리 시 버 입.. 2008. 6. 2.
MFC Thread 완전정복 ( 마지막 ) -Event SetEvet(): 이벤트를 signaled 상태로 설정한다. ResetEvent(): 이벤트를 non-signaled상태로 설정한다. PulseEvent(): 한번의 operation으로 셋과 리셋을 수행한다. 블록킹된 스레드는 이벤트가 signaled일때 해제(릴리즈)되어 나온다. 하나의 스레드가 CEvent::Lock으로 블록킹되어 이벤트가 set되기를 기다리고 있다. 다른 스레드가 이벤트를 set하면 기다리던 스레드는 릴리즈된다. 모든 기다리고 있는 스레드들은 이벤트가 set될때 릴리즈 된다. 윈도우즈는 2개의 다른 이벤트를 제공한다. 1.오토리셋 이벤트 블록킹된 스레드가 해제되면, 자동적으로 non-signaled로 리셋된다. 2.수동리셋 이벤트 블록킹된 스레드가 해제되면, 자동적으.. 2008. 6. 2.
728x90