]> git.sur5r.net Git - openocd/blobdiff - src/openocd.c
target/mem_ap: generic mem-ap target
[openocd] / src / openocd.c
index bd52f4acf57b36aee476ae1b79f5a0dd6dc41bdb..f084dd4522d6294e027578982f803d9c9b86927b 100644 (file)
@@ -87,13 +87,13 @@ static int log_target_callback_event_handler(struct target *target,
 {
        switch (event) {
                case TARGET_EVENT_GDB_START:
-                       target->display = 0;
+                       target->verbose_halt_msg = false;
                        break;
                case TARGET_EVENT_GDB_END:
-                       target->display = 1;
+                       target->verbose_halt_msg = true;
                        break;
                case TARGET_EVENT_HALTED:
-                       if (target->display) {
+                       if (target->verbose_halt_msg) {
                                /* do not display information when debugger caused the halt */
                                target_arch_state(target);
                        }
@@ -353,16 +353,21 @@ int openocd_main(int argc, char *argv[])
        /* Start the executable meat that can evolve into thread in future. */
        ret = openocd_thread(argc, argv, cmd_ctx);
 
+       flash_free_all_banks();
        gdb_service_free();
        server_free();
 
        unregister_all_commands(cmd_ctx, NULL);
 
-       /* Shutdown commandline interface */
-       command_exit(cmd_ctx);
+       /* free all DAP and CTI objects */
+       dap_cleanup_all();
+       arm_cti_cleanup_all();
 
        adapter_quit();
 
+       /* Shutdown commandline interface */
+       command_exit(cmd_ctx);
+
        free_config();
 
        if (ERROR_FAIL == ret)