[전기공학실험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/
*원하는 자료를 검색 해 보세요.
  • 시스템프로그래밍과제 4페이지
    show_bytes Execution Example 1. show_bytes 0011 1011 0110 1101 2^0 + 2^2 + 2^3 + 2^5 + 2^6 + 2^8 + 2^9 + 2^11 + 2^12 + 2^13 = 15213 = 0x00 00 3b 6d이다..
  • [전기공학실험3/ARM7] 결과5 - NAND플래쉬메모리 29페이지
    전기공학실험3 결과 보고서 [실험 5] NAND 플래시 메모리 담당교수 성원용 교수님 담당조교 윤성용 조교님 공과대학 전기공학부 금요일 낮 307호 1조 *** *** 1. 실험 결과 보고를 시작하며 (1) 실험 후기 먼저, 보고서가 세로가 아니라 가로로 놓인 종이에 ..
  • [컴퓨터공학]기본 디지털 실험-Sequence Recognizer- 순서인식기 6페이지
    POST REPORT-06 기본 디지털 실험 ◎ 실험내용 (1) Sequence Recognizer 설계 - 인식해야 할 4bit sequence를 정의 (2) 테스트 데이터 준비: (3) multiSIM 을 이용하여 sequence recognizer 회로 작성 - ..
  • [리포트]8086 CPU 내부 구조 및 명령어 요약정리 29페이지
    8086 CPU 내부 구조 및 명령어 요약정리 학습내용 8086 프로세서 프로세서구조, 명령어, 기억장치 Memory model, 데이터기록 레지스터 data,pointer,index,flag,segment 데이터표현 데이터부호, 데이터해석 8086 프로세서 (3-1)..
  • [정보통신] 데이터단위,인터네속도 조사 5페이지
    데이터 단위, 인터넷 속도 단위조사 데이터 단위 1) 비트(bit) { 컴퓨터는 기계이다. 이 말의 의미는 생각할 수 있는 두뇌가 없다는 뜻이다. 단순히 데이터를 저장할 메모리와 이를 처리하는 연산장치, 그리고 입출력 장치로 구성되어 있다. 여기서 우선 알아야 할 것..
  • 실험2 제06주 Lab04 Post Comparator 8페이지
    전자전기컴퓨터설계실험Ⅱ 분반 : 문용삼 교수님 주차 : 6주차 과목 : 전자전기컴퓨터설계실험Ⅱ 학과 : 전자전기컴퓨터공학부 학번 : 2009440132 이름 : 전상기 -목차- 1. Introduction 1) Purpose of this Lab 2) Essentia..
  • Verilog-디지털시스템설계 6페이지
    Verilog - 6bit Adder 설계 1. Gate-level 방식 2. Dataflow 방식 1. Gate-level 방식 >> Half_adder 1. Gate-level 방식 >> Full_adder 1. Gate-level 방식 >> 6bit_Full_a..
더보기
      최근 구매한 회원 학교정보 보기
      1. 최근 2주간 다운받은 회원수와 학교정보이며
         구매한 본인의 구매정보도 함께 표시됩니다.
      2. 매시 정각마다 업데이트 됩니다. (02:00 ~ 21:00)
      3. 구매자의 학교정보가 없는 경우 기타로 표시됩니다.
      4. 지식포인트 보유 시 지식포인트가 차감되며
         미보유 시 아이디당 1일 3회만 제공됩니다.
      상세하단 배너
      최근 본 자료더보기
      상세우측 배너
      추천도서
      [전기공학실험3/ARM7] 예비5  - NAND 플래쉬 메모리