OpenSDA Developer Guide

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

OpenSDA Developer Guide

7,049 Views
robertmccormick
Contributor II

Hi everyone,

I'm looking for more information on OpenSDA.  I see that the OpenSDA User's Guide has the following statement:

"Information on how to integrate OpenSDA into a custom hardware design and how to create custom OpenSDA applications can be

found in the OpenSDA Developer’s Guide (available October 2012)."

Does anyone have a link to the Developer's Guide? I am not able to locate it.

Thanks,

Robert

9 Replies

3,273 Views
hmyoong
Contributor III

Came across this article on openSDAv2 and openSDAv2.1.

Hope can try this one day.

0 Kudos

3,273 Views
robertboys
Contributor IV

Hello

OpenSDA has two modes to my experience:  P&E and CMSIS-DAP.  Attached is one version of CMSIS-DAP mode.  This is the first version of CMSIS-DAP released by ARM/Keil.  It is open source and I believe it has a BSD license.  You must put it into the on-board OpenSDA CPU Flash.  See Page 8:  www.keil.com/appnotes/docs/apnt_299.asp

This is not the executable that would be placed in the CMSIS-DAP processor.  This executable runs this S19 file or te P&E firmware.

CMSIS-DAP can be used by many debuggers including Keil uVision and IAR etc.  Sometimes they change the name.  LPC Link II is CMSIS-DAP compatible.  mbed has one.

The second version of CMSIS-DAP is on GitHub:  CMSIS_5/CMSIS/DAP/Firmware at develop · ARM-software/CMSIS_5 · GitHub 

This version falls under CMSIS 5 and therefore has a Apache 2.0 license.  (RTX 5 now has the Apache 2.0 license too and comes with source code)

An example for LPC-Link II is included.  This version of CMSIS-DAP supports Serial Wire Viewer (SWV).

Since it is really open source, you can use it in your own projects free of charge.

The documentation for CMSIS-DAP is here:  Firmware for CoreSight Debug Access Port 

I am not sure where the first version of CMSIS-DAP is stored.

If someone gets CMSIS-DAP working on a NXP/Freescale board with SWV, I would like to hear about this.

Thanks

Bob Boys

bob.boys@arm.com

0 Kudos

3,273 Views
pgo
Senior Contributor V

Hi Robert,

This has been discussed previously (to no useful response!)

Please see:

Availability of OpenSDA standard or Example programs

I'm unsure what aspect you are interested in.

There are a couple of links in the above posting on how to create a Application that can be loaded using OpenSDA i.e. Given OpenSDA is installed it allows loading a second program using the OpenSDA bootloader (into the MK20 chip on the Freedom boards). These were created by trial-and-error.

Also a version of USBDM is available to allow using with an existing OpenSDA device i.e. a FRDM board as a programmer. This is Open Source.

There are also similar CMSIS-based programmers available.

I am not aware of a bootloader that is open source for the Kinetis devices.

The obvious limitation (for open source area anyway) is getting the bootloader onto the chip in the first place.

Many devices from other manufacturers have a bootloader baked in.

I agree that the name and documentation is completely misleading.

bye

0 Kudos

3,273 Views
hmyoong
Contributor III

Please refer to the development on OpenSDA v2 OpenSDAv2 .

The source code is in GitHub - mbedmicro/DAPLink 

0 Kudos

3,273 Views
antonioconcio
NXP Employee
NXP Employee

Hi Robert,

If my understanding is correct and you would like to implement OpenSDA in your custom board, I have to tell you that it is not possible.

OpenSDA comes from P&E Micro and it is only available on Freedom board.

Regards,

Antonio

3,273 Views
robertmccormick
Contributor II

Hi Antonio,

From what I have read on these forums that seemed to be the situation. For what it is worth I am not interested in looking at P&E's implementation of the specification but I am interested in implementing it on my own Freescale based hardware design.

Freescale has a large amount of information online claiming that OpenSDA is an open standard.  This is not the case?  Again, I do not want to look at P&E's implementation which is obviously their own property but I do want to re-implement the standard on my hardware.

If there is no open standard for OpenSDA then Freescale needs to scrub their documents as it is incredibly misleading.

Robert

0 Kudos

3,273 Views
werneralmesberg
Contributor II

Not OpenSDA, but - since it seems that the P&E firmware for the FRDM-KL25Z considers even a KL26 too alien to flash, and I'll need a "lean" embeddable version anyway - I'm writing a library that can put the KL26 (and almost certainly also KL24 and KL25, probably also some of the more distant relatives) into debug mode via SWD, access the AHB (e.g., to toggle IOs), and that can also program the chip's Flash. The latter process is not very reliable yet since there still seems to be some protocol or timing bug in my implementation, so it often takes more than one try to get the chip flashed.

The code, licensed under GPLv2+, is in https://gitorious.org/anelok/anelok/source/libswd/libswd.c and you need to write the equivalent of https://gitorious.org/anelok/anelok/source/libswd/ben.c for driving your hardware. ben.c is more complex than needed just for the Kinetis since it also supports the TI CC2543 (a completely different kind of SoC) and has some code for debugging my hardware as well. But it should be useful as an example of how libswd expects to be used.

Regarding flashing, some of the other Kinetis chips seem to have different memory structures. Some hints for handling these can be found in OpenOCD, file src/flash/nor/kinetis.c

You could also try to write a hardware driver for OpenOCD and use their SWD implementation (which does things a bit differently).

My libswd is still pretty rough but if you're looking for something easily adaptable, then you may find it useful.

- Werner

0 Kudos

3,273 Views
perlam_i_au
Senior Contributor I

You can find the OpenSDA User's Guide here:

http://www.freescale.com/files/32bit/doc/user_guide/OPENSDAUG.pdf

Hope you find it useful :smileygrin:

0 Kudos

3,273 Views
robertmccormick
Contributor II

Perla,

The User Guide that you linked mentions that there is a Developer's Guide.  The statement is just above Figure 1 in the User Guide.  It is the Developer's Guide that I am looking for.

Robert

0 Kudos