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

High RAM Application Questions

According to the *.map file the .bss (RAM) usage for my Application is 0x16b8 or 5816 bytes. This is obviously a very high RAM Application, likely due to the abundance of app_timers I use. I am using SDK6.1 and SD7.1. I want to make sure I'm not going to run into RAM issues at RUN-TIME. With this RAM spec in the .map file do I need to modify the gcc_startup_nrf51.s ? Or modify any other files to account for this RAM usage? Any other considerations I should be mindful of? Thank you for your advisement Nordic.

-DC

Parents
  • Don't totally understand the question. If the app links without error and fits in the available space, it works, the link script has a check for this. The startup file is entirely generic and just copies things from one place to another, it doesn't matter if it copies 1 byte, 10 bytes or 16Kb.

    What issues were you concerned about, perhaps I'm just missing the point?

    That is a lot of RAM usage, the map file should tell you what it's all used for, although they're annoyingly tricky to read, you might want to confirm to yourself that it is app timer usage (they use that much??) and not something else.

  • I think I may have found the issue. Perhaps some insight from Nordic could help. My application uses the app_button module which internally uses the GPIOTE for timing. I also use GPIOTE for PWM generation. I just noticed that my application had APP_GPIOTE_MAX_USERS 2

    I believe that under a specific race condition a button push and buzzer tone attempting to generate at the same time may have caused the odd Lock-up issue. If I think I may have found the issue. Perhaps some insight from Nordic could help. My application uses the app_button module which internally uses the GPIOTE for timing. I also use GPIOTE for PWM generation. I just noticed that my application had APP_GPIOTE_MAX_USERS 2

    I believe that under a specific race condition a button push and buzzer tone attempting to generate at the same time may have caused the odd Lock-up issue. Does this sound legit?

Reply
  • I think I may have found the issue. Perhaps some insight from Nordic could help. My application uses the app_button module which internally uses the GPIOTE for timing. I also use GPIOTE for PWM generation. I just noticed that my application had APP_GPIOTE_MAX_USERS 2

    I believe that under a specific race condition a button push and buzzer tone attempting to generate at the same time may have caused the odd Lock-up issue. If I think I may have found the issue. Perhaps some insight from Nordic could help. My application uses the app_button module which internally uses the GPIOTE for timing. I also use GPIOTE for PWM generation. I just noticed that my application had APP_GPIOTE_MAX_USERS 2

    I believe that under a specific race condition a button push and buzzer tone attempting to generate at the same time may have caused the odd Lock-up issue. Does this sound legit?

Children
No Data
Related