This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

why does program execution fail if used RAM exceeds address 0x20008000? (pca10036)

hi everyone,

i'm testing an application on pca10036 board where i need to create a large buffer. i use Keil v5 as dev. environment. My buffer is static and global, therefore it goes into .bss section. The code compiles but with the large buffer the application does not execute at all for some reason. I lowered step by step the buffer size and looked at the changes in the memory map file. if found out that the problem occurs as soon as the max. RAM address exceeds 0x20008000. On nRF52 max ram address should be 0x2000FFFF (reference infocenter.nordicsemi.com/.../nRF52832_OPS_v0.6.pdf page 35)

To exclude the rest of my application as source of error i tested the same thing with the template application that comes with nRF52_SDK_0.9.2_dbc28c9 (my own application is based on this one)

I read this article devzone.nordicsemi.com/.../ i use S132 and entered the IRAM settings related to this soft device in target options. It didn't solve the problem.

Then i read this article about ram powermanagement infocenter.nordicsemi.com/index.jsp and added the given code to systemInit(). Without success.

I run out of ideas to find the source of the problem. Is this an issue of the preview board? Am i missing something important?

Parents
  • The other RAM block, located at 0x0800 0000, can be used, but the softdevice S132 alpha has a boundary check on the memory, and it will only accept memory from 0x20000000 area.

    This is unfortunately an issue with the preview samples and the alpha version of the S132, and it will be fixed for the final product when that comes out, as this errata for the RAM location will then be fixed:

    infocenter.nordicsemi.com/.../anomaly_832_34.html

    As of now, with the nRF52 preview kit, you can only use 32k of RAM when using the S132.

    Sorry for the inconvenience.

Reply
  • The other RAM block, located at 0x0800 0000, can be used, but the softdevice S132 alpha has a boundary check on the memory, and it will only accept memory from 0x20000000 area.

    This is unfortunately an issue with the preview samples and the alpha version of the S132, and it will be fixed for the final product when that comes out, as this errata for the RAM location will then be fixed:

    infocenter.nordicsemi.com/.../anomaly_832_34.html

    As of now, with the nRF52 preview kit, you can only use 32k of RAM when using the S132.

    Sorry for the inconvenience.

Children
Related