123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339 |
- /*********************************************************************
- * (c) SEGGER Microcontroller GmbH *
- * The Embedded Experts *
- * www.segger.com *
- **********************************************************************
- File : ozone.jdebug
- Created : 13 Jul 2023 20:12
- Ozone Version : V3.24
- */
- /*********************************************************************
- *
- * OnProjectLoad
- *
- * Function description
- * Project load routine. Required.
- *
- **********************************************************************
- */
- void OnProjectLoad (void) {
- //
- // Dialog-generated settings
- //
- Project.AddPathSubstitute ("C:/auto_build/zs308b_dev", "$(ProjectDir)");
- //Project.SetDevice ("Cortex-M33");
- Project.SetDevice ("LEOPARD");
- Project.SetHostIF ("USB", "50120677");
- Project.SetTargetIF ("SWD");
- Project.SetTIFSpeed ("10 MHz");
- Project.AddSvdFile ("$(InstallDir)/Config/CPU/Cortex-M33F.svd");
- //Project.SetOSPlugin("ZephyrPlugin_CM4");
- //
- // User settings
- //
- File.Open ("$(ProjectDir)/../../../application/bt_watch/outdir/ats3085s_dev_watch_ext_nor/zephyr/zephyr.elf");
- }
- /*********************************************************************
- *
- * OnStartupComplete
- *
- * Function description
- * Called when program execution has reached/passed
- * the startup completion point. Optional.
- *
- **********************************************************************
- */
- //void OnStartupComplete (void) {
- //}
- /*********************************************************************
- *
- * TargetReset
- *
- * Function description
- * Replaces the default target device reset routine. Optional.
- *
- * Notes
- * This example demonstrates the usage when
- * debugging an application in RAM on a Cortex-M target device.
- *
- **********************************************************************
- */
- //void TargetReset (void) {
- //
- // unsigned int SP;
- // unsigned int PC;
- // unsigned int VectorTableAddr;
- //
- // VectorTableAddr = Elf.GetBaseAddr();
- // //
- // // Set up initial stack pointer
- // //
- // if (VectorTableAddr != 0xFFFFFFFF) {
- // SP = Target.ReadU32(VectorTableAddr);
- // Target.SetReg("SP", SP);
- // }
- // //
- // // Set up entry point PC
- // //
- // PC = Elf.GetEntryPointPC();
- //
- // if (PC != 0xFFFFFFFF) {
- // Target.SetReg("PC", PC);
- // } else if (VectorTableAddr != 0xFFFFFFFF) {
- // PC = Target.ReadU32(VectorTableAddr + 4);
- // Target.SetReg("PC", PC);
- // } else {
- // Util.Error("Project file error: failed to set entry point PC", 1);
- // }
- //}
- /*********************************************************************
- *
- * BeforeTargetReset
- *
- * Function description
- * Event handler routine. Optional.
- *
- **********************************************************************
- */
- //void BeforeTargetReset (void) {
- // Target.WriteU32(0x40000008, 0x0);
- //}
- /*********************************************************************
- *
- * AfterTargetReset
- *
- * Function description
- * Event handler routine. Optional.
- * The default implementation initializes SP and PC to reset values.
- **
- **********************************************************************
- */
- void AfterTargetReset (void) {
- _SetupTarget();
- }
- /*********************************************************************
- *
- * 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. Optional.
- * The default implementation initializes SP and PC to reset values.
- *
- **********************************************************************
- */
- void AfterTargetDownload (void) {
- _SetupTarget();
- }
- /*********************************************************************
- *
- * 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) {
- //}
- /*********************************************************************
- *
- * BeforeTargetResume
- *
- * Function description
- * Event handler routine. Optional.
- *
- **********************************************************************
- */
- //void BeforeTargetResume (void) {
- //}
- /*********************************************************************
- *
- * OnSnapshotLoad
- *
- * Function description
- * Called upon loading a snapshot. Optional.
- *
- * Additional information
- * This function is used to restore the target state in cases
- * where values cannot simply be written to the target.
- * Typical use: GPIO clock needs to be enabled, before
- * GPIO is configured.
- *
- **********************************************************************
- */
- //void OnSnapshotLoad (void) {
- //}
- /*********************************************************************
- *
- * OnSnapshotSave
- *
- * Function description
- * Called upon saving a snapshot. Optional.
- *
- * Additional information
- * This function is usually used to save values of the target
- * state which can either not be trivially read,
- * or need to be restored in a specific way or order.
- * Typically use: Memory Mapped Registers,
- * such as PLL and GPIO configuration.
- *
- **********************************************************************
- */
- //void OnSnapshotSave (void) {
- //}
- /*********************************************************************
- *
- * OnError
- *
- * Function description
- * Called when an error ocurred. Optional.
- *
- **********************************************************************
- */
- //void OnError (void) {
- //}
- /*********************************************************************
- *
- * _SetupTarget
- *
- * Function description
- * Setup the target.
- * Called by AfterTargetReset() and AfterTargetDownload().
- *
- * Auto-generated function. May be overridden by Ozone.
- *
- **********************************************************************
- */
- void _SetupTarget(void) {
- unsigned int SP;
- unsigned int PC;
- unsigned int VectorTableAddr;
-
- VectorTableAddr = 0;//Elf.GetBaseAddr();
-
- if (VectorTableAddr != 0xFFFFFFFF) {
- SP = Target.ReadU32(VectorTableAddr);
- Target.SetReg("SP", SP);
- } else {
- Util.Log("Project file error: failed to get program base");
- }
-
- PC = 0xFFFFFFFF;//Elf.GetEntryPointPC();
-
- if (PC != 0xFFFFFFFF) {
- Target.SetReg("PC", PC);
- } else if (VectorTableAddr != 0xFFFFFFFF) {
- PC = Target.ReadU32(VectorTableAddr + 4);
- Target.SetReg("PC", PC);
- }
- }
|