I did a lot of debugging around the USB stack, I was using this at my last job 
at a startup and even had a colleague attempt to find the problem too. After 
about 3-4 weeks combined, we couldn't figure out what caused the problem.

I had a simple loopback test that would test the throughput of the USB and 
found that almost every time, the first four bytes would get dropped. Putting a 
substantial delay in the firmware on receipt of the setup packet fixed the 
problem, but obviously we couldn't take the bandwidth hit.

After all that, management concluded that we couldn't put anymore time on it, 
so we used STM's USB stack in conjunction with the rest of the libopencm source.

We never found a solution and being that the same loopback test worked with the 
STM stack, I'd have to bare the unfortunate news that it's not in silicon, it's 
in libopencm.

We walked through stm's branch and compared this against libopencm's, but they 
were just too different, and stm's code was substantially larger. Also 
interesting, ST micro has their code stamped as USB certified, it would be 
curious to know if anyone's done the same certification test from usb.org on 
libopencm.

I'd certainly like to return to looking at this but don't have the time anymore 
since I've moved on to another company.

I check the libopencm's git logs periodically to see if anyone's stumbled 
across a solution.

Sincerely,
Jason


On Apr 1, 2013, at 4:33 PM, Gareth McMullin <[email protected]> wrote:

> If it's the first four bytes of control transfers getting lost then
> it's probably the same problem.  I had this on the stm32f105, but I
> believe this is solved now since luftboot seems to be working
> correctly on these devices.
> My feeling is that there's something dodgy in the silicon here.
> 
> Cheers,
> Gareth
> 
> On Sun, Mar 31, 2013 at 3:27 PM, Uwe Bonnes
> <[email protected]> wrote:
>> Hello,
>> 
>> I tried to run the blackmagic DFU boootloader on several F4 boards, and it
>> seems that flashing in not reliable at all, using dfu-util. stm32_mem.py
>> gives success more often, indicating a timing issue, as the phtyon script
>> is much slower. F4 losing bytes already was a topic last year, with no
>> definite outcome I could find. Do others still see the problem too?
>> 
>> Thanks
>> --
>> Uwe Bonnes                [email protected]
>> 
>> Institut fuer Kernphysik  Schlossgartenstrasse 9  64289 Darmstadt
>> --------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------
>> 
>> ------------------------------------------------------------------------------
>> Own the Future-Intel(R) Level Up Game Demo Contest 2013
>> Rise to greatness in Intel's independent game demo contest. Compete
>> for recognition, cash, and the chance to get your game on Steam.
>> $5K grand prize plus 10 genre and skill prizes. Submit your demo
>> by 6/6/13. http://altfarm.mediaplex.com/ad/ck/12124-176961-30367-2
>> _______________________________________________
>> Blackmagicdebug-devel mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/blackmagicdebug-devel
> 
> 
> 
> -- 
> Black Sphere Technologies Ltd.
> 
> Web: www.blacksphere.co.nz
> Mobile: +64 27 777 2182
> Tel: +64 9 478 8885
> Skype: gareth.mcmullin
> LinkedIn: http://nz.linkedin.com/in/gsmcmullin
> 
> ------------------------------------------------------------------------------
> Own the Future-Intel&reg; Level Up Game Demo Contest 2013
> Rise to greatness in Intel's independent game demo contest.
> Compete for recognition, cash, and the chance to get your game 
> on Steam. $5K grand prize plus 10 genre and skill prizes. 
> Submit your demo by 6/6/13. http://p.sf.net/sfu/intel_levelupd2d
> _______________________________________________
> libopencm3-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/libopencm3-devel


------------------------------------------------------------------------------
Minimize network downtime and maximize team effectiveness.
Reduce network management and security costs.Learn how to hire 
the most talented Cisco Certified professionals. Visit the 
Employer Resources Portal
http://www.cisco.com/web/learning/employer_resources/index.html
_______________________________________________
libopencm3-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libopencm3-devel

Reply via email to