[전기공학실험3/ARM7] 예비5 - NAND 플래쉬 메모리

등록일 2002.12.25 MS 워드 (doc) | 11페이지 | 가격 500원

소개글

전기공학실험3 (ARM7 코어 프로그래밍)
서울대학교 전기공학부
성원용 교수님 강좌
2002년 2학기

정답이 아닐 수 있으니 참고만 하세요.

목차

1. 예비 보고 사항
(1) Flash Memory의 page를 program하는 함수를 제작한다.
int FlashWritePage(unsigned int addr, const insigned char* p_buf, const unsigned char* p_spare);
- addr : 주소 (page의 시작 번지)
- p_buf : 512byte data pointer
- p_spare : 16byte data pointer

(2) main 영역의 512byte data의 parity를 계산하여 spare 16byte를 만들어 내는 함수를 만들어라.
Void CalcParity(unsigned char *p_buf, insigned char *p_parity);
P_buf : 4096bit data pointer
P_parity : 128bit data pointer (result)

(3) int FlashWritePage2(unsigned int addr, const insigned char* p_buf) 함수를 구현한다.
Addr : page의 시작 주소
P_buf : 4096bit data pointer

(4) int FlasgReadPage2(unsigned int addr, const insigned char* p_buf)
Addr : page의 시작 주소 (8page 단위로 정렬된 주소)
P_buf : 읽어 온 데이터(4096bit)를 저장할 pointer

(5) SSFDC를 이용해서 32MB 플래시 메모리를 format하고, 임의의 text file (1kB 이상, test.txt)을 생성하는 SW를 작성하라. SSFDC를 이용해서 플래시 메모리의 test.txt 파일을 읽어서 LCD에 display하는 SW를 작성하라. (2)에서 작성한 SW와 번갈아가며 수행하여서 파일이 잘 작성되는지 확인한다.

본문내용

Row 방향과 column 방향으로 각각 64bit=8byte씩의 parity를 생성한다. 실험 교재에 parity 생성의 scheme이 있으므로 그것에 따르면 아래와 같다.
- Row parity
p_parity[0]=p_buf[0]^p_buf[1]^p_buf[2]^…^p_buf[63]
p_parity[1]= p_buf[64]^p_buf[65]^p_buf[66]^…^p_buf[127]

p_parity[63]=p_buf[63*64+0]^p_buf[63*64+1]^p_buf[63*64+2]^…^p_buf[63*64+63]

- Collumn parity
p_parity[64]=p_buf[0]^p_buf[64]^p_buf[128]^…^p_buf[4032]
p_parity[65]=p_buf[1]^p_buf[65]^p_buf[129]^…^p_buf[4033]


p_parity[127]= p_buf[0+63]^p_buf[64+63]^p_buf[128+63]^…^p_buf[4032+63]

각각은 row와 column 비트들의 XOR 연산의 연속이 된다. Row의 경우 address가 연속되어 있으므로 64bit=8byte를 한 번에 읽을 수 있지만, column은 address가 64bit씩 떨어져 있으므로 64bit씩 stride를 주어 읽어야 한다. 즉 column은 byte 단위로 입력을 받지 못하고 모든 bit를 따로 읽어야 하는 셈이다.

참고 자료

서울대학교 전기공학부, <3학년 실험>
서울대학교 전기공학부, <3학년 실험 매뉴얼>
Hennessy/Patterson , <Computer Organization and Design : the Hardware/Software Interface>
http://soee.net/
*원하는 자료를 검색 해 보세요.
  • [전기공학실험3/ARM7] 결과5 - NAND플래쉬메모리 29페이지
    전기공학실험3 결과 보고서 [실험 5] NAND 플래시 메모리 담당교수 성원용 교수님 담당조교 윤성용 조교님 공과대학 전기공학부 금요일 낮 307호 1조 *** *** 1. 실험 결과 보고를 시작하며 (1) 실험 후기 먼저, 보고서가 세로가 아니라 가로로 놓인 종이에 ..
  • 주민번호 입력 & 출력 프로그램 3페이지
    2. 주민번호 입력 & 출력 프로그램 ① 프로그램 코딩 주민번호 입력받아 문자열 정수열로 치완. 주민번호는 000000-XXXXXXX 로 출력 생년 월일 0월 0일 출력 나이에 맞는 띠 출력 (1900년은 쥐띠) #include using names..
  • 도서관리 C프로그램 0페이지
    #include #include #include #include //최대 데이터 수 #define BookMax 50 //함수 선언 void inputFile(struct bookData *bd..
  • [c언어]구조체를 이용한 학생별 점수 입력, 출력, 삽입, 삭제 0페이지
    구조체를 이용한 학생별 점수를 입력하고, 삭제, 출력, 삽입 할 수 있도록 만들어습니다.
  • (pipe를 이용한 process간 통신) 0페이지
    1. 개발환경OS : Windows XP Home EditionCompiler & Editor : Crimson Editor CygWin2. Program Introduce Parent Process를 fork 하여 Child Process를 만들고 그 둘 사이에..
  • 새내기를 위한 C언어 단원문제 풀이 4페이지
    교제 새내기를 위한 C언어 단원 문제 중 잘못된 부분을 찾아 수정하고 컴파일 하여 실행결과를 구하는 문제 수록 - 문제와 수정된 답의 비교 가능하게 분리하여 기록하여 두었음
  • [리포트]8086 CPU 내부 구조 및 명령어 요약정리 29페이지
    8086 CPU 내부 구조 및 명령어 요약정리 학습내용 8086 프로세서 프로세서구조, 명령어, 기억장치 Memory model, 데이터기록 레지스터 data,pointer,index,flag,segment 데이터표현 데이터부호, 데이터해석 8086 프로세서 (3-1)..
더보기
      최근 구매한 회원 학교정보 보기
      1. 최근 2주간 다운받은 회원수와 학교정보이며
         구매한 본인의 구매정보도 함께 표시됩니다.
      2. 매시 정각마다 업데이트 됩니다. (02:00 ~ 21:00)
      3. 구매자의 학교정보가 없는 경우 기타로 표시됩니다.
      4. 지식포인트 보유 시 지식포인트가 차감되며
         미보유 시 아이디당 1일 3회만 제공됩니다.
      상세하단 배너
      최근 본 자료더보기
      상세우측 배너
      추천도서
      [전기공학실험3/ARM7] 예비5  - NAND 플래쉬 메모리