/********************************************************************* * * OnProjectLoad * * Function description * Project load routine. Required. * ********************************************************************** */ void OnProjectLoad (void) { // // Dialog-generated settings // Project.SetDevice ("nRF52832_xxAA"); Project.SetHostIF ("USB", ""); Project.SetTargetIF ("SWD"); Project.SetTIFSpeed ("1 MHz"); Project.AddSvdFile ("$(InstallDir)/Config/CPU/Cortex-M4F.svd"); Project.AddPathSubstitute ("C:/Work/Support/ES/nRF5_SDK_15.2.0_9412b96/examples/ble_peripheral/ble_app_blinky/pca10040/s132/ses", "$(ProjectDir)"); Project.AddPathSubstitute ("c:/work/support/es/nrf5_sdk_15.2.0_9412b96/examples/ble_peripheral/ble_app_blinky/pca10040/s132/ses", "$(ProjectDir)"); // // User settings // File.Open ("$(ProjectDir)/Output/Debug/Exe/ble_app_blinky_pca10040_s132.elf"); } /********************************************************************* * * TargetReset * * Function description * Replaces the default target device reset routine. Optional. * * Notes * This example demonstrates the usage when * debugging a RAM program on a Cortex-M target device * ********************************************************************** */ //void TargetReset (void) { // // unsigned int SP; // unsigned int PC; // unsigned int VectorTableAddr; // // Exec.Reset(); // // VectorTableAddr = Elf.GetBaseAddr(); // // if (VectorTableAddr != 0xFFFFFFFF) { // // Util.Log("Resetting Program."); // // SP = Target.ReadU32(VectorTableAddr); // Target.SetReg("SP", SP); // // PC = Target.ReadU32(VectorTableAddr + 4); // Target.SetReg("PC", PC); // } //} /********************************************************************* * * BeforeTargetReset * * Function description * Event handler routine. Optional. * ********************************************************************** */ //void BeforeTargetReset (void) { //} /********************************************************************* * * AfterTargetReset * * Function description * Event handler routine. * - Sets the PC register to program reset value. * - Sets the SP register to program reset value on Cortex-M. * ********************************************************************** */ void AfterTargetReset (void) { unsigned int SP; unsigned int PC; unsigned int VectorTableAddr; VectorTableAddr = Elf.GetBaseAddr(); if (VectorTableAddr == 0xFFFFFFFF) { Util.Log("Project file error: failed to get program base"); } else { SP = Target.ReadU32(0x0); Target.SetReg("SP", SP); PC = Target.ReadU32(0x0 + 0x4); Target.SetReg("PC", PC); } } /********************************************************************* * * DebugStart * * Function description * Replaces the default debug session startup routine. Optional. * ********************************************************************** */ //void DebugStart (void) { //} /********************************************************************* * * TargetConnect * * Function description * Replaces the default target IF connection routine. Optional. * ********************************************************************** */ //void TargetConnect (void) { //} /********************************************************************* * * BeforeTargetConnect * * Function description * Event handler routine. Optional. * ********************************************************************** */ //void BeforeTargetConnect (void) { //} /********************************************************************* * * AfterTargetConnect * * Function description * Event handler routine. Optional. * ********************************************************************** */ //void AfterTargetConnect (void) { //} /********************************************************************* * * TargetDownload * * Function description * Replaces the default program download routine. Optional. * ********************************************************************** */ //void TargetDownload (void) { //} /********************************************************************* * * BeforeTargetDownload * * Function description * Event handler routine. Optional. * ********************************************************************** */ //void BeforeTargetDownload (void) { //} /********************************************************************* * * AfterTargetDownload * * Function description * Event handler routine. * - Sets the PC register to program reset value. * - Sets the SP register to program reset value on Cortex-M. * ********************************************************************** */ void AfterTargetDownload (void) { unsigned int SP; unsigned int PC; unsigned int VectorTableAddr; VectorTableAddr = Elf.GetBaseAddr(); if (VectorTableAddr == 0xFFFFFFFF) { Util.Log("Project file error: failed to get program base"); } else { SP = Target.ReadU32(0x0); Target.SetReg("SP", SP); PC = Target.ReadU32(0x0 + 0x4); Target.SetReg("PC", PC); } } /********************************************************************* * * BeforeTargetDisconnect * * Function description * Event handler routine. Optional. * ********************************************************************** */ //void BeforeTargetDisconnect (void) { //} /********************************************************************* * * AfterTargetDisconnect * * Function description * Event handler routine. Optional. * ********************************************************************** */ //void AfterTargetDisconnect (void) { //} /********************************************************************* * * AfterTargetHalt * * Function description * Event handler routine. Optional. * ********************************************************************** */ //void AfterTargetHalt (void) { //}