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

micro esb and ble on 130 v2 project

Hi, Because I didn't want to keep with the last question when this is a tottaly new one, so created another question. I've tried to get this project to work:

github.com/.../nrf51-ble-micro-esb-uart

It doesn't compile from start. I'm missing bsp.c.h files, I'm having an error on the app_timer_init setup call. To get this project up I've used sdk 10 and 9.0 and as result none of the combinations works. When ignoring the bsp include and changing the app_timmer_init to something like: "APP_TIMER_INIT(APP_TIMER_PRESCALER, 5, 0);" it compiles. Tried to get it working along with s130 1.0 and 2.0 but keeps running into hard_fault. (Yes I took in consideration the different sizes of the SDs, setting the correct memory start address on the project defenitions )

Is there any chance you can point me to a full project that I can just download and get working? Thank you for your attention and help, looking forward for your reply.

Parents
  • Hi, the QFACA1 build code is the latest 3rd revision of the nRF51-series, and the variant with the largest RAM size. So this should be good. A few things you might check: devzone.nordicsemi.com/.../

  • This sounds like you have a softdevice assertion, but it is not caught by your assertion handler. Looking at the project you attached, the assert_nrf_callback is unfortunately removed by the linker as "unused" when using armcc. If you add attribute((used)) infront of the function definitition in main.c, the softdevice assertion should be reported.

    One reason to get a timeslot assertion right away is if the radio peripheral was left in an undefined state, so that it's generating unexpected interrupts, and this can happen if you have increased the UESB_CORE_MAX_PAYLOAD_LENGTH beyond 243 in the application you have provided. Once the radio is in an undefined state, you should isolate it (turn off the peer), your application, and pin reset (or powercycle).

Reply
  • This sounds like you have a softdevice assertion, but it is not caught by your assertion handler. Looking at the project you attached, the assert_nrf_callback is unfortunately removed by the linker as "unused" when using armcc. If you add attribute((used)) infront of the function definitition in main.c, the softdevice assertion should be reported.

    One reason to get a timeslot assertion right away is if the radio peripheral was left in an undefined state, so that it's generating unexpected interrupts, and this can happen if you have increased the UESB_CORE_MAX_PAYLOAD_LENGTH beyond 243 in the application you have provided. Once the radio is in an undefined state, you should isolate it (turn off the peer), your application, and pin reset (or powercycle).

Children
No Data
Related