Commit Graph
17 Commits
Author SHA1 Message Date
Matt Moran 14b6580fcb Squashed commit of the following:
commit 8f77179a2f
Author: Philippe Teuwen <phil@teuwen.org>
Date:   Thu Jan 6 11:25:38 2022 +0100

    remove unused file

commit bcafc5d03c
Author: Philippe Teuwen <phil@teuwen.org>
Date:   Thu Jan 6 11:24:04 2022 +0100

    some historical copyright adjustments, thanks @iceman1001!

commit b703bb746b
Author: Philippe Teuwen <phil@teuwen.org>
Date:   Thu Jan 6 02:19:46 2022 +0100

    Adapting license headers, WIP

commit 8952a1f712
Author: Philippe Teuwen <phil@teuwen.org>
Date:   Thu Jan 6 00:37:34 2022 +0100

    adapt contributing text

commit cdfb83075f
Author: Philippe Teuwen <phil@teuwen.org>
Date:   Thu Jan 6 00:24:15 2022 +0100

    toc

commit 014817f854
Author: Philippe Teuwen <phil@teuwen.org>
Date:   Thu Jan 6 00:15:40 2022 +0100

    Adding AUTHORS and changing licensing terms from 'GPLv2 or later' to 'GPLv3 or later' to comply with components available only under 'GPLv3 or later'. Details:

    Initial releases by Jonathan Westhues in 2005-2007 were made under GPL
    "either version 2 of the License, or (at your option) any later version"

    Since then, a number of dependencies and files were integrated to the project, but under a "GPLv3 or later" license. These components are reveng, desfire_crypto and lrpcrypto. Note that compnents cryptorf, hitag2crack and fpga-xc3s100e are also under GPLv3+ but not bound to the firmware or client source code.

    Therefore, we must mechanically upgrade the license of the whole project to GPLv3+, as made possible by the initial licensing terms and as mandated by the inclusion of GPLv3+ code.

    Still to do: update each source file header:

        Copyright (C) Proxmark3 contributors. See AUTHORS.md for details.

        This program is free software: you can redistribute it and/or modify
        it under the terms of the GNU General Public License as published by
        the Free Software Foundation, either version 3 of the License, or
        (at your option) any later version.

        This program is distributed in the hope that it will be useful,
        but WITHOUT ANY WARRANTY; without even the implied warranty of
        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
        GNU General Public License for more details.

        You should have received a copy of the GNU General Public License
        along with this program.  If not, see <http://www.gnu.org/licenses/>.

commit 5561466fe8
Author: Philippe Teuwen <phil@teuwen.org>
Date:   Wed Jan 5 18:56:56 2022 +0100

    make style

commit 2d1a1dc034
Author: Philippe Teuwen <phil@teuwen.org>
Date:   Wed Jan 5 17:57:49 2022 +0100

    make style doc/commands.json

commit fc53665e5c
Merge: a6d22ee43 c0cc09d86
Author: Philippe Teuwen <phil@teuwen.org>
Date:   Wed Jan 5 17:52:44 2022 +0100

    Merge pull request #1552 from joswr1ght/master

    Add --no-auth support for hf mfdes createapp

commit c0cc09d86b
Author: Joshua Wright <jwright@hasborg.com>
Date:   Wed Jan 5 07:12:20 2022 -0500

    Style consistency changes for hf mfdes createapp feature addition

commit f9c96f49da
Author: Joshua Wright <jwright@hasborg.com>
Date:   Tue Jan 4 17:01:10 2022 -0500

    Update CHANGELOG with MIFARE DESFire createapp --no-auth change

commit 859b55933d
Author: Joshua Wright <jwright@hasborg.com>
Date:   Tue Jan 4 15:55:26 2022 -0500

    Add --no-auth support for hf mfdes createapp
2022-01-07 01:08:55 +13:00
Philippe Teuwen d19754567d summer restructuring:
* .h include only the strict minimum for their own parsing
  * this forces all files to include explicitment their needs and not count on far streched dependencies
  * this helps Makefile to rebuild only the minimum
  * according to this rule, most standalone .h are now gone
  * big app.h is gone
  * remove seldom __cplusplus, if c++ happens, everything will have to be done properly anyway
* all unrequired include were removed
* split common/ into common/ (client+arm) and common_arm/ (os+bootloader)
  * bring zlib to common/
  * bring stuff not really/not yet used in common back to armsrc/ or client/
  * bring liblua into client/
  * bring uart into client/
  * move some portions of code around (dbprint, protocols,...)
