swddude.cpp: set high level debugging

Signed-off-by: Federico Vaga <federicov@linino.org>
gpio.{h|cpp}: class to handle single GPIO

Signed-off-by: Federico Vaga <federicov@linino.org>
swd_gpio.{h|cpp}: add GPIO driver

Signed-off-by: Federico Vaga <federicov@linino.org>
replace USB with GPIO driver

I did not remove the old error_main() function because it helps during
development. I will remove it later.
swddude.cpp: set static CLK and DIO GPIO

I will add options to program the GPIO pins

Signed-off-by: Federico Vaga <federicov@linino.org>
Makefile: use ARCH environment to cross comile

Signed-off-by: Federico Vaga <federicov@linino.org>
swd_gpio.{h|cpp}: add code to reset SW-DP

Signed-off-by: Federico Vaga <federicov@linino.org>
swd_gpio.{cpp|h}: implement read operation

Signed-off-by: Federico Vaga <federicov@linino.org>
swd_gpio.{cpp|h}: add write operation

Signed-off-by: Federico Vaga <federicov@linino.org>