Another one of the cortex M series issues
================================

* The Cortex M code assumes that the DAP ports are rather fixed.

* The Cortex A code sometimes cannot discover the correct AP ports

* The current code does not support mixed cortexA and cortexM on the same DAP 
(below details)
        If a Cortex A processor is “polled” - that poll operation will change 
the AP number 
        Later - the cortex M is polled - but the AP is not put back to the M’s  
AP number
        See below for details.

* DAP auto discovery sometimes auto discovers wrongly (i.e.: Multiple CPUs…. 
multiple aps)
        Being able to define at configuration time is more helpful, see below

*  The CotexM may not share the “system bus” or there may be another 
“other-system-bus” that is applicable.

* There may be more then 1 CortexM present.

Proposal

For both cortex_m and cortex_a add this:

        $_TARGET cortex_m  debug_ap   <NUMBER>
        $_TARGET cortex_m  memory_ap <NUMBER>

With no value, commands display the current AP number

Background

        a) The Cortex A series has a “debug_ap” and a “memory_ap”
                Duplicate this functionality on the cortexM side {only debug ap 
exists}

        b) The cortex M series is a bit more of a change
                It does not use the “_ap_” memory access functions.
                See below for details

        c) Add commands to allow the script to override auto-discovered/wrong 
values
                Default would - be as it is today no change there.
                The change here is really to allow manually setting these ap 
numbers.

        d) Proposed variable type change to help with (c)
                Currently the debug_ap member variable is an uint8_t  - which 
is valid for the type.
                But - this requires an extra variable to indicate if the  “ap” 
number has been set or not.
                Proposal:  Change this variable type from uint8_t to  “int”
                Use the value -1 to indicate the value has not been set.
                Then - when the target is examined the code that currently 
determines the “memory_ap” and debug_ap
                can easily skip the value if it is already set.


-Duane.



------------------------------------------------------------------------------
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.  Get 
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs
_______________________________________________
OpenOCD-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openocd-devel

Reply via email to