[전기공학실험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페이지
    1. 실험 결과 보고를 시작하며(1) 실험 후기 먼저, 보고서가 세로가 아니라 가로로 놓인 종이에 쓰이게 된 것은, 뒤에 나올 소스 코드의 주석의 길이를 고려한 것임을 밝힌다. 우리도 처음에는 종이를 세로로 놓고 보고서를 썼으나, 코딩을 할 때는 1줄로 보이던 주석이 ..
  • 도서관리 C프로그램 0페이지
    .
  • 시스템프로그래밍과제 4페이지
    1. show_bytes0011 1011 0110 11012^0 + 2^2 + 2^3 + 2^5 + 2^6 + 2^8 + 2^9 + 2^11 + 2^12 + 2^13 = 15213= 0x00 00 3b 6d이다.(4바이트)이것을 start+i 이므로, Little En..
  • [리포트]8086 CPU 내부 구조 및 명령어 요약정리 29페이지
    8086 명령어의 형태14개의 기본레지스터 범용레지스터 : 8개 세그먼트 레지스터 : 4개 명령어 포인트 : 1개 플래그 레지스터 : 1개 필요한 레지스터를 명시하기 위하여 3비트 필요레지스터와 데이터버스 : 16비트레지스터 기록 : 1 사이클명령어의 일반적 크기 : ..
  • [컴퓨터공학]기본 디지털 실험-Sequence Recognizer- 순서인식기 6페이지
    (1) Sequence Recognizer 설계- 인식해야 할 4bit sequence를 정의(2) 테스트 데이터 준비: (3) multiSIM 을 이용하여 sequence recognizer 회로 작성- 실험계획서에 따라 회로 작성- Logic converter의 활..
  • [정보통신] 데이터단위,인터네속도 조사 5페이지
    1) 비트(bit)컴퓨터는 기계이다. 이 말의 의미는 생각할 수 있는 두뇌가 없다는 뜻이다. 단순히 데이터를 저장할 메모리와 이를 처리하는 연산장치, 그리고 입출력 장치로 구성되어 있다. 2) 바이트(Byte)이제 좀더 큰 단위의 데이터 크기를 알아보자. 앞서 말했던 ..
  • 실험2 제06주 Lab04 Post Comparator 8페이지
    1. Introduction 1) Purpose of this LabVerilog HDL의 사용방법을 숙지하고 이를 이용하여 직접 논리회로를 설계, 제작할 수 있다. 이전 실험을 통해 습득한 Modeling을 통해 1-bit Subtracter와 1-bit Compar..
더보기
      최근 구매한 회원 학교정보 보기
      1. 최근 2주간 다운받은 회원수와 학교정보이며
         구매한 본인의 구매정보도 함께 표시됩니다.
      2. 매시 정각마다 업데이트 됩니다. (02:00 ~ 21:00)
      3. 구매자의 학교정보가 없는 경우 기타로 표시됩니다.
      4. 지식포인트 보유 시 지식포인트가 차감되며
         미보유 시 아이디당 1일 3회만 제공됩니다.
      상세하단 배너
      최근 본 자료더보기
      상세우측 배너
      추천도서
      [전기공학실험3/ARM7] 예비5  - NAND 플래쉬 메모리