Commit Graph

5170 Commits

Author SHA1 Message Date
DRracer
fd6dbba06f
Merge branch 'MK3_3.10.1' into PFW-1271_PF-buildv20 2021-08-02 08:51:51 +02:00
3d-gussner
da910fe861 Switch to arduino_boards v1.0.4 2021-08-02 08:34:35 +02:00
Yuri D'Elia
4f40380474 tools: document functions in utils.gdb 2021-07-30 06:38:12 +02:00
Yuri D'Elia
1b22aac9fc tools: add xfimg2dump 2021-07-30 06:38:12 +02:00
Yuri D'Elia
a697d00647 tools: add __pycache__ to gitignore 2021-07-30 06:38:12 +02:00
Yuri D'Elia
c79b1dcbfa tools: add dump_crash to recover XFLASH crash dumps 2021-07-30 06:38:12 +02:00
Yuri D'Elia
8455c8e585 tools: Add/fix documentation 2021-07-30 06:38:12 +02:00
Yuri D'Elia
43b9a2d3df dump: do not hard-code constants 2021-07-30 06:38:12 +02:00
Yuri D'Elia
11a6ac2f4f dump parsing: refuse to continue on incomplete D23 dumps
We should try harder to handle incomplete D21/D23 dumps in the future,
but until D21 handled too, bail in D23 as well.
2021-07-30 06:38:12 +02:00
Yuri D'Elia
500515eb0a Add GDB utility functions to load/inspect binary dumps 2021-07-30 06:38:12 +02:00
Yuri D'Elia
06eab4ac11 Handle XFLASH (D21) and serial (D23) dumps in elf_mem_map, add dump2bin
- Uniformly parse D2/D21/D23 dump types.
- Add dump2bin to parse/convert a dump into metadata and binary.
- Move the parsing into it's own module in order to be shared.
2021-07-30 06:38:12 +02:00
Yuri D'Elia
9f40fa6834 elf_mem_map: parse D23 output directly 2021-07-30 06:38:12 +02:00
Yuri D'Elia
8ec4104840 elf_mem_map: do not output registers in qdirstat output 2021-07-30 06:38:12 +02:00
Yuri D'Elia
d98e1b1cd9 elf_mem_map: uniquify file names in qdirstat output 2021-07-30 06:38:12 +02:00
Yuri D'Elia
9917689fdf tools: update documentation for elf_mem_map 2021-07-30 06:38:12 +02:00
Yuri D'Elia
9958c449e3 elf_mem_map: remove DWARF version except in help
Fix version to DWARF3, which is what we actually support.
2021-07-30 06:38:12 +02:00
Yuri D'Elia
54e24036a8 elf_mem_map: add qdirstat output for space visualization 2021-07-30 06:38:12 +02:00
Yuri D'Elia
676b925c5f elf_mem_map: cleanup 2021-07-30 06:38:12 +02:00
Yuri D'Elia
7bdee552ce elf_mem_map: add declaration position in --map 2021-07-30 06:38:12 +02:00
Yuri D'Elia
d1720cba51 elf_mem_map: reduce some duplication 2021-07-30 06:38:12 +02:00
Yuri D'Elia
c875aef49c elf_mem_map: increase width again to fit new output 2021-07-30 06:38:12 +02:00
Yuri D'Elia
71ef94da2e elf_mem_map: improve alignment of arrays 2021-07-30 06:38:12 +02:00
Yuri D'Elia
cb4f5cff9f elf_mem_map: improve display of array-of-strings 2021-07-30 06:38:12 +02:00
Yuri D'Elia
776b82a6db elf_mem_map: expand member arrays 2021-07-30 06:38:12 +02:00
Yuri D'Elia
29513a369d elf_mem_map: allow to customize the name column's width 2021-07-30 06:38:12 +02:00
Yuri D'Elia
7f76f62af9 elf_mem_map: fix uleb128 decoding (fixes incorrect member offsets) 2021-07-30 06:38:12 +02:00
Yuri D'Elia
a5635997b2 elf_mem_map: allow to annotate overlapping regions for clarity 2021-07-30 06:38:12 +02:00
Yuri D'Elia
1d82d2da64 get_elf_map: do not reprocess members twice 2021-07-30 06:38:12 +02:00
Yuri D'Elia
615e8575bb elf_mem_map: decode structs 2021-07-30 06:38:12 +02:00
Yuri D'Elia
9ddb5991f2 elf_mem_map: allow to disable gap dumps 2021-07-30 06:38:12 +02:00
Yuri D'Elia
bb8d171f34 elf_mem_map: decode integers with correct endianness 2021-07-30 06:38:12 +02:00
Yuri D'Elia
1181e78484 elf_mem_map: handle all pointer types correctly 2021-07-30 06:38:12 +02:00
Yuri D'Elia
c311266a83 elf_mem_map: handle abstract locations 2021-07-30 06:38:12 +02:00
Yuri D'Elia
2718dbb42c elf_mem_map: array n-dimensional expansion 2021-07-30 06:38:12 +02:00
Yuri D'Elia
29b8c89ec2 elf_mem_map: decode arrays (first dimension) 2021-07-30 06:38:12 +02:00
Yuri D'Elia
1de3fa51c9 elf_mem_map: decode doubles correctly 2021-07-30 06:38:12 +02:00
Yuri D'Elia
40b737e33d elf_mem_map: switch to a named tuple for extensibility 2021-07-30 06:38:12 +02:00
Yuri D'Elia
f2192dc5e6 elf_mem_dump: fix unknown address 2021-07-30 06:38:12 +02:00
Yuri D'Elia
c321ba4821 elf_mem_map: also dump gaps between known regions 2021-07-30 06:38:12 +02:00
Yuri D'Elia
4c6339ac46 elf_mem_map: decode correctly void pointers 2021-07-30 06:38:12 +02:00
Yuri D'Elia
1095b26570 Add several low-level debugging tools 2021-07-30 06:38:12 +02:00
3d-gussner
e779803261 Add/fix few functions
Check MK404 for latest stable release instead of dev branch
2021-07-29 10:57:05 +02:00
3d-gussner
3d871a3aa6 Merge remote-tracking branch 'upstream/MK3' into PFW-1271_PF-buildv20 2021-07-17 19:10:51 +02:00
3d-gussner
ffb7412637 Fix fresh build 2021-07-17 19:06:58 +02:00
D.R.racer
4580b8a78c Version changed (3.10.1 build 4587) 2021-07-16 07:37:11 +02:00
Yuri D'Elia
1279a6cf4b Correctly read FW_VERSION_NR array from progmem
In PR #3093 the progmem array FW_VERSION_NR was introduced to store the
version components, however the code didn't read it properly using the
pgm_read_* functions, making version comparisons fail.

