data、idata、pdata、xdata、code

3686 단어 #단편기
ROM
ROM이나 Flash, 프로그램 메모리 구역이라고 하는데 쓴 프로그램은 이 안에 존재하고 전기가 들어간 후에 이 안에서 실행된다.프로그램 저장 구역도 영화 내부와 영화 밖으로 나뉘는데 일반적으로 현재의 51은 64K를 달성했기 때문에 외부 확대가 매우 적다.영화 밖 Flash나 영화 밖의Rom입니다. Flash나Rom은 영화 안이든 영화 밖이든 상수를 정의하는 데만 사용되고 코드로 장식됩니다.코드로 수식된 것은 프로그램이 실행되는 과정에서 수정할 수 없다는 것이다.
RAM
  • 내부RAM의 낮은 128비트(00-7F)는 C 언어에 대응하는 data이다. 예를 들어 내가 정의한 변수 ,data unsigned char Var = 0;이면 이Var 변수는 내부의 낮은 128비트 Ram에 놓인다.
  • 내부RAM의 높이 128비트(80-FF)는 C 언어에 대응하는 것이 바로 다이타이다. 예를 들어 내가 하나의 변수를 정의했는데 idata unsigned char Var = 0;이다. 그러면 이Var 변수는 내부의 높이 128비트Ram에 놓인 것이다.
  • idata의 범위는 0x00 ~ 0xFF에서 알 수 있듯이idata는 데이터를 포함하고 차이점은 주소 찾기 방식만 다르다!동시에 0x80~0xFF, 이 필름 안의 RAM은 보통 인터럽트와 함수 호출을 위한 창고에 사용되며 일반적으로 사용되지 않는다.
  • 내부 RAM의 0x20~0x2F은 위치추적 가능 구역으로 C 언어에 대응하는 bdata이다.

  • 특수기능 레지스터(SFR)(80-FF)는 C 언어에 대응하는 Sfr이다. 예를 들어 내가 하나의 변수를 정의했는데 Sfr unsigned char Var = 0x90;이다. 그러면 이Var변수는 내부에 놓인 특수기능 레지스터이다. 이것은Var에 대한 조작이고 특수한 레지스터를 조작하는 것과 같다. 그러나 조심해라. Sfr변수를 함부로 정의하지 못하면 위험하다!!
  • 외장형 RAM 64K[0000-FFFF], 외장형 RAM은 65536개로 확장할 수 있습니다.
  • 이지만 앞의 256개는 한 페이지라고 할 수 있다. 이 페이지는 비교적 특수하고 pdata으로 수식한 것이다. 물론 xdata으로 수식할 수도 있다.첫 페이지의 256개를 제외한 나머지 65280개의 공간은 x데이터로만 수식할 수 있습니다.
  • 은 돌아서서 pdata와 xdata를 논의했다. 이 두 가지는 모두 외부 램의 첫 페이지를 수식할 수 있다. 그러나 Pdata는 첫 페이지, 즉 맨 앞에 있는 256개의 외부 램만 수식할 수 있다. 그러면 이 맨 앞에 있는 256개는 도대체 Pdata로 하는 것이 좋을까, 아니면 Xdata로 하는 것이 좋을까?
  • 의 답은 Pdata이다. Xdata의 수식 변수 때문에 DPTR(DPTRH DPTRL)의 주소를 사용했고 PdataR0 R1을 사용했다.DPTR16 의 것이기 때문에 전체 64K 외부 램을 덮어쓸 수 있다. R0과 R1은 8자리이기 때문에 맨 앞에 있는 256개, 즉 외부 램의 첫 페이지만 찾을 수 있다. 그러나 R0으로 주소를 찾으면 DPTR보다 배가 빠르고 코드도 매우 작다.



  • 그럼 질문이 왔습니다. 많은 주소가 중복되어 있습니다!예를 들어, 나는 80H 주소에 수치를 썼는데, 단편기는 내부의 128비트 램을 읽는 것을 어떻게 알았습니까?아니면 SFR?아니면 외부 64K 램인가요?
    답: 지령으로 직접 주소를 찾으면 SFR에 방문한다.R0이나 R1의 간접 주소지라면 128 RAM이고, DPTR이나 R0, R1의 간접 주소지라면 MovX 명령에 맞추면 외부 64KRAM의 80H 주소에 접근한다.
    요약하면 51의 메모리는 다음과 같습니다.
  • 프로그램 메모리(슬라이스 내 Flash 또는 Rom, 슬라이스 외 Flash 또는 Rom, C 언어용 Code 정의)
  • 내부 128비트 Ram, C 언어는 데이터로
  • 정의
  • 내부 높이 128비트 Ram, C 언어는 idata로
  • 정의
  • 내부 SFR, C 언어는 Sfr로
  • 정의
  • 외부 65536개 램(보통, 많은 단편기 업체들이 너에게 그렇게 많은 램을 확장해 주지 않는다. 일반적으로 256 바이트나 1024 바이트를 확장하면 차이가 많지 않다. 최근에 宏晶는 4096 바이트의 램을 내놓았다. 이 65536 바이트의 램은 앞 256개는 Pdata로 수식할 수도 있고, Xdata로 수식할 수도 있다. 256 바이트를 초과한 후에는 Xdata로만 수식할 수 있다)
  • 위에서 말한 것은 51개의 핵을 겨냥한 단편기, 다른 핵, 예를 들어 ARM 같은 것을 겨냥한 것이지 이런 구조가 아니다.
    외장 메모리 영역은 외장 확장된 플래시일 수도 있고 외장 확장된RAM이라고 할 수도 있다.
    프로그램이나 상수는 영화 밖 저장소에 저장됩니다. - Flash에!변수는 필름 밖 저장 영역 - 외부 확장 RAM에 저장;
    슬라이스 메모리 영역은 내부 램을 가리키며 높이 128비트(idata)와 낮은 128비트(data)를 포함한다.
    칩 내 기억 장치, 아마도 EEPROM일 것이다.
    주의:RAM은 변수를 저장하는 것이지만 SRAM, DRAM, FRAM(철전기 랜덤 액세스 메모리), MRAM(자성 랜덤 액세스 메모리), 본질은 RAM이다. 구역의 구분은 우리가 말한 것이다!
    대수롭지 않게 하다
    STC89C52RC (512 RAM,8K ROM)
    STC89C52RC 시리즈 단편기는 512B의RAM이 있는데 위에서 말한 바와 같이 우리도 알고 있다.256편 내, 256편 외, 즉 256일반 RAM(idata), 256확장 RAM(xdata).
    IAP15F2K60S2 (2K RAM,60K ROM)
    일반 256바이트 RAM 과 내부 확장 1792바이트 XRAM 입니다.
    위에서 bdata, 즉 위치 주소 찾기를 언급했는데 MCS-51의 위치 찾기와 관련된 지식을 정리해 봅시다.비트 주소 공간은 총 224비트로 2부분으로 구성되어 있다. 내부 데이터 저장소 20H~2FH단원(16개 단원마다 8비트씩 비트별로 128개의 주소를 조작할 수 있다. 주소 번호: 00H~7FH)
    또 일부는 블록에서 모두 12개의 특수 레지스터가 비트 조작을 할 수 있는데 그것이 ACC, B, PSW, P0, P1, P2, P3, IP, IE, TCON, T2COIN, SCON(주소는 80H~FFH 사이)이다.

    좋은 웹페이지 즐겨찾기