[PATCH] spec/cpukit: Omit Cortex-M from libdebugger build
Chris Johns
chrisj at rtems.org
Fri Aug 18 00:22:14 UTC 2023
On 18/8/2023 7:01 am, Kinsey Moore wrote:
> On Thu, Aug 17, 2023 at 7:11 AM Kinsey Moore <kinsey.moore at oarcorp.com
> <mailto:kinsey.moore at oarcorp.com>> wrote:
>
> On Wed, Aug 16, 2023 at 9:42 PM Chris Johns <chrisj at rtems.org
> <mailto:chrisj at rtems.org>> wrote:
>
> On 17/8/2023 6:30 am, Kinsey Moore wrote:
> > The current ARM support in libdebugger does not cover Cortex-M series
> > cores since it requires support for CP14 system register accessor
> > instructions. Cortex-M series cores support debug monitor mode, but its
> > configuration is accessed by memory mapped registers instead of using
> > CP14. This omits building libdebugger from BSPs that use a cortex-m ABI
> > flag.
>
> The ARM libdebugger has support to use memory mapped registers. It is
> determined
> by the ROM and then rtems_debugger_arm_debug_registers. I think the code
> currently assume CP14 instructions but I think that could be made
> conditional
> where needed?
>
> Are these builds of Cortex-M processors able to support libdebugger?
>
> I have been rejecting changes like this unless there is a reason it
> cannot be
> made to work. Are there reasons it cannot be made to work?
>
>
> As to my current understanding, I believe that the Cortex-M3/4/7 cores can
> support libdebugger via their exclusive monitor mode. I'll see if I can work
> around the CP14 issues instead.
>
>
> Reading into the relevant Architecture and Technical reference manuals, the ROM
> tables in the Cortex-M cores do not expose information about the debug and data
> watchpoint blocks. It looks like all the breakpoint (0xE0002000) and watchpoint
> (0xE0001000) controls are the same IP at the same address across the Cortex-M
> line, but are in no way compatible with the CP14-based breakpoint and watchpoint
> blocks in the Cortex-A/R lines of cores. The Cortex-M cores require a nearly
> unrelated libdebugger implementation.
Thanks for this and looking into it. I am fine with the change now we understand
it is not compatible. It sounds like a new back end would be cleaner for both
types of devices.
The patch is approved.
Chris
More information about the devel
mailing list