* rename unused files into *_disabled.[ch] to make it explicit
* rename soft Uarts between 14a, 14b and iclass, so a standalone could use several without clash
* remove PrintAndLogDevice
* move deprecated-hid-flasher from client to tools
* Makefiles
  * treat deps in armsrc/ as in client/
  * client: stop on warning (-Werror), same as for armsrc/

Tested on:

* all standalone modes
* Linux
2019-08-11 21:42:01 +02:00
Philippe Teuwen 248a861613 bootrom: fix mix of spaces & tabs 2019-03-09 10:42:03 +01:00
marcansoft 9af4835863 Add KEEP() to version information section
Prevents it from being garbage collected
2010-02-26 23:29:22 +00:00
marcansoft 7f7e715756 Add explicit PHDRs to bootrom to properly separate data and bss 2010-02-26 21:40:27 +00:00
marcansoft 86d3195518 Bootloader cleanup (UNTESTED!)
- Clean up bootloader asm
- Remove fromflash.c - it's not worth doing in C, do it in ASM
- Clean up linker script
- Force use of symbol inside bootphase2 (otherwise linker
  garbage-collects it)
- Link bootloader with gcc instead of ld
2010-02-26 15:14:47 +00:00
marcansoft bd20f8f478 Add license headers to armsrc/bootrom/common stuff
I have kept whatever copyright notices exist. Please add your own
copyright notice if you have made any nontrivial changes or additions to
the code. There are several files without any attribution, currently.
2010-02-21 00:12:52 +00:00
marcansoft 15c4dc5ace Clean up line endings, switch everything to LF instead of CRLF
Doing this for bootrom and armsrc for now. If you're using Windows,
please configure your editor for LF line endings.
2010-02-20 21:24:25 +00:00
d18c7db 57fcd2d7d1 added eh_frame needed for gcc 4.4.1 or higher 2009-09-07 09:53:45 +00:00
henryk@ploetzli.ch 8fcbf652da New bootrom
+ Add common area at end of RAM to communicate between main os and bootrom
+ Lower stack end to make room for common area
+ Implement CMD_DEVICE_INFO in both OS and bootrom to give information about the current state and supported features
+ Allow hands-free firmware update: When CMD_START_FLASH is received over USB in OS mode, the device will reset and enter the bootrom
  Pressing the button in hands-free update mode takes precedence: releasing the button will immediately abort firmware update and 
  perform a reset. Do not press the button.
+ Require each flash sequence to be preceded by a CMD_START_FLASH to set up the boundaries for the following flash sequence
  Not compatible with linux flasher before SVN revision 200
  Currently no compatible flasher for Windows. WINDOWS USERS: DO NOT UPDATE YOUR BOOTROM YET
+ Protect bootrom flash area unless magic unlock sequence is given in CMD_START_FLASH
2009-09-01 14:44:38 +00:00
henryk@ploetzli.ch e3ae025783 Eradicate all occurences of hardcoded memory addresses from all sources files, except for the FPGA bitstream fallback 2009-08-31 14:52:59 +00:00
henryk@ploetzli.ch 4271e82d56 Only re-compile version.c as often as necessary
Make bootrom version information pointer a proper symbol (with hacky ld strangeness workaround)
2009-08-29 06:14:28 +00:00
henryk@ploetzli.ch 8a6aec16d8 Implement version information storage and retrieval for the bootrom and the osimage.
Use perl to create the version information (thereby re-creating the perl dependency and adding an svn dependency) but fall back in case of missing perl or svn
2009-08-28 06:40:44 +00:00
henryk@ploetzli.ch 2bfed17db2 Add a common linker script with the memory map for the complete project
Use the correct physical addresses in the memory map, and instead translate the addresses during postprocessing with objcopy
2009-08-27 16:07:35 +00:00
henryk@ploetzli.ch fb6e5aa863 The older gnuarm in the windows toolchain seems to need the glue_7t section 2009-08-27 04:46:31 +00:00
henryk@ploetzli.ch 8652988d62 Merge linker scripts in bootrom to have a single linker script for the bootloader proper (previously known as bootrom-merged.s19)
Remove the now unnecessary files (merge-srec.pl, ldscript-ram-jtag)
Note that this drops the dependency on perl for bootrom build, so end-users who don't touch the FPGA bitstream will not need perl anymore
2009-08-27 04:25:34 +00:00
edouard@lafargue.name 6658905f18 Initial commit for the firmware. Used the 20090306_ela version as baseline.
It is identical to the popular 20081211, with the doob addition (20090301), a
linux client, and two additional commands for LF analysis. Let me know if
you find issues here!
2009-04-09 06:43:20 +00:00