Skip to content

Commit

Permalink
Flash-based EEPROM on SKR Mini E3 DIP (#15128)
Browse files Browse the repository at this point in the history
  • Loading branch information
thisiskeithb authored and thinkyhead committed Sep 2, 2019
1 parent c981710 commit 59152f2
Showing 1 changed file with 6 additions and 0 deletions.
6 changes: 6 additions & 0 deletions Marlin/src/pins/stm32/pins_BIGTREE_SKR_E3_DIP.h
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,12 @@
// Ignore temp readings during development.
//#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000

#define FLASH_EEPROM_EMULATION
#define EEPROM_PAGE_SIZE uint16(0x800) // 2KB
#define EEPROM_START_ADDRESS uint32(0x8000000 + 256 * 1024 - 2 * EEPROM_PAGE_SIZE)
#undef E2END
#define E2END (EEPROM_PAGE_SIZE - 1) // 2KB

//
// Servos
//
Expand Down

4 comments on commit 59152f2

@wkelley70
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With my Ender 3, the above modification of the PINS file caused the E3 DIP to not boot. If I comment out the above code and re-compile, everything is fine. Note: this was with the 9/1 version of Marlin 2.0.

With the 9/2 version of Marlin 2.0, commenting out the above code allows the E3 DIP to boot, but the display is blank.

Marlin 2.0 2019-09-01_E3DIP_WKELLEY70.zip

@thisiskeithb
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With the 9/2 version of Marlin 2.0, commenting out the above code allows the E3 DIP to boot, but the display is blank.

See #15141

@thinkyhead
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@thisiskeithb — Is it possible some of these boards are different from one another, or that the Flash needs to be initialized in some way? Could the start address be bumping into something important? When there is garbage EEPROM data enabling EEPROM_AUTO_INIT is meant to improve recovery.

What kind of boot failure are we looking at? Crashing after a few seconds, rebooting over and over, or a complete freeze?

@thisiskeithb
Copy link
Member Author

@thisiskeithb thisiskeithb commented on 59152f2 Sep 4, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it possible some of these boards are different from one another

All the SKR Minis use the same MCU/build scripts, so I don't think so.

The only issue I've seen via Reddit/Facebook groups is that if TMC_DEBUGGING is enabled, it seems to conflict with emulated EEPROM on these boards, but I can only test on the SKR Mini 1.1 since I don't have an E3 or E3 DIP.

Please sign in to comment.