To preface:
- nRF Connect SDK 2.9.0
- nRF9151 DK
- Windows 11 PC
Hello,
I have been developing in the nRF Connect SDK for a few weeks now so I am fairly new. I have encountered a strange issue I don't understand. Whenever I change CONFIG_HEAP_MEM_POOL_SIZE in my prj.conf file and build the project, it never updates to the new value. It remains at a default value of 4096 as seen when I search for the config in menuconfig. Whether I do a pristine or regular build makes no difference. The same issue occurs when I try to set CONFIG_MAIN_STACK_SIZE. Other Kconfig changes work as expected. I was able to reproduce this using a nRF Connect SDK example as detailed below. Note that you don't need the actual devkit to reproduce, you just need to build the project.
Example: HTTPS Client
Steps to reproduce:
1. Open a new instance of VS Code
2. Select the nRF Connect extension -> Create a new application -> Copy a sample -> nRF Connect SDK v2.9.0 -> Filter for board "nrf9151 Non Secure" and select the DK -> HTTPS client sample
3. Select a destination for the new project. I used c:\ncs_workspace\https_client
4. Open the project when prompted
5. Select the nRF Connect extension -> Add build configuration -> Select the following:
- SDK v2.9.0 - Toolchain: v2.9.0
- Board target: nRF9151dk/nrf9151/ns
- Optimization level: Optimize for debugging
- Leave everything else as default (System build should be left to the default of "Build system default")
6. Click the blue "Build Configuration" button and wait for the build to complete.
7. Open prj.conf in VS code and observe that the current value of CONFIG_HEAP_MEM_POOL_SIZE is set to 1024. However, when you hover your mouse over it or check its value in menuconfig it actually has a value of 4096. I assume it is overridden to a higher value by a library.
8. Change CONFIG_HEAP_MEM_POOL_SIZE to the following:
9. Select the nRF Connect extension -> Actions -> Build (NOT pristine), and wait for the build to finish.
10. In prj.conf, mouse over CONFIG_HEAP_MEM_POOL_SIZE and observe that it is still assigned a value of 4096 (Or use menuconfig to confirm)
11. Select the nRF Connect extension -> Actions -> Pristine Build, and wait for the build to finish.
12. In prj.conf, mouse over CONFIG_HEAP_MEM_POOL_SIZE and observe that it is still assigned a value of 4096 (Or use menuconfig to confirm)
13. At this point, no matter what value you change CONFIG_HEAP_MEM_POOL_SIZE to, or whether you use 'pristine' build or not, CONFIG_HEAP_MEM_POOL_SIZE will always have a value of 4096.
Question: Why are my changes to CONFIG_HEAP_MEM_POOL_SIZE in prj.conf not being reflected in the final build output?
Thanks,
Derek