MMU관련 질문드립니다..
글쓴이: lovesl89 / 작성시간: 토, 2015/12/05 - 11:45오전
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로 갈때 바뀐건가요?
Forums:
찾아봤습니다.
뭔가 계속 다르다고 하네요.
- 커널
- 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
댓글 달기