non-rdv4 PLATFORM must now use the generic PM3OTHER, simpler

This commit is contained in:
Philippe Teuwen 2019-08-21 20:06:14 +02:00
parent 3cf64f9f23
commit da31373258
3 changed files with 25 additions and 63 deletions

View file

@ -3,6 +3,7 @@ All notable changes to this project will be documented in this file.
This project uses the changelog in accordance with [keepchangelog](http://keepachangelog.com/). Please use this to write notable changes, which is not the same as git commit log... This project uses the changelog in accordance with [keepchangelog](http://keepachangelog.com/). Please use this to write notable changes, which is not the same as git commit log...
## [unreleased][unreleased] ## [unreleased][unreleased]
- Change non-rdv4 PLATFORM must now use the generic PM3OTHER, simpler (@doegox)
- Fix reveng integration for all platforms else than WIN32 (@doegox) - Fix reveng integration for all platforms else than WIN32 (@doegox)
- Add cheat sheet for easy operations of the Proxmark3 (scund00r) - Add cheat sheet for easy operations of the Proxmark3 (scund00r)
- Chg commands are now in green in the helptext list (@iceman1001) - Chg commands are now in green in the helptext list (@iceman1001)

View file

@ -14,41 +14,29 @@ define KNOWN_PLATFORM_DEFINITIONS
Known definitions: Known definitions:
+==========================================================+ +============================================+
| PLATFORM | DESCRIPTION | | PLATFORM | DESCRIPTION |
+==========================================================+ +============================================+
| PM3RDV4 (def) | Proxmark3 rdv4 with AT91SAM7S512 | | PM3RDV4 (def) | Proxmark3 rdv4 |
+----------------------------------------------------------+ +--------------------------------------------+
| PM3EVO | Proxmark3 EVO with AT91SAM7S512 | | PM3OTHER | Proxmark3 Generic target |
+----------------------------------------------------------+ +--------------------------------------------+
| PM3V40 | Proxmark3 V4.0 with AT91SAM7S512 |
+----------------------------------------------------------+
| PM3EASY | Proxmark3 rdv3 Easy with AT91SAM7S256 |
+----------------------------------------------------------+
| PM3EASY512 | Proxmark3 rdv3 Easy with AT91SAM7S512 |
+----------------------------------------------------------+
| PM3RDV2 | Proxmark3 rdv2 with AT91SAM7S512 |
+----------------------------------------------------------+
| PM3OLD256 | Proxmark3 V1 with AT91SAM7S256 |
+----------------------------------------------------------+
| PM3OLD512 | Proxmark3 V1 with AT91SAM7S512 |
+----------------------------------------------------------+
+==========================================================+ +============================================+
| PLATFORM_EXTRAS | DESCRIPTION | | PLATFORM_EXTRAS | DESCRIPTION |
+==========================================================+ +============================================+
| BTADDON | Proxmark3 rdv4 BT add-on | | BTADDON | Proxmark3 rdv4 BT add-on |
+----------------------------------------------------------+ +--------------------------------------------+
endef endef
define HELP_DEFINITIONS define HELP_DEFINITIONS
Options to define platform, platform extras and/or standalone mode: Options to define platform, platform extras and/or standalone mode:
(1) Run make with PLATFORM, PLATFORM_EXTRAS and/or STANDALONE as follows: (1) Run make with your PLATFORM, PLATFORM_EXTRAS and/or STANDALONE choices as follows:
make PLATFORM=PM3EASY STANDALONE=$(HELP_EXAMPLE_STANDALONE) make PLATFORM=PM3OTHER STANDALONE=$(HELP_EXAMPLE_STANDALONE)
(2) Save a file called Makefile.platform with contents: (2) Save a file called Makefile.platform with contents, e.g.:
PLATFORM=PM3EASY PLATFORM=PM3OTHER
or if you have a Proxmark 3 RDV4 with the BT add-on: or if you have a Proxmark 3 RDV4 with the BT add-on:
PLATFORM=PM3RDV4 PLATFORM=PM3RDV4
@ -68,30 +56,10 @@ endef
PLTNAME = Unknown Platform PLTNAME = Unknown Platform
ifeq ($(PLATFORM),PM3RDV4) ifeq ($(PLATFORM),PM3RDV4)
MCU = AT91SAM7S512
PLATFORM_DEFS = -DWITH_SMARTCARD -DWITH_FLASH PLATFORM_DEFS = -DWITH_SMARTCARD -DWITH_FLASH
PLTNAME = Proxmark3 rdv4 PLTNAME = Proxmark3 rdv4
else ifeq ($(PLATFORM),PM3EVO) else ifeq ($(PLATFORM),PM3OTHER)
MCU = AT91SAM7S512 PLTNAME = Proxmark3 Generic target
PLTNAME = Proxmark3 EVO
else ifeq ($(PLATFORM),PM3V40)
MCU = AT91SAM7S512
PLTNAME = Proxmark3 V4.0
else ifeq ($(PLATFORM),PM3EASY)
MCU = AT91SAM7S256
PLTNAME = Proxmark3 rdv3 Easy
else ifeq ($(PLATFORM),PM3EASY512)
MCU = AT91SAM7S512
PLTNAME = Proxmark3 rdv3 Easy 512
else ifeq ($(PLATFORM),PM3RDV2)
MCU = AT91SAM7S512
PLTNAME = Proxmark3 rdv2
else ifeq ($(PLATFORM),PM3OLD256)
MCU = AT91SAM7S256
PLTNAME = Proxmark3 V1 with AT91SAM7S256
else ifeq ($(PLATFORM),PM3OLD512)
MCU = AT91SAM7S512
PLTNAME = Proxmark3 V1 with AT91SAM7S512
else else
$(error Invalid or empty PLATFORM: $(PLATFORM). $(KNOWN_DEFINITIONS)) $(error Invalid or empty PLATFORM: $(PLATFORM). $(KNOWN_DEFINITIONS))
endif endif
@ -178,7 +146,6 @@ export PLATFORM
export PLATFORM_EXTRAS export PLATFORM_EXTRAS
export PLATFORM_EXTRAS_INFO export PLATFORM_EXTRAS_INFO
export PLTNAME export PLTNAME
export MCU
export PLATFORM_DEFS export PLATFORM_DEFS
export PLATFORM_DEFS_INFO export PLATFORM_DEFS_INFO
export PLATFORM_DEFS_INFO_STANDALONE export PLATFORM_DEFS_INFO_STANDALONE

View file

@ -19,7 +19,7 @@ These features make it very different from all other devices, there is non other
**Recommendation**: if you don't have a RDV4, we strongly recommend your device to have at least a 512kb arm chip, since this repo is on the very edge of 256kb limit. **Recommendation**: if you don't have a RDV4, we strongly recommend your device to have at least a 512kb arm chip, since this repo is on the very edge of 256kb limit.
A firmware built for the RDV4 can still run on the other platforms as it will auto-detect during boot that external SPI and Sim are not present, still it will boot faster if it's tuned to the platform. A firmware built for the RDV4 can still run on the other platforms as it will auto-detect during boot that external SPI and Sim are not present, still it will boot faster if it's tuned to the platform, which solves USB enumeration issues on some OSes.
If you need to tune things and save the configuration, create a file `Makefile.platform` in the root directory of the repository, see `Makefile.platform.sample`. If you need to tune things and save the configuration, create a file `Makefile.platform` in the root directory of the repository, see `Makefile.platform.sample`.
For an up-to-date exhaustive list of options, you can run `make PLATFORM=`. For an up-to-date exhaustive list of options, you can run `make PLATFORM=`.
@ -28,20 +28,14 @@ For an up-to-date exhaustive list of options, you can run `make PLATFORM=`.
Here are the supported values you can assign to `PLATFORM` in `Makefile.platform`: Here are the supported values you can assign to `PLATFORM` in `Makefile.platform`:
| PLATFORM | DESCRIPTION | | PLATFORM | DESCRIPTION |
|-----------------|----------------------------------------| |-----------------|--------------------------|
| PM3RDV4 (def) | Proxmark3 rdv4 with AT91SAM7S512 | | PM3RDV4 (def) | Proxmark3 rdv4 |
| PM3EVO | Proxmark3 EVO with AT91SAM7S512 | | PM3OTHER | Proxmark3 generic target |
| PM3V40 | Proxmark3 V4.0 with AT91SAM7S512 |
| PM3EASY | Proxmark3 rdv3 Easy with AT91SAM7S256 |
| PM3EASY512 | Proxmark3 rdv3 Easy with AT91SAM7S512 |
| PM3RDV2 | Proxmark3 rdv2 with AT91SAM7S512 |
| PM3OLD256 | Proxmark3 V1 with AT91SAM7S256 |
| PM3OLD512 | Proxmark3 V1 with AT91SAM7S512 |
By default `PLATFORM=PM3RDV4`. By default `PLATFORM=PM3RDV4`.
Note that besides `PM3RDV4` and its unique features, all other platforms are equivalent and the MCU version (256 or 512) will be detected automatically during flashing. The MCU version (256 or 512) will be detected automatically during flashing.
Known issues: Known issues: