Go to file
NIIBE Yutaka ea96a32119 cleanup
2010-09-04 18:52:25 +09:00
boards/OLIMEX_STM32_H103 USB-CDC test 2010-08-10 15:35:34 +09:00
ChibiOS_2.0.2 Initial import 2010-08-10 12:11:02 +09:00
doc more changes 2010-09-04 00:42:36 +09:00
polarssl-0.14.0 Now, v2 works. 2010-08-30 20:02:22 +09:00
src cleanup 2010-09-04 18:52:25 +09:00
STM32_USB-FS-Device_Driver works now again 2010-09-04 18:44:01 +09:00
Virtual_COM_Port works now again 2010-09-04 18:44:01 +09:00
README Now, v2 works. 2010-08-30 20:02:22 +09:00

Gnuk - A USB Token software implementation

						Version 0.0	2010-09-01
							      Niibe Yutaka

What's Gnuk
===========

Gnuk is a USB token software implementation to use with GNU privacy
guard.  Gnuk supports OpenPGP card protocol version 2, and it runs on
Olimex STM32-H103 board.


Release notes
=============

Initially, the development was started with a copy of the files in
ChibiOS_2.0.2/demos/ARMCM3-STM32F103-GCC/*, Makefile, linker script,
and header files (chconf.h, halconf.h, and mcuconf.h).

Since this is the initial release, some garbages still remain.


Target
======

We use Olimex STM32-H103 board.

I think that it runs on Olimex STM32-P103 too.  We are porting to
STM32 Primer 2.


Souce code
==========

Gnuk source code is under src/ directory.


License
=======

It is distributed under GNU General Public Licence version 3 or later
(GPLv3+).


External source code
====================

Gnuk is distributed with external source code.

* ChibiOS_2.0.2/  -- ChibiOS/RT 2.0.2
Taken from http://chibios.sourceforge.net/
Note that CRLF is converted to LF in this repository.
We use ChibiOS/RT as the kernel for Gnuk.

* polarssl-0.14.0/  -- PolarSSL 0.14.0
Taken from http://polarssl.org/
We use PolarSSL for RSA computation.


* STM32_USB-FS-Device_Driver/ -- a part of USB-FS-Device_Lib
* Virtual_COM_Port/ -- a part of USB-FS-Device_Lib

STM32F10x USB Full Speed Device Library (USB-FS-Device_Lib)
is a STM32F10x library for USB functionality.

I took Libraries/STM32_USB-FS-Device_Driver and a part of
Project/ in STM32_USB-FS-Device_Lib distribution.
See http://www.st.com for detail.


How to compile
==============

You need GNU Toolchain and newlib for 'arm-none-eabi' target.

See http://github.com/esden/summon-arm-toolchain/ for preparation of
GNU Toolchain for 'arm-none-eabi' target.

  $ cd gnuk-VERSION/src
  $ make

Then, we will have "gnuk.elf".


How to run
==========

If you are using Olimex JTAG-Tiny, type following to invoke OpenOCD:

  $ openocd -f interface/olimex-jtag-tiny.cfg -f board/olimex_stm32_h103.cfg

Then, with another terminal, type following to write "gnuk.elf" to Flash ROM:

  $ telnet localhost 4444
  > reset halt
  > flash write_image erase gnuk.elf
  > reset
  > exit
  $ 


How to debug
============

We can use GDB.

  $ arm-none-eabi-gdb gnuk.elf

--