Handle Cortex-M7 FPB Version 2
Handle Cortex-M7 FPB Version 2

Cortex-M7 microcontrollers use the newer version 2 of the Flash Patch
and Breakpoint unit to allow for setting hardware breakpoints. When the
hardware breakpoint setting code in MRI was originally written, only
version 1 existed so it contained no code to properly handle this newer
version. Setting the breakpoint address as in version 1 on version 2
hardware will not set the breakpoint properly. This commit includes
code that can detect this new FPB version and set the breakpoint
address appropriately.

I also fixed a bug in set/getMPURegionAddress() where I was shifting
the base address left by 5 bits when I should have just been masking
off the lower 5 bits. Since I only used this function to set a base
address of 0 from MRI, I never noticed that it was wrong before. I
just happened to notice it during a code review comparing code in
debug_cm3.h to the latest version of the ARMv7-M Architecture Reference
Manual.

adamgreen/mri,adamgreen/mri,adamgreen/mri