Using valgrind, I have found a program (written by co-worker) receives a bus error:

Non-existent physical address at address 0x4859008

This had me wondering how physical memory was mapped. I read that the memory split between the gpu and cpu can be configured. I set this to the maximum allowed split, gpu = 16M and arm = 992M. By doing this, I thought that would increase the total number of physical addresses available to the CPU. I still receive the bus error, so either my logic is not correct or the increase was not enough.

My question is this: what is the maximum physical memory address available to the CPU?

EDIT: The issue with the program was resolved (a permissions issue). This question is about physical memory.

  • 1
    It might be helpful if you edit to explain what program you're trying to run (is this something from the repos, or your own program?) — I suspect the problem is probably that there is a programming error rather than exhausting your memory.
    – Aurora0001
    Apr 8, 2019 at 18:51
  • @Aurora0001 The program is something created by a coworker. The issue with the program is something I'm working on separately. I included the error since it's my motivation behind my question. Apr 8, 2019 at 18:55
  • The maximum address possible on a Raspberry is 0x40000000. It can't address more than 1GB. It looks like you have a segfault in the code you're running or in valgrind.
    – Dougie
    Apr 9, 2019 at 1:11

1 Answer 1


As stated in the BCM2835 Manual, physical memory addressing ranges from 0x00000000 to 0x40000000.

Physical addressing starts at 0x00000000 for the ARM processor. The VideoCore MMU will map a portion of the ARM physical address space to it's own bus address space within this range. This portion of memory must be no less than 16MB and no greater than 944MB using the default memory mapping. Any peripherals will be mapped from 0x20000000 to 0x20FFFFFF.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.