ARM SWD / JTAG ID (TAPID/DAPID/DPIDR), memory map, and voltage levels

⚠️
Hi there.. thanks for coming to the forums. Exciting news! we’re now in the process of moving to our new forum platform that will offer better functionality and is contained within the main Dialog website. All posts and accounts have been migrated. We’re now accepting traffic on the new forum only - please POST any new threads at//www.xmece.com/support. We’ll be fixing bugs / optimising the searching and tagging over the coming days.
2 posts / 0 new
Last post
r3dsolutions
Offline
Last seen:2 years 11 months ago
加入:2017-04-20 20:11
ARM SWD / JTAG ID (TAPID/DAPID/DPIDR), memory map, and voltage levels

Hi,
I'm preparing to port a Texas Instruments ARM, and MSP430 project to a Bluetooth Soc (eg: for a single chip solution at much lower cost).
We 100% test and calibrate our product's sensors over temperature and save the results inside the processor ROM.
We presently use GNU debugger and python with OpenOCD JTAG debuggers to run calibration algorithms and save results to ROM.

However, in order to use OpenOCD with DA14xxx chips, we need to know the debug access port (DAP) identification information.
What is/are the DAP ID(s) for the DA14xxx family of chips?
For example, a particular competitor has their cortex M0+ storing 0x0BC12477 in the DPIDR (Debug port ID register).
That DPIDR value doesn't change whether the JTAG or the SWD port is used.
I looked at the DA14580 datasheet, but was unable to find DPIDR's value to program into OpenOCD.
The same problem exists in other DA1458x datasheets.

Secondly, I don't know what voltages DA14xxx's pins SWDCLK and SWDIO accept. The levels of DAP/SWD/JTAG pins are not mentioned in Dialog Semiconductor's datasheets.
Our JTAG/SWD hardware can supply 3.3V and is 5V tolerant, but it could be rewired for 1.8V to 3V battery power supplied by the target.
Will SWDCLK/SWDIO always accept 3.3V inputs without damage/malfunction or do we need to use a specific power rail?

Finally, general information like software addresses for system RAM, exchange ram, OTP-ROM and sleep retention RAM is missing from datasheets.
This information is apparently found in gnu/open-source linker files. By searching, I found references to a GNU-linker file called 580.lds and to closed source scatter files.

How do I obtain or create the GNU linker file(s) for DA14xxx chips? Searching for 580.lds in your website's search bar didn't yield even the 580's file. It's contents are also not shown in the application note documenting the file. The data sheets lack the addresses ... and I can't find anything to download or type in.

Device:
MT_dialog
Offline
Last seen:2 months 3 weeks ago
Staff
加入:2015-06-08 11:34
Hi r3dsolutions,

Hi r3dsolutions,

Sorry for the delayed response.

I suppose that the ID CODE that you are looking for regarding the 58x family is 0x0BB11477.

Regarding the SWCLK and SWDIO pins, are just standard GPIO pins and yes they have 3.3V tolerance.

Regarding the addresses of the sysram and the retention rams, ROM etc are not available in the datasheet, you will be able to find some info about that in the UM-B-011:User Manual - DA14580 Memory map and scatter file, in the Discontinued documents, SDK3 documents. Regarding using the GNU toolchain and for porting from a keil project this is not supported by Dialog, there are a couple of references as well as a document regarding the procedure but its not a full guide on how one can perform the above operation and also the document is obsolete. The document is the AN-B-024 : Porting a keil uVision project to the GNU chain tool and you will be able to find the mentioned files for the porting procedure in the SDK in the utilities folder under the uvproj2Makefile directory.

Thanks MT_dialog