On Thu, Dec 01, 2016 at 01:15:59PM +0000, Peter Stuge wrote:
Michael Carbone wrote:
I have been attempting to use a raspberry pi for spi flashing and when I use the 3.3v pin the raspberry pi doesn't power up as the chip draws too much power through the 3.3v pin for the raspberry pi to also run.
It's not the flash chip drawing current, it's the rest of the mainboard.
For some mainboards (like the 15" 2014 Macbook Pro) I had to add a 1-10 Ohm resistor on the power lead from my flasher, which basically glitches the rest of the mainboard, but since many SPI flash chips can run at a slightly lower voltage it allowed me to read/write the firmware. This is probably not the right way to do it.
[...]
Looking online [1] some folks recommend using laptop AC adapter + wake-on-lan (and not using the VCC/3.3v pin), but I'm not sure that's a dependable strategy
In fact I consider it the *only* dependable strategy. It is the obvious way to adhere to the required power up sequence.
I've never had success with this technique due to the multi-master situation that you described. The PCH (or ME?) on modern CPUs seemed to always be driving the IO lines when I provided power. Now I always unplug the AC adapter and remove the battery before powering up my flasher (although I do leave the chip-clip connected).
Perhaps I'm a little more YOLO with many of my test machines than is prudent, so I don't worry too much about what other bits are being powered up by the 3.3V rail. On the x230 I used an external bench supply and found that the rail needed about 110 mA to function:
https://www.flickr.com/photos/osr/28494632165/lightbox
So on my teensy 2 flasher I replaced the small SMD regulator with a larger UA78M33 regulator in a TO-220 package that can supply 500mA:
https://www.flickr.com/photos/osr/30531707094/lightbox
My biggest problem these days is that the chipclips seem to wear out after a few hundred applications (the pins get pushed upwards, making the connection flaky). Anyone have a recommendation for one that can stand up to constant use?