Commit Graph

550 Commits

Author SHA1 Message Date
Harald Welte a6d972c23d simtrace UART: set INACK flag to make sure we ignore any parity error
As a SIM card tracer, we want to remain completely passive and thus not
signal back parity errors with the ISO 7816 NACK.

The UART INACK flag does exactly that...
2011-08-15 21:42:03 +02:00
Harald Welte ea85282e09 DBGU: Print Reset controller Status Register on boot
This helps us to discover _why_ the CPU has been rebooted.
2011-08-15 21:40:35 +02:00
Harald Welte 7d31d475b6 USB: Add support for the 3rd DFU interface (RAM) 2011-08-15 21:40:09 +02:00
Harald Welte 48029c2bf3 add simtrace README file 2011-07-30 19:07:04 +02:00
Harald Welte a3de0a4ac2 Merge branch 'simtrace' 2011-07-30 19:04:55 +02:00
Harald Welte ffbce3ea2c update mkcompile_h to work with git repository 2011-07-30 19:01:57 +02:00
Harald Welte 1acaecb4cb DFU: Fix execution of software that was loaded to RAM via DFU 2011-07-30 18:53:43 +02:00
Harald Welte 58d958e60c DFU: Support re-flashing of DFU via DFU
As we re-locate the entire sam7dfu program into RAM, we don't need
to execute from flash and can thus re-program the DFU partition
via the DFU protocol itself (alternate setting '1').

We also implement downloading executable code into RAM using
alternate setting '2'.  The latter part is not properly executed yet.
2011-07-30 02:56:36 +02:00
Harald Welte e3d1fd9bbd DFU: add third 'alternate configuration' for RAM load
This will allow us to load code directly into RAM without going through
flash.
2011-07-30 02:08:36 +02:00
Harald Welte de0d7e35ee simtrace: add some early spi flash utility routines
This also adds a new 'main_factory' target for simtrace
2011-07-30 00:39:55 +02:00
Harald Welte 9f120cdf57 Makefile: SIMtrace uses SAM7S128, not 256 2011-07-30 00:38:20 +02:00
Harald Welte 5a8cd9feca add new RUN_FROM_RAM run-mode for direct DFU-to-RAM support 2011-07-30 00:37:04 +02:00
Harald Welte dda0896d87 use gcc/ld flags -ffunction-sections and --gc-sections
This will discard unused functions from the resulting binary
2011-07-30 00:34:59 +02:00
Harald Welte a1e7c0c5ef sam7dfu: update copyright years 2011-07-29 23:33:20 +02:00
Harald Welte d56bb35e90 sam7dfu: make sure we can use USB reset to get from DFU -> APP
When we went through a Download -> Manifest cycle, we can switch
back to dfuIDLE.  However, we need to memorize that manifest had
already happened and thus should treat a host-initiated bus reset
as trigger to switch back into application mode.
2011-07-29 23:30:00 +02:00
Harald Welte dd88fde8d2 USB driver: use the DFU-provided function to send EP0 data
There is no point in replicating the functionality that already
exists in the DFU section of the flash
2011-07-07 17:57:01 +02:00
Harald Welte 8cc090e310 dfu: fix EP0 IN trasnfers that are even multiple of 8
We have to send a ZLP at the end of such transfers, otherwise the host
will time out at the end of the transfer.  This resulted in multi-second
delays for recognizing the SIMtrace hardware by the USB host.
2011-07-07 17:56:55 +02:00
Harald Welte a23eefc6dc USB driver: use the DFU-provided function to send EP0 data
There is no point in replicating the functionality that already
exists in the DFU section of the flash
2011-07-07 17:43:55 +02:00
Harald Welte fe88b83e80 dfu: fix EP0 IN trasnfers that are even multiple of 8
We have to send a ZLP at the end of such transfers, otherwise the host
will time out at the end of the transfer.  This resulted in multi-second
delays for recognizing the SIMtrace hardware by the USB host.
2011-07-07 17:39:32 +02:00
Harald Welte 30cb576ca5 simtrace: initialize sniffer mode right after start-up 2011-06-30 13:55:00 +02:00
Harald Welte e95ccd8f1d simtrace: switch VCC_SIM into output mode, as we use it to supply Vcc
This is just a temp rework in the 1st generation prototype, as the bus
switch has too high resistance for passing throuhg Vcc from the phone
to the SIM.
2011-06-21 09:32:48 +02:00
Harald Welte db3dca0062 simtrace: add VCC_PHINE IRQ detection 2011-06-21 09:32:28 +02:00
Harald Welte 08c8f4beb5 simtrace: use better names for GPIO lines 2011-06-21 09:30:46 +02:00
Harald Welte ebaba1be96 simtrace: introduce mode sniffer / mitm switching 2011-06-17 09:55:18 +02:00
Harald Welte cda126a7ef simtrace: add support for the analog bus switch 2011-06-16 21:16:13 +02:00
Harald Welte ff741ee31f simtrace: add more definitions regarding real hw prototype 2011-06-16 21:00:02 +02:00
Harald Welte a59c6e2073 update USB strings (company name and some copy+paste mistakes) 2011-06-15 10:33:46 +02:00
Holger Hans Peter Freyther 8ac31009df typo: Fix typo, transform reqyests to requests. 2011-01-31 18:15:42 +03:00
Holger Hans Peter Freyther c50a7dc706 typo: Fix typo, transform reqyests to requests. 2011-01-31 18:14:09 +03:00
Holger Hans Peter Freyther ca1d468c18 vsprintf.c: Fix compilation by including limits.h
The INT_MAX define was not known to this code with a
GCC 4.5.2/binutils 2.21/newlib 1.19.0 toolchain as
build for osmocomBB. Include limits.h to fix that.
2011-01-31 18:14:08 +03:00
Harald Welte 9fa56a331c add missing usb_strings_dfu.txt file to simtrace directory 2010-12-09 23:32:47 +08:00
Harald Welte 855b8fdd85 AT91SAM7.h: Fix computation of AT91C_IFLASH_LOCK_REGION_SIZE 2010-11-21 20:19:05 +01:00
Harald Welte de125b7250 simtrace: Make sure ATR is sent in its own RCTX and we re-allocate in time 2010-11-21 20:18:23 +01:00
Harald Welte e50e2f8c62 simtrace: Commit Makefile changes to support build of simtrace WARNING
These changes will enable the simtrace firmware to be built like this:

	make -f Makefile.dfu BOARD=OLIMEX
	make BOARD=SIMTRACE DEBUG=1 TARGET=main_simtrace
