Commit graph

32 commits

Author SHA1 Message Date
Philippe Teuwen e17ff8260f visual clue in case of data decompression error at boot time 2022-02-17 01:43:41 +01:00
Philippe Teuwen b703bb746b Adapting license headers, WIP 2022-01-06 02:20:38 +01:00
Philippe Teuwen d56d8f0f65 rename common_area typedef and global 2021-08-21 23:29:56 +02:00
Philippe Teuwen a330401769 change strategy for refs to linker symbols to get compatible again with old GCC (6.3), tested on GCC 11 too 2021-05-25 16:47:13 +02:00
Philippe Teuwen 13a9afa36d Uniformize source code ref and fix gcc 11.1 warning
Using "extern char linker_symbol[]" notation
cf https://sourceware.org/binutils/docs/ld/Source-Code-Reference.html
2021-05-13 23:12:15 +02:00
Philippe Teuwen b0f122528d minor 2020-12-30 01:36:44 +01:00
Philippe Teuwen a0e110941a make style 2020-12-30 01:31:40 +01:00
gator96100 11567dc2e3 Added option for running with uncompressed .data section. Thanks @doegox 2020-12-28 22:48:41 +01:00
Philippe Teuwen e750481d12 Fix multiple issues with reported flash memory usage:
- Remove unused next_free_memory=BigBuf_get_addr()
- Fix size retrieval of compressed data section
  by chance the corrupted value was > than correct value so
  decompression was taking place, but was returning an error
  instead of the decompressed size
- Fix reporting of compressed size into common_area
  returned value of LZ4_decompress_safe is the decompressed size
  while we needed to report the compressed size
- Fix common_area late initialization
  common_area was initialized (and zeroed) after
  uncompress_data_section() had reported the compressed size
  in common_area, so compressed size was erased

Compressed size is used in the computation of the used and available
flash memory, which is now correct
(it was wrongly telling about 6kb were free while they weren't).
2020-11-05 00:59:32 +01:00
Philippe Teuwen 224cb2ffd7 make style 2020-06-08 03:15:10 +02:00
iceman1001 4e29909cc2 chg: pointer casting to sort out array out of bonds 2020-06-07 15:59:06 +02:00
iceman1001 09548ecf51 cleaning some code 2020-06-07 13:56:21 +02:00
Philippe Teuwen d48fcbf5eb lz4stream info to int: use memcpy 2020-06-07 12:46:05 +02:00
slurdge 1a8eff5d42 add lz4 to arm side 2020-06-05 16:24:05 +02:00
Philippe Teuwen 026707b960 arm: fix prototypes 2020-05-11 13:48:57 +02: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
osboxes.org 98b1172098 style 2019-04-10 09:32:40 +02:00
iceman1001 a89ae9cb35 check return value from zlib inflateInit2... 2019-04-08 08:08:47 +02:00
Philippe Teuwen 1b2601a48a Add missing EOF LF 2019-03-12 00:12:26 +01:00
Philippe Teuwen 961d929f4d changing {} style to match majority of previous style 2019-03-10 11:20:22 +01:00
Philippe Teuwen 0373696662 make style 2019-03-10 00:00:59 +01:00
Philippe Teuwen 8a7c6825b5 armsrc: fix mix of spaces & tabs 2019-03-09 20:34:41 +01:00
Philippe Teuwen 60f292b18e remove spurious spaces & tabs at end of lines 2019-03-09 08:59:13 +01:00
iceman1001 53d5dc643f CHG: fiddled with the headerfiles... and makefile... Tried to make them behave nice. So it isnt a hell to add new functions from third-party (like des, aes etc)
Added a lot of #ifndef ,   extern C,
Move inside from ARMSRC -> THUMBS,  which made the compiled image smaller.. I don't know if it broke anything.
Moved MF_DBGLEVEL definitions into common.h
Moved print_result from util.c into appmain.c
Also split up some struct typedef  into header files so they could be reused in other code places.

''' danger '''  this might have broken stuff...
2017-01-25 00:33:03 +01:00
iceman1001 9783989b40 ADD: pwpiwi 's FPGA compress 2015-06-25 12:22:34 +02:00
iceman1001 c3c241f389 CHG: moved a xor function into util.c
CHG: added some calls to clearCommandBuffer() in /hf mfu/hf 14a sim/hf mf sim/ commands.
CHG: minor adjustments to relative pathing.
2015-05-26 11:04:57 +02:00
iceman1001 f38a152863 First check in. 2014-09-11 23:23:46 +02: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 e30c654b19 More en masse cleanup (whitespace/newlines/headers/etc) 2010-02-20 21:57:20 +00:00
henryk@ploetzli.ch 1b2c893632 Fix data segement. You may now use stuff like int foo = 1; in global context (as opposed to both int foo = 0; which is bss and const int foo = 1; which is rodata) without having the sky come
crashing down
2009-09-08 15:40:22 +00:00
henryk@ploetzli.ch e73e717239 Add Makefile for fpga directory (Windows codepath is untested, in any case, go.bat is still there)
Retire rbt2c.pl, instead use objcopy to directly convert the .bit file into an .o that can be linked with the flash image
Rename armsrc/fpga.c to armsrc/fpgaloader.c (since there is now a new fpga.o, created from fpga.bit)
Remove fpgaimg.c from subversion, add fpga.bit
Instead of creating fpgaimage.elf and osimage.elf separately, now create a joined fullimage.elf 
  first (obsoleting ldscript-full), then extract only the fpga and os sections with objcopy
  (This creates unspecific warnings about an empty segment, need to investigate)
Implement a rudimentary .bit parser in the firmware, use that to locate the bitstream in the new
  fpgaimage (which is just a plain copy of the fpga.bit file) and send it to the FPGA
  The code will check the format that's in flash and fall back to the legacy format
2009-08-27 23:29:49 +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