diff --git a/examples/bare1.rs b/examples/bare1.rs
index c043f2134ed67220d2e1a6a607ae89a0bcdb509f..bfa0249eae37121db2b19cc47cf87afe3c6c96c3 100644
--- a/examples/bare1.rs
+++ b/examples/bare1.rs
@@ -28,7 +28,7 @@ fn main() {
     // to prevent returning
     loop {
         cortex_m::asm::nop();
-        // cortex_m::asm::bkpt();
+        cortex_m::asm::bkpt();
     }
 }
 
@@ -53,6 +53,14 @@ fn main() {
 // (if you are NOT under eclipse, then give the command in gdb console
 // (gdb) disassemble
 // ** your answer here **
+//   0x08000450 <+80>:	ldr	r0, [sp, #4]
+//   0x08000452 <+82>:	bl	0x8002326 <cortex_m::peripheral::SCB::enable_fpu>
+//   0x08000456 <+86>:	b.n	0x8000458 <cortex_m_rt::reset_handler+88>
+//   0x08000458 <+88>:	bl	0x8001716 <cortex_m_rt::reset_handler::main>
+//   0x0800045c <+92>:	b.n	0x800045e <cortex_m_rt::reset_handler+94>
+//   0x0800045e <+94>:	b.n	0x8000460 <cortex_m_rt::reset_handler+96>
+//   0x08000460 <+96>:	wfi
+//   0x08000462 <+98>:	b.n	0x8000460 <cortex_m_rt::reset_handler+96>
 //
 // commit your answers (bare1_2)
 //
@@ -61,13 +69,32 @@ fn main() {
 // what is shown in the Dissasmbly view, what instruction is executing
 // ** your answer here **
 //
-// commit your answers (bare1_3)
+//    0x08000450 <+80>:	ldr	r0, [sp, #4]
+//   0x08000452 <+82>:	bl	0x800232a <cortex_m::peripheral::SCB::enable_fpu>
+//   0x08000456 <+86>:	b.n	0x8000458 <cortex_m_rt::reset_handler+88>
+//   0x08000458 <+88>:	bl	0x800171a <cortex_m_rt::reset_handler::main>
+//   0x0800045c <+92>:	b.n	0x800045e <cortex_m_rt::reset_handler+94>
+//   0x0800045e <+94>:	b.n	0x8000460 <cortex_m_rt::reset_handler+96>
+//   0x08000460 <+96>:	wfi
+//   0x08000462 <+98>:	b.n	0x8000460 <cortex_m_rt::reset_handler+96>
+//
+//
+//commit your answers (bare1_3)
 //
 // 4. now remeve the comment line 31
 // what is shown in the Dissasmbly view, what instruction is executing
 // ** your answer here **
 //
-// commit your answers (bare1_4)
+//   0x08000450 <+80>:	ldr	r0, [sp, #4]
+//   0x08000452 <+82>:	bl	0x800232a <cortex_m::peripheral::SCB::set_fpu_access_mode+138>
+//   0x08000456 <+86>:	b.n	0x8000458 <cortex_m_rt::reset_handler+88>
+//   0x08000458 <+88>:	bl	0x800171a <rust_begin_unwind+112>
+//   0x0800045c <+92>:	b.n	0x800045e <cortex_m_rt::reset_handler+94>
+//   0x0800045e <+94>:	b.n	0x8000460 <cortex_m_rt::reset_handler+96>
+//   0x08000460 <+96>:	wfi
+//   0x08000462 <+98>:	b.n	0x8000460 <cortex_m_rt::reset_handler+96>
+//
+//commit your answers (bare1_4)
 //
 // 5. release mode (optimized builds)
 // rebuild bare1 in release (optimized mode)
@@ -82,6 +109,24 @@ fn main() {
 // c
 // (to continue executing)
 // ** your answer here **
+//   0x08000450 <+80>:	ldr	r0, [sp, #4]
+//   0x08000452 <+82>:	bl	0x800232a <.Lref.Y+86>
+//   0x08000456 <+86>:	b.n	0x8000458 <cortex_m_rt::reset_handler+88>
+//   0x08000458 <+88>:	bl	0x800171a <<char as core::fmt::Debug>::fmt+298>
+//   0x0800045c <+92>:	b.n	0x800045e <cortex_m_rt::reset_handler+94>
+//   0x0800045e <+94>:	b.n	0x8000460 <cortex_m_rt::reset_handler+96>
+//   0x08000460 <+96>:	wfi
+//   0x08000462 <+98>:	b.n	0x8000460 <cortex_m_rt::reset_handler+96>
+//   0x08000464 <+100>:	push	{r4, r6, r7, lr}
+//   0x08000466 <+102>:	add	r7, sp, #8
+//   0x08000468 <+104>:	sub	sp, #48	; 0x30
+//   0x0800046a <+106>:	mov	r3, r2
+//   0x0800046c <+108>:	mov	r12, r1
+//   0x0800046e <+110>:	mov	lr, r0
+//   0x08000470 <+112>:	str	r0, [sp, #28]
+//   0x08000472 <+114>:	str	r1, [sp, #32]
+//   0x08000474 <+116>:	str	r2, [sp, #36]	; 0x24
+//
 //
 // commit your answers (bare1_5)
 
diff --git a/gdb.txt b/gdb.txt
new file mode 100644
index 0000000000000000000000000000000000000000..141a94e81940dd111d4530cc3fba746762ba8a71
--- /dev/null
+++ b/gdb.txt
@@ -0,0 +1,183 @@
+Undefined command: "disassambli".  Try "help".
+Undefined command: "dissasmbly".  Try "help".
+Dump of assembler code for function cortex_m_semihosting::hio::write_all:
+   0x080013f4 <+0>:	push	{r7, lr}
+   0x080013f6 <+2>:	mov	r7, sp
+   0x080013f8 <+4>:	sub	sp, #112	; 0x70
+   0x080013fa <+6>:	mov	r3, r2
+   0x080013fc <+8>:	mov	r12, r1
+   0x080013fe <+10>:	mov	lr, r0
+   0x08001400 <+12>:	str	r0, [sp, #68]	; 0x44
+   0x08001402 <+14>:	str	r1, [sp, #72]	; 0x48
+   0x08001404 <+16>:	str	r2, [sp, #76]	; 0x4c
+   0x08001406 <+18>:	str	r3, [sp, #64]	; 0x40
+   0x08001408 <+20>:	str.w	r12, [sp, #60]	; 0x3c
+   0x0800140c <+24>:	str.w	lr, [sp, #56]	; 0x38
+   0x08001410 <+28>:	b.n	0x8001412 <cortex_m_semihosting::hio::write_all+30>
+   0x08001412 <+30>:	ldr	r0, [sp, #72]	; 0x48
+   0x08001414 <+32>:	ldr	r1, [sp, #76]	; 0x4c
+   0x08001416 <+34>:	bl	0x8001200 <core::slice::SliceExt::is_empty>
+   0x0800141a <+38>:	str	r0, [sp, #52]	; 0x34
+   0x0800141c <+40>:	b.n	0x8001426 <cortex_m_semihosting::hio::write_all+50>
+   0x0800141e <+42>:	movs	r0, #0
+   0x08001420 <+44>:	strb.w	r0, [r7, #-29]
+Quit
+Detaching from program: /home/grammers/rtfm-app/target/thumbv7em-none-eabihf/debug/examples/bare1, Remote target
+Ending remote debugging.
+Undefined command: "dissasemble".  Try "help".
+Dump of assembler code for function cortex_m_rt::reset_handler:
+=> 0x08000400 <+0>:	push	{r7, lr}
+   0x08000402 <+2>:	mov	r7, sp
+   0x08000404 <+4>:	sub	sp, #8
+   0x08000406 <+6>:	movw	r0, #0
+   0x0800040a <+10>:	movt	r0, #8192	; 0x2000
+   0x0800040e <+14>:	movw	r1, #0
+   0x08000412 <+18>:	movt	r1, #8192	; 0x2000
+   0x08000416 <+22>:	bl	0x8001520 <r0::zero_bss>
+   0x0800041a <+26>:	b.n	0x800041c <cortex_m_rt::reset_handler+28>
+   0x0800041c <+28>:	movw	r0, #0
+   0x08000420 <+32>:	movt	r0, #8192	; 0x2000
+   0x08000424 <+36>:	movw	r1, #0
+   0x08000428 <+40>:	movt	r1, #8192	; 0x2000
+   0x0800042c <+44>:	movw	r2, #19616	; 0x4ca0
+   0x08000430 <+48>:	movt	r2, #2048	; 0x800
+   0x08000434 <+52>:	bl	0x800156a <r0::init_data>
+   0x08000438 <+56>:	b.n	0x800043a <cortex_m_rt::reset_handler+58>
+   0x0800043a <+58>:	movw	r0, #15736	; 0x3d78
+   0x0800043e <+62>:	movt	r0, #2048	; 0x800
+   0x08000442 <+66>:	ldr	r0, [r0, #0]
+   0x08000444 <+68>:	bl	0x80015d2 <<bare_metal::Peripheral<T>>::get>
+   0x08000448 <+72>:	str	r0, [sp, #0]
+   0x0800044a <+74>:	b.n	0x800044c <cortex_m_rt::reset_handler+76>
+   0x0800044c <+76>:	ldr	r0, [sp, #0]
+   0x0800044e <+78>:	str	r0, [sp, #4]
+   0x08000450 <+80>:	ldr	r0, [sp, #4]
+   0x08000452 <+82>:	bl	0x8002326 <cortex_m::peripheral::SCB::enable_fpu>
+   0x08000456 <+86>:	b.n	0x8000458 <cortex_m_rt::reset_handler+88>
+   0x08000458 <+88>:	bl	0x8001716 <cortex_m_rt::reset_handler::main>
+   0x0800045c <+92>:	b.n	0x800045e <cortex_m_rt::reset_handler+94>
+   0x0800045e <+94>:	b.n	0x8000460 <cortex_m_rt::reset_handler+96>
+   0x08000460 <+96>:	wfi
+   0x08000462 <+98>:	b.n	0x8000460 <cortex_m_rt::reset_handler+96>
+End of assembler dump.
+Undefined command: "disassemblie".  Try "help".
+Dump of assembler code for function cortex_m_rt::reset_handler:
+=> 0x08000400 <+0>:	push	{r7, lr}
+   0x08000402 <+2>:	mov	r7, sp
+   0x08000404 <+4>:	sub	sp, #8
+   0x08000406 <+6>:	movw	r0, #0
+   0x0800040a <+10>:	movt	r0, #8192	; 0x2000
+   0x0800040e <+14>:	movw	r1, #0
+   0x08000412 <+18>:	movt	r1, #8192	; 0x2000
+   0x08000416 <+22>:	bl	0x8001524 <r0::zero_bss>
+   0x0800041a <+26>:	b.n	0x800041c <cortex_m_rt::reset_handler+28>
+   0x0800041c <+28>:	movw	r0, #0
+   0x08000420 <+32>:	movt	r0, #8192	; 0x2000
+   0x08000424 <+36>:	movw	r1, #0
+   0x08000428 <+40>:	movt	r1, #8192	; 0x2000
+   0x0800042c <+44>:	movw	r2, #19632	; 0x4cb0
+   0x08000430 <+48>:	movt	r2, #2048	; 0x800
+   0x08000434 <+52>:	bl	0x800156e <r0::init_data>
+   0x08000438 <+56>:	b.n	0x800043a <cortex_m_rt::reset_handler+58>
+   0x0800043a <+58>:	movw	r0, #15752	; 0x3d88
+   0x0800043e <+62>:	movt	r0, #2048	; 0x800
+   0x08000442 <+66>:	ldr	r0, [r0, #0]
+   0x08000444 <+68>:	bl	0x80015d6 <<bare_metal::Peripheral<T>>::get>
+   0x08000448 <+72>:	str	r0, [sp, #0]
+   0x0800044a <+74>:	b.n	0x800044c <cortex_m_rt::reset_handler+76>
+   0x0800044c <+76>:	ldr	r0, [sp, #0]
+   0x0800044e <+78>:	str	r0, [sp, #4]
+   0x08000450 <+80>:	ldr	r0, [sp, #4]
+   0x08000452 <+82>:	bl	0x800232a <cortex_m::peripheral::SCB::enable_fpu>
+   0x08000456 <+86>:	b.n	0x8000458 <cortex_m_rt::reset_handler+88>
+   0x08000458 <+88>:	bl	0x800171a <cortex_m_rt::reset_handler::main>
+   0x0800045c <+92>:	b.n	0x800045e <cortex_m_rt::reset_handler+94>
+   0x0800045e <+94>:	b.n	0x8000460 <cortex_m_rt::reset_handler+96>
+   0x08000460 <+96>:	wfi
+   0x08000462 <+98>:	b.n	0x8000460 <cortex_m_rt::reset_handler+96>
+End of assembler dump.
+Detaching from program: /home/grammers/rtfm-app/target/thumbv7em-none-eabihf/debug/examples/bare1, Remote target
+Ending remote debugging.
+Dump of assembler code for function cortex_m_rt::reset_handler:
+=> 0x08000400 <+0>:	push	{r7, lr}
+   0x08000402 <+2>:	mov	r7, sp
+   0x08000404 <+4>:	sub	sp, #8
+   0x08000406 <+6>:	movw	r0, #0
+   0x0800040a <+10>:	movt	r0, #8192	; 0x2000
+   0x0800040e <+14>:	movw	r1, #0
+   0x08000412 <+18>:	movt	r1, #8192	; 0x2000
+   0x08000416 <+22>:	bl	0x8001524 <cortex_m_semihosting::hio::write_all+300>
+   0x0800041a <+26>:	b.n	0x800041c <cortex_m_rt::reset_handler+28>
+   0x0800041c <+28>:	movw	r0, #0
+   0x08000420 <+32>:	movt	r0, #8192	; 0x2000
+   0x08000424 <+36>:	movw	r1, #0
+   0x08000428 <+40>:	movt	r1, #8192	; 0x2000
+   0x0800042c <+44>:	movw	r2, #19632	; 0x4cb0
+   0x08000430 <+48>:	movt	r2, #2048	; 0x800
+   0x08000434 <+52>:	bl	0x800156e <r0::zero_bss+70>
+   0x08000438 <+56>:	b.n	0x800043a <cortex_m_rt::reset_handler+58>
+   0x0800043a <+58>:	movw	r0, #15752	; 0x3d88
+   0x0800043e <+62>:	movt	r0, #2048	; 0x800
+   0x08000442 <+66>:	ldr	r0, [r0, #0]
+   0x08000444 <+68>:	bl	0x80015d6 <r0::init_data+100>
+   0x08000448 <+72>:	str	r0, [sp, #0]
+   0x0800044a <+74>:	b.n	0x800044c <cortex_m_rt::reset_handler+76>
+   0x0800044c <+76>:	ldr	r0, [sp, #0]
+   0x0800044e <+78>:	str	r0, [sp, #4]
+   0x08000450 <+80>:	ldr	r0, [sp, #4]
+   0x08000452 <+82>:	bl	0x800232a <cortex_m::peripheral::SCB::set_fpu_access_mode+138>
+   0x08000456 <+86>:	b.n	0x8000458 <cortex_m_rt::reset_handler+88>
+   0x08000458 <+88>:	bl	0x800171a <rust_begin_unwind+112>
+   0x0800045c <+92>:	b.n	0x800045e <cortex_m_rt::reset_handler+94>
+   0x0800045e <+94>:	b.n	0x8000460 <cortex_m_rt::reset_handler+96>
+   0x08000460 <+96>:	wfi
+   0x08000462 <+98>:	b.n	0x8000460 <cortex_m_rt::reset_handler+96>
+End of assembler dump.
+Detaching from program: /home/grammers/rtfm-app/target/thumbv7em-none-eabihf/debug/examples/bare1, Remote target
+Ending remote debugging.
+Dump of assembler code for function cortex_m_rt::reset_handler:
+=> 0x08000400 <+0>:	push	{r7, lr}
+   0x08000402 <+2>:	mov	r7, sp
+   0x08000404 <+4>:	sub	sp, #8
+   0x08000406 <+6>:	movw	r0, #0
+   0x0800040a <+10>:	movt	r0, #8192	; 0x2000
+   0x0800040e <+14>:	movw	r1, #0
+   0x08000412 <+18>:	movt	r1, #8192	; 0x2000
+   0x08000416 <+22>:	bl	0x8001524 <core::fmt::Formatter::pad+758>
+   0x0800041a <+26>:	b.n	0x800041c <cortex_m_rt::reset_handler+28>
+   0x0800041c <+28>:	movw	r0, #0
+   0x08000420 <+32>:	movt	r0, #8192	; 0x2000
+   0x08000424 <+36>:	movw	r1, #0
+   0x08000428 <+40>:	movt	r1, #8192	; 0x2000
+   0x0800042c <+44>:	movw	r2, #19632	; 0x4cb0
+   0x08000430 <+48>:	movt	r2, #2048	; 0x800
+   0x08000434 <+52>:	bl	0x800156e <core::fmt::Formatter::pad+832>
+   0x08000438 <+56>:	b.n	0x800043a <cortex_m_rt::reset_handler+58>
+   0x0800043a <+58>:	movw	r0, #15752	; 0x3d88
+   0x0800043e <+62>:	movt	r0, #2048	; 0x800
+   0x08000442 <+66>:	ldr	r0, [r0, #0]
+   0x08000444 <+68>:	bl	0x80015d6 <core::fmt::Formatter::pad+936>
+   0x08000448 <+72>:	str	r0, [sp, #0]
+   0x0800044a <+74>:	b.n	0x800044c <cortex_m_rt::reset_handler+76>
+   0x0800044c <+76>:	ldr	r0, [sp, #0]
+   0x0800044e <+78>:	str	r0, [sp, #4]
+   0x08000450 <+80>:	ldr	r0, [sp, #4]
+   0x08000452 <+82>:	bl	0x800232a <.Lref.Y+86>
+   0x08000456 <+86>:	b.n	0x8000458 <cortex_m_rt::reset_handler+88>
+   0x08000458 <+88>:	bl	0x800171a <<char as core::fmt::Debug>::fmt+298>
+   0x0800045c <+92>:	b.n	0x800045e <cortex_m_rt::reset_handler+94>
+   0x0800045e <+94>:	b.n	0x8000460 <cortex_m_rt::reset_handler+96>
+   0x08000460 <+96>:	wfi
+   0x08000462 <+98>:	b.n	0x8000460 <cortex_m_rt::reset_handler+96>
+   0x08000464 <+100>:	push	{r4, r6, r7, lr}
+   0x08000466 <+102>:	add	r7, sp, #8
+   0x08000468 <+104>:	sub	sp, #48	; 0x30
+   0x0800046a <+106>:	mov	r3, r2
+   0x0800046c <+108>:	mov	r12, r1
+   0x0800046e <+110>:	mov	lr, r0
+   0x08000470 <+112>:	str	r0, [sp, #28]
+   0x08000472 <+114>:	str	r1, [sp, #32]
+   0x08000474 <+116>:	str	r2, [sp, #36]	; 0x24
+End of assembler dump.
+Detaching from program: /home/grammers/rtfm-app/target/thumbv7em-none-eabihf/release/examples/bare1, Remote target
+Ending remote debugging.