2010-11-18 23:55:58 +01:00
Harald Welte 1e04258b8d ausb: fix interrupt URB callback 2010-11-18 23:08:29 +01:00
Harald Welte 6506db78c1 ausb: make ausb_test compile again 2010-11-18 23:08:23 +01:00
Harald Welte 6492c2959c req_ctx: Increase size of small req_ctx to 128 and have 16 instead of 8
This is required to deal with bursts in SIM comminication while using
the SIMTRACE firmware
2010-11-18 23:06:43 +01:00
Harald Welte 012362ba7d ausb: fix interrupt URB callback 2010-11-18 23:04:21 +01:00
Harald Welte 629c4f81b8 simtrace: fix problems causing bogus waiting time expirations 2010-11-18 15:29:43 +01:00
Harald Welte 450a932608 simtrace: Introduce code for proper handling of PTS / PPS 2010-11-18 15:12:42 +01:00
Harald Welte 3c29506f17 simtrace: add TC based waiting time counter, signal ATR / expiry via USB 2010-11-18 14:11:03 +01:00
Harald Welte 815283e305 ausb: make ausb_test compile again 2010-11-15 14:59:14 +01:00
Harald Welte 9520b0bea1 simtrace: introduce RST pin handling 2010-11-14 23:44:46 +01:00
Harald Welte 50b1aff6f6 Initial version of a SAM7 USART based ISO7816-3 T=0 sniffer 2010-11-14 23:04:16 +01:00
Harald Welte 506b033dd2 enable USB string descriptors 2010-11-14 23:01:17 +01:00
Harald Welte f2349ebe17 disable USB EP0 debugging 2010-11-14 23:01:04 +01:00
Harald Welte b27e18619f Use smaller number of request contexts on a SAM64 2010-11-13 21:07:06 +01:00
Harald Welte cad600d12c On the Olimex board, the buttons are low-active
Thus, we need to invert our check during the dfu / main dual boot
decision
2010-11-13 17:25:43 +01:00
Harald Welte 6aebaca501 AT91SAM7S: Fix linker script (stack) for 64kByte flash version 2010-11-13 17:07:38 +01:00
Harald Welte 906b0a483e mark _ctype as const to be able to put it in flash 2010-11-13 17:04:03 +01:00