MMU관련 질문드립니다..

lovesl89의 이미지

mmu 페이지 테이블 엔트리를 보면..
어떤곳에서는 1 level : fault, section, page table, reserved / 2 level : fault, section, page table, reserved 으로 표현되어있고,
어떤곳에서는 1 level l fault, coarse, fine, section / 2 level : large, small, tiny, fault 로 나옵니다.
이게 arm7에서 9로 갈때 바뀐건가요?

shint의 이미지

뭔가 계속 다르다고 하네요.

- 커널
- MMU 사용유무
- ARM 프로세서 버전과 종류

그리고. 말씀하신 레벨의 오류에 대한 내용을 별도로 찾아봐야 할거 같습니다.

오류 번호는 같을거 같습니다.
10 -> Section entry(섹션 엔트리)
01 -> Coarse page table(코어스 페이지 테이블)
11-> Fine page table(파인 페이지 테이블)
00 -> Fault

ARM926EJ-S™ Technical Reference Manual
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0198e/I16761.html

[ARM] MMU
http://iggeak.tistory.com/23

MMU(Memory Management Unit)를 공략하자! - L1 페이지 테이블 엔트리
http://forum.falinux.com/zbxe/index.php?mid=lecture_tip&search_target=user_name&search_keyword=%ED%98%84%EA%B8%B0&page=5&listStyle=gallery&sort_index=last_update&order_type=asc&document_srl=781395

10 -> Section entry(섹션 엔트리)
01 -> Coarse page table(코어스 페이지 테이블)
11-> Fine page table(파인 페이지 테이블)
00 -> Fault

4.1. ARM 프로세서 MMU(Memory Management Unit)
https://wiki.kldp.org/KoreanDoc/html/EmbeddedKernel-KLDP/arm.mmu.html

ARM MMU 관련
http://blog.naver.com/kojaejung?Redirect=Log&logNo=40107486428

WindowCE의 경우 ARM7 에서는 MMU 지원을 안하기 때문에 불가능하다.

ARM7TDMI MICROCONTROLLER RF/bluetooth
http://blog.naver.com/dofirst?Redirect=Log&logNo=100000578950
ARM7TDMI에는 MMU (Memory Management Unit)가 없기 때문에 만일 VxWork, pSOS등과 같은 전통적인 RTOS (Real Time Operating System)를 포팅하는데는 문제가 없지만 OS로 WinCE, Linux 등과 같이 MMU 기반의 OS를 쓸 수는 없습니다. (Linux의 경우에는 ARM7TDMI에 동작할 수 있도록 변형된 OS가 다수 있음)

ARM7 / ARM9, ARM11의 차이 [1] RSP_PI 환경 / Rspberry_PI
http://lhk_ss.blog.me/220065089125

[ build_mem_type_table ] arch/arm/mm/mmu.c
http://blee74.tistory.com/28

ARM Cortex-A 페이징 (1)
http://kth3321.blogspot.kr/2013/04/arm-cortex-1.html

4.1. ARM 프로세서 MMU(Memory Management Unit)
http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/Embedded/Documents/LinuxKernelStudyForSystemenginer/arm.mmu.html

MMU(memory management unit) IT/IT ::Linux 2013.08.24 19:46
http://ljhh.tistory.com/162

[ create_mapping ] arch/arm/mm/mmu.c
http://blee74.tistory.com/34

커널 페이징 매크로와 MMU 해석의 결과는 같.. : 네이버블로그
http://blog.naver.com/declspec?Redirect=Log&logNo=10143724970

루트킷제작을-위한-기초지식-RING-0-그리고-페이지-테이블 커널 / 저장실
http://junche4.blog.me/120146056319

Chapter?3??Page Table Management
https://www.kernel.org/doc/gorman/html/understand/understand006.html

Paging
http://wiki.osdev.org/Paging

ARM MMU Linux
http://blog.naver.com/ohpeng?Redirect=Log&logNo=30080132327

MMU (Memory Management Unit)
http://recipes.egloos.com/5232056

4.1. ARM 프로세서 MMU(Memory Management Unit)
https://wiki.kldp.org/KoreanDoc/html/EmbeddedKernel-KLDP/arm.mmu.html

