Files
simtrace2/firmware
Harald Welte 1405100dff DFU: Introduce board/app-specific override for booting in DFU mode
Using the USBDFU_OverrideEnterDFU() function, a board/application can
define extra conditions when the system should boot in DFU mode, even if
it was not explicitly switched to DFU mode from the application.

The app/dfu/main.c uses this mechanism to boot into DFU mode if the
stack + reset vector addresses are not plausible (i.e. some random junk
appears to be flashed in the application partition) or if the user
places a jumper accross the RxD+TxD lines of the debug UART.  The idea
is that the system can be recovered by placing this jumper and then
re-installing the application from DFU.
2017-03-04 19:17:27 +01:00
..
2015-04-07 18:24:06 +02:00
2017-02-27 14:29:07 +01:00

== BOARDS

A board defines a given circuit board, i.e. SIMtrace, OWHW, QMOD

It defines the given hardware model for which the program is to be
compiled.

Current boards supported are:
* simtrace: The good old Osmocom SIMtrace PCB with SAM3 instead of
  SAM7, open hardware.
* qmod: A sysmocom-proprietary quad mPCIe carrier board, publicly available
* owhw: An undisclosed sysmocom-internal board, not publicly available

== APPLICATIONS

An application is a specific piece of software with given
functionality.

== ENVIRONMENTS

An environment is a runtime environment, typically defined by a linker
script.  The current runtime environments include
* flash: Run natively from start of flash memory
* dfu: Run after a DFU bootloader from an offset after the first 16k
  of flash (the first 16k are reserved for the bootloader)
* ram: Run from within the RAM of the chip, downloaded via JTAG/SWD


== Building

A given software build is made for a specific combination of an APP
running in a certain ENVIRONMENT on a given BOARD.