Pretty sure I'm not the first. (I see people with similar problems in the forum overview).
I'm not a newbie. I've designed dozens of boards with RP2040, I've built hundreds of them. Not one "structural" problem with the RP2040. Sure, I've had soldering issues, and problems with the application side of the boards, (Most recently I've put resistors "in line" of the connection to the IO of the board, instead of the pullup that the application required. Duh! New boards are in transit....)
Most recen "bring-up" of a board landed with all boards not being able to program the flash. Different flash chip: same story.
Then we transplanted a "working flash" from another board, and.. .Voila! it boots. Maybe the new board can't program the chips? Reboot, program new version of the program and... works!
Something with the chip? Possibly. I seem that I have Winbond 25Q16JVSIQ as the non-working ones, and 25Q32FVSIG as the working ones. The only difference I've been able to find is that one is rated for 133MHz and the other is not.
I could understand it if the faster chip works, and the slower one doesn't because the pico might have the faster one and the second stage bootloader from the pico enables the faster mode... The working one is the slower 104MHz one.
I'll try a few more things, like soldering the not-working chip onto the previously working board. But in the meantime: Anybody have any ideas? Does anybody know of any more differences between the FV vs JV versions of the winbond chip? Manually diffing the datasheets so far hasn't turned up anything obvious. My first conjecture was that the not-working one might be "not for 3.3V", but that hypothesis proved wrong. Any other hypotheses?
I'm not a newbie. I've designed dozens of boards with RP2040, I've built hundreds of them. Not one "structural" problem with the RP2040. Sure, I've had soldering issues, and problems with the application side of the boards, (Most recently I've put resistors "in line" of the connection to the IO of the board, instead of the pullup that the application required. Duh! New boards are in transit....)
Most recen "bring-up" of a board landed with all boards not being able to program the flash. Different flash chip: same story.
Then we transplanted a "working flash" from another board, and.. .Voila! it boots. Maybe the new board can't program the chips? Reboot, program new version of the program and... works!
Something with the chip? Possibly. I seem that I have Winbond 25Q16JVSIQ as the non-working ones, and 25Q32FVSIG as the working ones. The only difference I've been able to find is that one is rated for 133MHz and the other is not.
I could understand it if the faster chip works, and the slower one doesn't because the pico might have the faster one and the second stage bootloader from the pico enables the faster mode... The working one is the slower 104MHz one.
I'll try a few more things, like soldering the not-working chip onto the previously working board. But in the meantime: Anybody have any ideas? Does anybody know of any more differences between the FV vs JV versions of the winbond chip? Manually diffing the datasheets so far hasn't turned up anything obvious. My first conjecture was that the not-working one might be "not for 3.3V", but that hypothesis proved wrong. Any other hypotheses?
Statistics: Posted by rew — Tue Feb 13, 2024 11:50 am