ARM Cortex-A 페이징 (1)
http://kth3321.blogspot.kr/2013/04/arm-cortex-1.html

Free-p: fine-grained remapping with error checking and correcting (ECC) and embedded pointers Work Related
http://blog.naver.com/framkang?Redirect=Log&logNo=220465668494

System Programming 필기
http://blog.naver.com/qkr0990?Redirect=Log&logNo=220558245084

Arm MMU L2 Table

mmu 페이지 테이블 엔트리 ARM7 ARM9

mmu ARM7
mmu ARM9

ARM 네이버 책
http://book.naver.com/search/search.nhn?sm=sta_hty.book&sug=&where=nexearch&query=ARM

ARM7 네이버 책
http://book.naver.com/search/search.nhn?sm=sta_hty.book&sug=&where=nexearch&query=ARM7

ARM9 네이버 책
http://book.naver.com/search/search.nhn?sm=sta_hty.book&sug=&where=nexearch&query=ARM9

Arm MMU L2 Table
http://forum.falinux.com/zbxe/index.php?comment_srl=636468&listStyle=webzine&mid=lecture_tip&sort_index=blamed_count&order_type=desc&page=84&document_srl=562116

아래의 그림은 커널 2.6.37 버전까지 유지되던 pgd 와 pte 의 관계그림이다.
그런데 2.6.38 버전부터 아래의 그림과 같이 두개의 위치가 바뀌어 버렸다.

http://kth3321.blogspot.kr/2013/04/arm-cortex-1.html
이 옵션을 생략하면 구조체의 크기는 멤버 변수 크기와 동일하게 생성되지 않으므로, 정확한 구조체 크기를 생성하고자 할 때는 항상 사용해야 합니다. (참고> C 구조체 정렬 제한 및 패딩)

애석하게도 ARM Cortex-A가 사용하는 ARMv7-A 코어는 ARMv4 코어에서 페이징 루틴이 변경되었으므로 유의해야 합니다.

http://www.iamroot.org/xe/Kernel_8_ARM/62127
여기서 얘기하는 abort는 애시당초 특정 메모리 영역에 대한 접근 권한이 없는데 이 메모리 영역에 대한 접근을
시도 한 경우 MMU가 H/W적인 시그널을 프로세서에 날려주는 매커니즘 입니다. data abort, prefetch abort가
이에 해당 하구요. 개발자는 segmentation fault가 콘솔에 찍히고 프로그램이 뻗은 것을 발견하게 될 것입니다.

ARM Soft-MMU implementation
http://daehee87.tistory.com/261
기본적으로 ARM MMU 와 페이지테이블 워킹에 관한문서들을 좀 봤는데, 크게 도움되지 않았고, 결과적으로 아래의 ARM 공식 홈페이지에 나와있는 설명을 통해 개발할 수 있었다. 내가 본 문서는 ARM9 프로세서의 MMU Page Table Waking 과정이었는데, 이것이 Cortex-A9 에서도
크게 달라지지 않아서 그대로 적용된 것 같다.

ARM9
http://search.arm.com/search?site=Site-Search&entqr=0&output=xml_no_dtd&sort=date%3AD%3AL%3Ad1&client=ARM_Site_Refresh&ud=1&oe=UTF-8&ie=UTF-8&getfields=Description&proxystylesheet=ARM_Site_Refresh&q=ARM9

ARM9 processors Knowledge Articles
Sub-Sections
ARM920/922T
ARM926EJ-S
ARM940T
ARM946E-S
ARM966E-S
ARM968E-S
ARM9TDMI

ARM7
http://search.arm.com/search?q=ARM7&site=Site-Search&btnG=Search&entqr=0&output=xml_no_dtd&sort=date%3AD%3AL%3Ad1&client=ARM_Site_Refresh&ud=1&oe=UTF-8&ie=UTF-8&getfields=Description&proxystylesheet=ARM_Site_Refresh&ulang=ko&entqrm=0&wc=200&wc_mc=1

ARM7 processors Knowledge Articles
Sub-Sections
ARM720T
ARM7EJ-S
ARM7TDMI
ARM7TDMI-S

ARM Processor 구조
http://blog.naver.com/brighteyes79/130022392153

----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.

매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.

각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.