I recently fought with profiling the power consumption of an ARM Cortex-M4, and I wondered if it was possible to read or write in arbitrary regions of memory. What I mean is that I know that in a normal system there are layers of translation and protection of memory addresses, so that if a program tries to read from a memory area that doesn't belong to it, an interrupt is raised. However, I don't know if this behavior is implemented in hard-coded silicon, if it's firmware, or microcode, or the OS. In other words, is it always possible to disable this, so that for instance I can write on arbitrary memory address? Or pop from the stack indefinitely, wrapping around the virtual memory space? Or being it hard-wired, cannot be disabled in certain cases/for certain processors?
Is it possible to disable completely the MMU/MPU and read/write in completely arbitrary memory regions?
76 Views Asked by Alessandro Bertulli At
0
There are 0 best solutions below
Related Questions in MEMORY
- DataTable does not release memory
- Impala Resource Estimation for queries with Group by
- Is there any way to get a lru list in Linux kernel?
- C# console application - Unhandled exception while finding the Available and free Ram space.Getting exact answer in windows forms application
- Allowed memory size of 134217728 bytes exhausted (tried to allocate 32 bytes) in PHP
- C# equivalent of Java Memory mapping methods
- How to figure out the optimal fetch size for the select query
- Creating two arrays with malloc on the same line
- Using parse.com and having allocation memory issue
- error reading variable: cannot access memory at address
- CentOS memory availability
- Correct idiom for freeing repr(C) structs using Drop trait
- Find Ram/Memory manufacturer in Linux?
- Profiling memory usage on App Engine
- Access Violation: 0xC0000005, why is this happening?
Related Questions in OPERATING-SYSTEM
- Why two threads accessing one resource crashes one thread?
- How to tell the difference between linux and mac
- Can a single thread be shared among multiple processes ? If yes how?
- /usr/lib/* files had been deleted, how to restore these files
- What does a POSIX interface refer to in terms of microkernels?
- Is zero copy principle supported in Mac
- Why segment files into chunks for HTTP streaming?
- Add/remove process from kernel runqueue
- How does my computer know to which character a char corresponds?
- Who starts the OS process scheduler?
- ^M behind operating system version?
- How to make a scanf() type function in a 32bit os in c?
- How is `dup2` actually working?
- Logged in hostname/IP in linux command history
- Had 16-bit DOS a memory access limitation of 1 MB? If yes, how?
Related Questions in EXECUTION
- Streaming commands output progress
- SQL Server Index recreate Stored Procedure Slow
- Launch local PowerShell script from link in local browser session
- Javascript, console.log prints prints object, but property is undefined
- Alfresco moving document
- Job not executing at fixed rate
- How to increase compilation and execution priorities of activity on real devices?
- Execution time difference for a function in two schemas
- Selenium C# - methods executed in program.cs are executed in a non sequential manner
- DENYed user wasn't denied - is this a parallel query processing issue?
- Force the execution of a function before exception handling (JAVA)
- How to execute a javascript function on TIDHttp (indy) delphi?
- How to run user code on server in different languages?
- Magento and M2E - How to change max execution conficuration value
- Send stop signal for command from user input in java programatically
Related Questions in MMU
- ARM: Disabling MMU and updating PC
- Does context switch between processes invalidate the MMU(memory control unit)?
- Using MMU to implement resizable arrays
- What does DMA Channel virtualization mean?
- What is PDE cache?
- Why does access to an unmapped location not generate a hardware exception (Microblaze)
- In ARMv7, is the address used in TTBR0 and TTBR1 physical or virtual
- how does kernel code access memory at the assembly level
- Linux /proc/pid/smaps proportional swap (like Pss but for swap)
- What is the downside of updating ARM TTBR(Translate Table Base Register)?
- Problems enabling MMU on ARM Cortex-A8. CPU is S5PV210
- How does MMU deal with Memory mapped registers?
- What is (special in) the elf format for static-pie? And what preforms the fixups to the GOT?
- Why does it take so long for cpu to write memory after it has obtained the physical address?
- Linker : how to place a block of data at a specific address boundary
Related Questions in ARM-MPU
- MPU Disable and Enable sequence after reset
- MPU settings for ARM Cortex M7
- Hard fault RP2040 pico Zephyr
- NULL pointer protection with ARM Cortex-M MPU
- Process stacks and interrupts on Cortex-M ARM cores
- STM32H7 MPU shareable memory attribute and strongly ordered memory type
- Override default memory access behaviour in ARM Cortex-M3
- MPU subregions security for STM32H7
- What should be Memory Protection Strategy for ARM Cortex CPU?
- ARM Cortex M4: test from unpriviledged mode if inside interrupt
- unhandled MPU fault on Cortex-M3 with uclinux and uclibc
- How to generate memory management fault in cortex m3 based microcontroller
- Are exceptions stacked by the Cortex-M hardware in thread-mode or handler mode?
- Is it possible to disable completely the MMU/MPU and read/write in completely arbitrary memory regions?
- TXM_MODULE_MANAGER_16_MPU for STMEZH7
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?