csr-spi-ftdi icon indicating copy to clipboard operation
csr-spi-ftdi copied to clipboard

Pure SPI?

Open BOOM-Mentoring opened this issue 4 years ago • 3 comments

How to make an SPI-only solution, that is, no USB -- A tool to program the CSR or QCC chips directly with SPI commands, say from an Arduino.

Which parts of this code would be needed?

Is a command map available?

BOOM-Mentoring avatar Jan 13 '21 18:01 BOOM-Mentoring

Hi!

Csr-spi-ftdi only implements transport layer of the protocol, You would need to implement it in Arduino (see https://github.com/Frans-Willem/CsrSpiDrivers). On top of that You would need to implement functionality you want (e.g. flashing firmware, controlling the device with BCCMD or configuring it with PS Keys).

Here are some pointers:

  • Protocol analysis: https://web.archive.org/web/20190116215601/http://jernej87.blogspot.com/2012/10/csrs-usb-programmer-protocol-analysis.html
  • Flash dumper: https://github.com/lorf/csrprogrammer
  • BlueCore 4 flash programmer: https://web.archive.org/web/20180125112520/http://members.efn.org/~rick/work/rpi.csr.html
  • BlueZ stack has BCCMD implementation over other transports: https://github.com/bluez/bluez/blob/utils-3.36/tools/bccmd.c
  • Some useful information may be found by searching for "BlueSuiteSource_V2_5" and "BlueCore BCCMD Commands".

lorf avatar Jan 14 '21 04:01 lorf

Thank you, Lorf!

Would you be willing to volunteer a little more time to help us solve this? We need some hand-holding on this. That would be fantastic, and i'd be super grateful. You’d be helping us uplift teens in-crisis. We don’t have the expertise in-house to follow those awesome clues you shared. We'll list you on our Advisers page.

https://boo.ma/advisers

The BOOM is a Resident at Autodesk, we won awards from Protolabs and Not Impossible Awards. We're a member of Engineers Without Borders. We've been featured in Make Magazine. Unfortunately, we're not funded, so we rely on volunteers.

https://boo.ma/makezine

Thx! John

The BOOM Mentoring San Francisco, CA 94124 https://theboom.org https://facebook.com/bayviewboom https://twitter.com/bayviewboom

BOOM-Mentoring avatar Jan 14 '21 06:01 BOOM-Mentoring

i found some additional info that might be helpful, but i'm in over my head. Note, we plan to go with QCC3008, not the CSR.

https://linuxcommandlibrary.com/man/bccmd

https://himself.files.wordpress.com/2013/05/bccmd-commands.pdf

https://linux.die.net/man/8/bccmd

http://read.pudn.com/downloads158/ebook/704418/blab-ug-008PbPSTool-user-guide.pdf see 2.1.2 Connecting PSTool Using Other Transport Interfaces

https://bitbucket.org/primusinterpares/public/src/master/CSR_HostBoot/

https://cdn.sparkfun.com/datasheets/Wireless/Bluetooth/CSR-BC417-datasheet.pdf see 11.7.1 Instruction Cycle

https://titanwolf.org/Network/Articles/Article?AID=d2eb856a-54c5-4d3b-afff-e50ca26e7d4c#gsc.tab=0

http://www1.futureelectronics.com/doc/UNIGEN/UGWC621RSMA133.pdf

https://code.google.com/archive/p/pypickit/

BOOM-Mentoring avatar Jan 14 '21 06:01 BOOM-Mentoring