Fix the existing/unused is_provided_version_newer() and reuse it in
show_upgrade_dialog_if_version_newer().

Similarly also read/update correctly the version in the eeprom.
2021-06-28 06:36:26 +02:00
Yuri D'Elia
56e531d40a Improve/fix D23 for M2.5/S printers
- Move D23 into it's own function inside Dcodes
- Correctly include a break in the switch statement
- Show the dumper status (enabled/disabled) after toggling
- Allow to generate an immediate dump via g-code using D23 E for
  symmetry with D20 E
2021-06-25 08:46:55 +02:00
Yuri D'Elia
380e34d481 Include "Dcodes.h" after "Marlin.h" for configuration
This is needed in order to get the function prototypes right according
to the actual enabled configuration.
2021-06-25 08:46:55 +02:00
Voinea Dragos
ecce6f865f write_command() no line number handling 2021-06-25 08:12:30 +02:00
Yuri D'Elia
53fcd6fc8f Work-around GCC LTO codegen bug in process_commands()
When building with GCC 4.9.2 (bundled with PF-build-env-1.0.6.*), -Os
and LTO enabled, PID_autotune gets automatically inlined into
process_commands().

Sadly, due to the massive size of process_commands(), it results in
codegen bug doing a partial stack overwrite in process_commands()
itself, manifesting as random behavior depending on the timing of
interrupts and the codepath taken inside the merged function.

Mark the function as noinline and add a note about the affected compiler
version in order to be checked again in the future.
2021-06-24 07:39:28 +02:00