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

Debug ble_app_hrs

Hi all

I can debug some example project with breakpoints likes blinky_example. But in ble_app_hrs project, how can I set breakpoints and watch variable value with Keil?

In nRF51822 Development Kit User Guide, we know the example ble_app_hrs execute via Master Control Panel, but if I want to set breakpoints and watch variable value, seems can not set breakpoints and go to debug session directly ?

In my case, the Keil will stop as the screen shout as below: https://devzone.nordicsemi.com/?controller=attachment&task=displayFile&tmpl=component&id=200

I read the the article: CAN I DEBUG BLE PROGRAM?

Seems I can watch the debug message via UART protocol ? Now I have hardware: PCA0000 and PCA0001.

And how can I receive the UART message? Via hypertrm ? I need some guide .

123.png

  • FormerMember
    0 FormerMember

    Hello,

    This post may answer your question..?

    Regards, Kristin

  • your jlinkSetting.ini iserror

  • your jlinkSetting.ini iserror

  • What kind error ? I don't understand.

    My jlinkSetting.ini :

    [BREAKPOINTS] ShowInfoWin = 1 EnableFlashBP = 2 BPDuringExecution = 0 [CFI] CFISize = 0x00 CFIAddr = 0x00 [CPU] OverrideMemMap = 0 AllowSimulation = 1 ScriptFile="" [FLASH] CacheExcludeSize = 0x00 CacheExcludeAddr = 0x00 MinNumBytesFlashDL = 0 SkipProgOnCRCMatch = 1 VerifyDownload = 1 AllowCaching = 1 EnableFlashDL = 2 Override = 0 Device="UNSPECIFIED" [GENERAL] WorkRAMSize = 0x00 WorkRAMAddr = 0x00 RAMUsageLimit = 0x00 [SWO] SWOLogFile="" [MEM] RdOverrideOrMask = 0x00 RdOverrideAndMask = 0xFFFFFFFF RdOverrideAddr = 0xFFFFFFFF WrOverrideOrMask = 0x00 WrOverrideAndMask = 0xFFFFFFFF WrOverrideAddr = 0xFFFFFFFF

  • Have you solved this problem? If not, are you sure that you have flashed the softdevice to the chip? If you haven't, you will see strange errors when trying to debug. For convenience, you should also make sure to remove the check for is_first_start() in the main function and the sleep-entering code within, so that the chip doesn't go to sleep before the debugger is able to catch it.

1 2