MinnowBoard-org / bugs-and-help

Ask QUESTIONS here. MinnowBoard.org issue and get help submission. See README for use.
14 stars 2 forks source link

MinnowBoard Turbot flash update doesn't work #98

Closed Mark-van-der-Pol closed 6 years ago

Mark-van-der-Pol commented 6 years ago

We got a comment from the field where the firmware flash update was failing using the DediProg programmer. The symptoms were that the flash was erased, but would not accept a program afterwards.

The cause was that the programmer was using 1.8v to drive the interface, which is correct for legacy MinnowBoard designs, but not for current versions. The current iteration can use either voltage parts, (a BOM choice) and has level shifters on board to present a consistent 3v3 interface to the SoC. The J1 programming header has to have the corresponding voltage - if 1v8 parts are on the build you have the correct programming interface voltage is 1v8, and if 3v3 parts are present, the programming voltage is 3v.

On the dual core Turbot there are resistors that can inform what option is on the board - R152 is present, and R818 is absent for 3v3 SPI Flash parts. And conversely, R152 is absent, and R818 is present for 1v8 SPI Flash parts.

Most MinnowBoard Turbots built use the 3v parts - the 1v8 parts are scarce and hard to obtain. So, if you have a macro or batch process that worked on these earlier boards, and expect the current Turbots to also be programmable by the same setup - they wont. You'll need inspect the board and may need to adjust the programming voltage to 3.3v or 3.5v.

Screenshot shows what it looks like in DediProg if the wrong voltage is used.

dediprog_1v8

Notice the memory chip voltage is reported as 3v3, and the programming voltage is at 1v8. One would expect the interface could be helpful and highlight that to the user, but, alas, it just laments it aint seeing the chip...

|\/|ark.