Thanks for reply. I had read most of documents and code examples about systick but I couldn't make it work due to my lack of understanding.
SoI implemented the function using watchdog timer with DMA, it was super easier and simpler for me. But I am not sure what is the side effect when using WDT already when I design low power mode. And thought?
As far as I could tell, the WDT uses the low frequency clock, so if you are already going to have a LFCLK running for either the BLE module, or another peripheral (e.g. another WDT), then there should be no power difference. I'm not sure what the power effects for the DMA are, but you can always test the difference between having it on and off for current draw; The WDT should run while the unit is in deep-sleep or sleep; If you are using it to interrupt, then it will wakeup the unit from sleep or deep sleep mode.
I haven't used the systick either, as it seemed like it was merely a cypress-defined implementation of a general timer, which I didn't need for my application. Similar to a RTC, but based on the system clock.