239 lines
		
	
	
		
			5.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			239 lines
		
	
	
		
			5.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|   | 
 | ||
|  | /********************************************************************* | ||
|  | * | ||
|  | *       OnProjectLoad | ||
|  | * | ||
|  | * Function description | ||
|  | *   Project load routine. Required. | ||
|  | * | ||
|  | ********************************************************************** | ||
|  | */ | ||
|  | void OnProjectLoad (void) { | ||
|  |   Edit.SysVar (VAR_POWER_SAMPLING_SPEED, FREQ_100_KHZ); | ||
|  |   Project.AddSvdFile ("$(InstallDir)/Config/CPU/Cortex-M4F.svd"); | ||
|  |   Project.AddSvdFile ("../../../../../../../cmsis-svd/data/NXP/LPC408x_7x_v0.7.svd"); | ||
|  | 
 | ||
|  |   Project.SetDevice ("LPC4088"); | ||
|  |   Project.SetHostIF ("USB", ""); | ||
|  |   Project.SetTargetIF ("SWD"); | ||
|  |   Project.SetTIFSpeed ("50 MHz"); | ||
|  |   Project.SetTraceSource ("Trace Pins"); | ||
|  |   Project.SetTracePortWidth (4); | ||
|  | 
 | ||
|  |   // User settings | ||
|  |   File.Open ("../../../../../../examples/device/cdc_msc/cmake-build-ea4088-quickstart/cdc_msc.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(VectorTableAddr); | ||
|  |     Target.SetReg("SP", SP); | ||
|  | 
 | ||
|  |     PC = Target.ReadU32(VectorTableAddr + 4); | ||
|  |     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(VectorTableAddr); | ||
|  |     Target.SetReg("SP", SP); | ||
|  | 
 | ||
|  |     PC = Target.ReadU32(VectorTableAddr + 4); | ||
|  |     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) { | ||
|  | //} |