Skip to content

Commit

Permalink
added autotools integration.
Browse files Browse the repository at this point in the history
git-svn-id: https://libswd.svn.sourceforge.net/svnroot/libswd/trunk@15 c3efbdc8-ab98-4870-8aff-218f92231fbf
  • Loading branch information
cederom committed Apr 2, 2011
1 parent 2b6c8f5 commit f1df6c0
Show file tree
Hide file tree
Showing 107 changed files with 476 additions and 3,446 deletions.
29 changes: 29 additions & 0 deletions libswd/COPYING
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
Serial Wire Debug Open Library is distributed under 3-clause BSD license.

Copyright (C) 2010-2011, Tomasz Boleslaw CEDRO (http://www.tomek.cedro.info)
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
3. Neither the name of the Tomasz Boleslaw CEDRO nor the names of its
contributors may be used to endorse or promote products derived from this
software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
OF THE POSSIBILITY OF SUCH DAMAGE.*

Written by Tomasz Boleslaw CEDRO <tomek@cedro.info>, 2010-2011;
9 changes: 9 additions & 0 deletions libswd/ChangeLog
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@

LibSWD-0.1 (2011-04-02):
Initial release of LibSWD:
* Basic functionality of transport, queue and drivers for ADIv5.0.
* Automated SW-DP activation/reset and IDCODE read.
* Tested and verified functionality on UrJTAG.
* Source code documented using Doxygen.
* Autotools integration for standarized build.

11 changes: 6 additions & 5 deletions libswd/src/Doxyfile → libswd/Doxyfile
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# Doxyfile 1.7.1
DOXYFILE_ENCODING = UTF-8
PROJECT_NAME = libswd
PROJECT_NUMBER = 0.0.1
OUTPUT_DIRECTORY = ../doc
PROJECT_NAME = "Serial Wire Debug Open Library"
PROJECT_NUMBER = $(PROJECT)-$(VERSION)
OUTPUT_DIRECTORY = doxygen-doc
CREATE_SUBDIRS = NO

# The OUTPUT_LANGUAGE tag is used to specify the language in which all
Expand Down Expand Up @@ -537,7 +537,8 @@ WARN_LOGFILE =
# directories like "/usr/src/myproject". Separate the files or directories
# with spaces.

INPUT = libswd.h libswd.c libswd_drv_dummy.c
#INPUT = libswd.h libswd.c libswd_drv_dummy.c
INPUT = src/

# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
Expand Down Expand Up @@ -1169,7 +1170,7 @@ RTF_EXTENSIONS_FILE =
# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
# generate man pages

GENERATE_MAN = YES
GENERATE_MAN = NO

# The MAN_OUTPUT tag is used to specify where the man pages will be put.
# If a relative path is entered the value of OUTPUT_DIRECTORY will be
Expand Down
4 changes: 4 additions & 0 deletions libswd/Makefile.am
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
include $(top_srcdir)/aminclude.am
SUBDIRS = src
ACLOCAL_AMFLAGS = -I m4
nobase_dist_pkgdata_DATA = doc/libswd-0.1.pdf
26 changes: 26 additions & 0 deletions libswd/NEWS
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
2011-04-02:
-----------
* LibSWD initial version 0.1 released to the public.

2011-03-23:
-----------
* Integration with UrJTAG complete. Source code sent to developers.
* Functionality verification complete. Updated work in progress description
at http://stm32primer2swd.sourceforge.net/

2011-02-09:
-----------
* Remote source code repository (SVN) started.

2010-12-29:
-----------
* Official LibSWD project website launched at http://libswd.sf.net

2010-11-23:
-----------
* Decision to implement SWD API as standalone library.

2010-10-21:
-----------
* Work to create open swd implementation has begun.
* Website with progress log launched at http://stm32primer2swd.sourceforge.net/.
43 changes: 43 additions & 0 deletions libswd/README
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
Serial Wire Debug Open Library Readme File

1. General information.
2. How to build and install.

----------------------
1. General information

Serial Wire Debug Open Library is first open solution for accessing the SW-DP (Serial Wire Debug Port) on ARM Cortex CPU based embedded systems. Library is available under "new" 3 clause BSD License. This project was started by Tomek Cedro to create and document Free and Open-Source SWD (Serial Wire Debug) access to new ARM-Cortex CPU cores. SWD is an alternative to JTAG method for accessing the DAP that allows low-level access to system resources such as system bus, memory, IO, even single stepping the code execution - a must-have for an embedded systems developer.

SWD works on both simple and advanced devices from the ARM Cortex family. By default Cortex CPU or FPGA'a IP Core is both JTAG and SWD capable, so the common name for this transport method is SWJ (Serial Wire and JTAG). It is the application requirement and designer choice if a final product supports JTAG, SWD, or both (SWJ).

LibSWD can be considered almost standalone to be easily integrated into third party software with minimal impact on existing program structure. LibSWD implements all utilities necessary to generate bit stream and queue bus operations on both high (operation) and low (bit) abstraction level. High level functions can be called from external application to generate queue that represent bus operations or simply produce a bitstream that can be later flushed into real hardware with simple set of functions (these functions can utilise existing cable drivers already implemented in external software).

The first approach and practical tests were performed on simple STM32Primer development kits using UrJTAG and OpenOCD utilities as described on the http://stm32primer2.sf.net project webstie. Major parts of this research were conducted as a cooperation between Orange Labs Warsaw and Orange Labs Paris, and some additionally by Cybernetic Research Student Group from Warsaw University of Technology in Poland that I am founder and member.

For more information please visit project website at http://libswd.sf.net.


----------------------------
2. How to build and install.

To obtain the latest release visit project website at http://libswd.sf.net. LibSWD use Autotools so the build and install procedure is pretty straightforward:

tar xjvf libswd-<version>.tar.bz2
cd libswd-<version>
./configure <optional parameters>
make install clean

It is possible to build the documentation in html, pdf or both formats. Note that you need to have Doxygen installed for this to work. Additionally you need to have LaTeX installed to build the PDF.

make doxygen-pdf
make doxygen-html
make doxygen-doc

To create package file for distribution type:

make distcheck

To uninstall the library type:

make uninstall

Loading

0 comments on commit f1df6c0

Please sign in to comment.