SOFTDEVICE: INVALID MEMORY ACCESS on nRF52840

I used the ble in sdk17.1 ble_app_uart_c example and made some modifications to it, nrf52840 ran well -- until I added a calculation function to the main function
Whenever I run to the computing section, I get app: Fatal error. I referenced other posts to modify the output, and now I get app: SOFTDEVICE: INVALID MEMORY ACCESS INFO 0x0
Regarding this calculation function: it was generated by Matlab and is a black box to me, but I am certain that it does not contain any operations on registers, and it runs well on max32660 (a chip with smaller available RAM and ROM)

Parents
  • Hi

    It sounds here like you are trying to access areas of the memory that are blocked/reserved by the SoftDevice in your application code. In the nRF52840 SoftDevice S140 v7.2.0, the addresses from 0x0 to 0x27000 or so if I recall correctly is reserved for the SoftDevice and won't be available to read for the application. Does your application try to access these addresses or write code to them by chance?

    Best regards,

    Simon

Reply
  • Hi

    It sounds here like you are trying to access areas of the memory that are blocked/reserved by the SoftDevice in your application code. In the nRF52840 SoftDevice S140 v7.2.0, the addresses from 0x0 to 0x27000 or so if I recall correctly is reserved for the SoftDevice and won't be available to read for the application. Does your application try to access these addresses or write code to them by chance?

    Best regards,

    Simon

Children
  • First of all, thank you for your reply. Based on the information you provided, I have resolved this issue
    This calculation code does not contain any errors. The error occurred on Keil: I prohibited the app from accessing addresses 0x0-0x27000 in the project, but the compiled program still accesses the wrong address
    Now I have replaced SES - everything is normal now

Related