This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

How to get rid of impure_data

I have a nrf51822 project with S110 (v6.0.0) softdevice. I am using latest sdk (v5.1.0). I compile the project successfully with gcc and it does run too. But I struggle with lack of RAM for further development and I see that there is huge portion of ram taken away by impure_data. Googling will tell me that it is possible to get rid of it but it is not an easy task. Also I know that with usage of printf & co, it will be taken in. Does anybody have an idea how to get rid of it?

--- part of my map file -- .data.impure_data 0x20002038 0x428 /opt/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/armv6-m/libg.a(lib_a-impure.o) .data._impure_ptr 0x20002460 0x4 /opt/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/armv6-m/libg.a(lib_a-impure.o) 0x20002460 _impure_ptr

Related