Author Topic: Programming off the shelf CSR8635 module  (Read 170335 times)

0 Members and 2 Guests are viewing this topic.

Offline brainwash

  • Frequent Contributor
  • **
  • Posts: 463
  • Country: de
    • Hack Correlation
Re: Programming off the shelf CSR8635 module
« Reply #100 on: November 10, 2017, 05:13:10 pm »
Ok, I don't know where to write this and I don't want to create a new account on another forum.

I bought a Sanwu Bluetooth amplifier from Amazon, it looks exactly like this one:https://www.sanwulasers.org/product/sw-hf71
Initially it looked the same as those other TPA3116 + CSR8635 modules, except this one does not use the standard CSR part. The BT + decoder chip has had its marking lasered and I couldn't really determine what it is, the lasering was too deep. However, I found another low-res picture online that shows a part of the chip:


Does anyone know what that chip is? Doesn't seem to be a CSR part (from the logo). I would like to at least be able to remove the startup and pairing chimes.

If I cannot find any solution to this I will probably return it for a different model. Which is a shame, as it sounds really good and has zero background noise.



Edit: found a product that looks very similar: https://www.banggood.com/Bluetooth-Audio-Receiver-Module-Support-U-Disk-USB-TF-Card-Play-MP3-Decoder-Board-FM-Radio-p-1101686.html
« Last Edit: November 10, 2017, 05:23:47 pm by brainwash »
 

Offline brainwash

  • Frequent Contributor
  • **
  • Posts: 463
  • Country: de
    • Hack Correlation
Re: Programming off the shelf CSR8635 module
« Reply #101 on: November 11, 2017, 01:33:24 pm »
Replying to my own post in case someone stumbles upon this in the future.

Boards like this have used until now two different ICs, JieLi AC4603 and RDA5856TE. My chip is recognized as JieLi when plugged into USB but it has the pinout similar to an RDE. However, no pinouts match with any of the chip from those two manufacturers. What's more annoying is that the startup chime is not tied to the main volume, it always plays at ~60%.

A positive thing is that you can leave the board always on, together with the PSU it draws about 1W and has no background noise. But you still get the pairing chime.

Anyway, the board is going back and being replaced with a CSR+TDA one.
 

Offline Pandora

  • Newbie
  • Posts: 1
  • Country: ee
Re: Programming off the shelf CSR8635 module
« Reply #102 on: December 05, 2017, 10:11:58 am »
Hello,

I'm working on a project and I need a little help.
I have CSR8635 Bluetooth Chip and USB SPI TOOL for programming. I use CSR8600 ROM Series Configuration Tool to make changes in Chip. I want to separate A2DP and AVRCP protocols. Basically all i want is only bluetooth remote to control phone audio (Play/pause/next.. etc). If i remove A2DP (Streaming protocol) then only Play/pause/next/previous button works. But volume change doesnt work. And with Android nothing works without A2DP. I only need to control music with buttons. Can someone please tell me what i'm doing wrong? :-//

 

Offline gavron04

  • Contributor
  • Posts: 16
  • Country: pl
« Last Edit: December 13, 2017, 10:39:34 pm by gavron04 »
 

Offline Buriedcode

  • Super Contributor
  • ***
  • Posts: 1610
  • Country: gb
Re: Programming off the shelf CSR8635 module
« Reply #104 on: December 14, 2017, 05:14:42 am »
Yes, I too noticed the programmer requires the 3.3V line to be powering it (via vbat) I am not entirely sure why this should be as the interface is indeed 1.8V TTL.  But don't forget GND as well! 

As for finding the dongle after a reset, have you turned on discovery on your phone?
 
The following users thanked this post: mehdikh15

Offline gavron04

  • Contributor
  • Posts: 16
  • Country: pl
Re: Programming off the shelf CSR8635 module
« Reply #105 on: December 14, 2017, 04:11:00 pm »
Yes, of course GND must be connected :)

In this link is information "This tutorial only for common BT modules. You CAN'T add a password to APTX module!"

My CSR have APTX (csr64215) so if this toturial is not for me ( https://www.tinyosshop.com/index.php?route=information/news&news_id=55 )

How can I add password?


After added password from this link https://www.tinyosshop.com/index.php?route=information/news&news_id=55 my CSR has stopped transmit signal by bluetooth. (LED is not blinking). After this I must write original software without my changes.
 

Offline Buriedcode

  • Super Contributor
  • ***
  • Posts: 1610
  • Country: gb
Re: Programming off the shelf CSR8635 module
« Reply #106 on: December 14, 2017, 08:47:26 pm »
It well be that your module isn't booting properly after adding the password.  Or perhaps it requires a pulse on the 'PWR_EN' line to wake it up again - this happens when you first power the module, as many carrier boards have an RC reset circuit, but doesn't happen after a software reset, so must be done manually.

What version of bluecore PStool are you using?  I noticed the date code on the firmware for the CSRA64215 modules I have are 2016, which is pretty new.  The latest PStool version was from 2015.
 
The following users thanked this post: mehdikh15

Offline gavron04

  • Contributor
  • Posts: 16
  • Country: pl
Re: Programming off the shelf CSR8635 module
« Reply #107 on: December 14, 2017, 10:29:51 pm »
What it meas "requires a pulse on the "PWR_EN"?

About circuit - orginal I have on board 1k between SPI_PCM and GND. I have desoldered this 1k resistor to solder new 10k between 1v8 and SPI_PCM to have communication by SPI. But I think that without this 1k to gnd<>spi_pcm I should have connection after added password pin.

I have 2.6.2.632 release. But I dont know where I can find new version.


I have some question:
- how much devices can I connect to CSR64215?
- it is possible to add some button to start pairing? Now if Im not connected to my CSR it is always blinking that is ready for pairing so.. now when I cant add password/pin my neighbor can connect to my csr and play :D
 

Offline Buriedcode

  • Super Contributor
  • ***
  • Posts: 1610
  • Country: gb
Re: Programming off the shelf CSR8635 module
« Reply #108 on: December 15, 2017, 02:05:29 am »
What it meas "requires a pulse on the "PWR_EN"?


I mean, on the bluetooth module itself there is a pin labelled as PWR_EN on CSR8645s, but its called MFB (multi function button) on the CSRA64215. 

Bottom right:  http://p.globalsources.com/IMAGES/PDT/B0746242423/Bluetooth-audio-module.jpg

For devices that use this chip that is often the 'pairing/play/pause/on/off' button.  The function changes depending on the context... press and hold to turn off, press to turn on, press and hold for a second to go into pairing mode etc..  I have found that on most boards, this pin is pulled high shortly after reset (power on reset).

I'm unsure if the audio device you bought that uses it provides buttons for play/pause/FF/RW volume up/down etc..  I couldn't see any buttons on the board or headers.

I don't think this is your problem though, I would have thought that if PStool resets it and you can still connect to it without adding a password, then adding a password wouldn't suddenly stop it working.  So I'm out of ideas  :-//
 
The following users thanked this post: mehdikh15

Offline gavron04

  • Contributor
  • Posts: 16
  • Country: pl
Re: Programming off the shelf CSR8635 module
« Reply #109 on: December 15, 2017, 06:20:02 am »
In "Local supported features block" I have:

"
The order in 1.2 of the specification is:

First word, low to high (X => turned on in default config;
(X) => turned on if supported by hardware;)
  On   Bit   Feature
   X   0     3-slot packets
   X   1     5-slot packets
   X   2     Encryption
   X   3     Slot offset
   X   4     Timing accuracy
   X   5     Master/slave switch
   X   6     Hold mode
   X   7     Sniff mode
   X   8     Park mode
   X   9     Power control requests
   X  10     Data rate driven by channel quality
   X  11     SCO link
   X  12     HV2 packets
   X  13     HV3 packets
   X  14     mu-law voice encoding
   X  15     A-law voice encoding

Second word
   X   0     CVSD
   X   1     Paging scheme
   X   2     Power control
   X   3     Transparent SCO data
       4     }
       5     } L2CAP flow control lag (our default = 0)
       6     }
          [1.2 features from this point]
   X   7     Broadcast encryption
       8     Reserved (Scatter mode)
  (X)  9     Enhanced Data Rate ACL 2 Mbps mode
  (X) 10     Enhanced Data Rate ACL 3 Mbps mode
   X  11     Enhanced inquiry scan
   X  12     Interlaced inquiry scan
   X  13     Interlaced page scan
   X  14     RSSI with inquiry results
  (X) 15     Extended SCO link --- EV3 packets

Third word
  (X)  0     Extended SCO link --- EV4 packets
  (X)  1     Extended SCO link --- EV5 packets
       2     Reserved (Absence masks)
   X   3     AFH capable slave
   X   4     AFH classification slave
       5     BR/EDR not supported
       6     LE supported (Controller)
  (X)  7     3-slot Enhanced Data Rate ACL packets
  (X)  8     5-slot Enhanced Data Rate ACL packets
   X   9     Sniff Subrating
   X  10     Pause Encryption
   X  11     AFH capable master
   X  12     AFH classification master
  (X) 13     Enhanced Data Rate eSCO 2 Mbps mode
  (X) 14     Enhanced Data Rate eSCO 3 Mbps mode
  (X) 15     3-slot Enhanced Data Rate eSCO packets

Fourth word
   X   0     Extended Inquiry Response
       1     Simultaneous LE and BR/EDR to same device capable
             (Controller)
       2     Reserved
   X   3     Secure Simple Pairing
   X   4     Encapsulated PDU
       5     Erroneous Data Reporting
   X   6     Non-flushable Packet Boundary Flag
       7     Reserved
   X   8     Link Supervision Timeout Changed Event
   X   9     Inquiry Response TX Power Level
   X  10     Enhanced Power Control
      11-14  Reserved     
   X  15     Extended features [i.e. highest bit in feature mask]"


the same have CSR8635?


About MFB - where I can turn on this function in PSTool?
 

Offline Buriedcode

  • Super Contributor
  • ***
  • Posts: 1610
  • Country: gb
Re: Programming off the shelf CSR8635 module
« Reply #110 on: December 15, 2017, 03:15:20 pm »
Just noticed this.
About circuit - orginal I have on board 1k between SPI_PCM and GND. I have desoldered this 1k resistor to solder new 10k between 1v8 and SPI_PCM to have communication by SPI. But I think that without this 1k to gnd<>spi_pcm I should have connection after added password pin.

Yes, the SPI/PCM pin is used to select the serial port to either I2S - for your DAC, or SPI - for configuration, so yes if you want normal operation you should connect this to ground once you've finished config.  However, I don't see how this will stop you 'connecting' to it.  It simply controls the I2S output, so it eh SPI_PCM pin is pulled high - you won't get any audio from your DAC,. but you should still be able to connect to it.

Clearly something else is going on.   If you "reset & close" in PStools, without changing any of the settings, is it still discoverable?  Or is the problem only when you set a password?  As there are so many config settings, changing any other field, or even any hex value within the same field can cause it to not boot - these devices are very sensitive to config changes.

As to the CSR8635 - I don't know, I have never used that device.  I know the CSRA64215 is one generation newer than the CSR8645, and has more features (like an I2S port enabled by default) also the config maps are of course different - you can't use the config from a 8645/8635 to use with a 64215.

I don't think you can easily change the MFB setting in PStools - that is generally configured using the 'headset configuration utility' that's floating around the web somewhere.  As I said, if the boar4d you have doesn't have any buttons, then don't worry about this setting, because clearly it is configured to not use buttons for control, so you shouldn't need to change anything.

Edit: The link: https://www.tinyosshop.com/index.php?route=information/news&news_id=55  mentions:  "This tutorial only for common BT modules. You CAN'T add a password to APTX module! "   and it appears what they call 'APTX module' is the CSRA64215, whereas the 'common BT module' is based on the CSR8645.  So it appears this tutorial is not for adding a password to the CSRA64215
« Last Edit: December 15, 2017, 03:17:58 pm by Buriedcode »
 
The following users thanked this post: mehdikh15

Offline gavron04

  • Contributor
  • Posts: 16
  • Country: pl
Re: Programming off the shelf CSR8635 module
« Reply #111 on: December 15, 2017, 04:00:28 pm »
About toturial for adding pin NOT for aptx I  wrote this in  post 109.

Som how can I add password for my module?

Its only problem when I set password. When I change BT name all works ok.
 

Offline Buriedcode

  • Super Contributor
  • ***
  • Posts: 1610
  • Country: gb
Re: Programming off the shelf CSR8635 module
« Reply #112 on: December 15, 2017, 05:18:58 pm »
About toturial for adding pin NOT for aptx I  wrote this in  post 109.

Som how can I add password for my module?

Its only problem when I set password. When I change BT name all works ok.

I don't know.  Messing around with PStools isn't wise because although it can give a description of what the fields mean - often it does not, and I cannot find the datasheet that explains all the bitfields for config for the CSRA64215.  Perhaps that website will release another tutorial specifically for the CSRA64215, until then, I guess we're left to google.
 
The following users thanked this post: mehdikh15

Offline Vatssalya

  • Newbie
  • Posts: 1
  • Country: us
Re: Programming off the shelf CSR8635 module
« Reply #113 on: December 28, 2017, 06:19:57 pm »
I have recently worked with CSR8635 and it was a huge learning curve...

q) how much devices can I connect to CSR64215?
A) I cannot answer for CSR6415... but with CSR8635, at a time two devices can be connected to it. Audio will stream through the device which plays the audio first.

I was able to pair close to 23 devices... and then I ran out of devices... so I think there is no max number of devices.

True, how is it possible to pair infinite number of devices? Based on my observation, after pairing 11 devices, there have been instances where the previously paired devices do not get connected at the first instance or it just takes more than one try to connect a previously paired device.

Q) it is possible to add some button to start pairing?
A) Yes, you can. In our design, we connected (+ve side of the switch)SPI_PCM to 1.8V pin and then to PIO18 (-ve side)  + RC filter to GND

I hope this answer is useful...

V

 

Offline ultranalog

  • Contributor
  • Posts: 34
  • Country: pl
  • Audio Nerd - not an audiophool
    • It's only audio
Re: Programming off the shelf CSR8635 module
« Reply #114 on: December 29, 2017, 09:28:55 pm »
I can't be the first one to notice the similarity between the CSR USB-SPI programmer and the cheap Saleae clones. They must be hardware identical.

Since I have one of those clones, is there any way I can use it as an SPI programmer?
playing around with near DC (20 kHz) for fun and profit
 

Offline Buriedcode

  • Super Contributor
  • ***
  • Posts: 1610
  • Country: gb
Re: Programming off the shelf CSR8635 module
« Reply #115 on: December 30, 2017, 01:02:46 am »
I'm not sure what "Sal@e clone" you have but mine is completely different from the CSR-SPI tool.  Sure, same enclosure, with a 10-way shrouded pin header and USB mini B, but.. the S@lae clones AFAIK is based off a cypress USB chip, where-as the CSR-SPI is based off a bluetooth SOC - where the actual bluetooth part isn't used.  Open them up and see, there are no screws.

You might be able to use the S@lae clone as a programming but it would take a hell of a lot of work (custom dll driver). My original clone was based off of the FT232R dongle here: https://github.com/lorf/csr-spi-ftdi the guy who guy who created that is pretty smart, it's easy to bit bang USB devices (like the FT232 or the cypress ones) but getting host software to recognize it (changing VID and PID) as well as it actually working with host software is a challenge.  Certainly not worth the ~$20 an official CSR-SPI dongle will cost you. 

A cheap chinese "CSI-SPI" tool works with all versions of PStools, as well as all tools (including the CSRA64xxx tool) so is well worth the money if you plan on doing changing more than one bluetooth module, or if you want to do much more than just change the name. 
 
The following users thanked this post: ultranalog, mehdikh15

Offline ultranalog

  • Contributor
  • Posts: 34
  • Country: pl
  • Audio Nerd - not an audiophool
    • It's only audio
Re: Programming off the shelf CSR8635 module
« Reply #116 on: December 30, 2017, 10:04:33 pm »
Thanks.

It wasn't so much about saving $20 but I have that one lying a foot away on my desk while the other one takes 6 weeks to ship from China ;)
playing around with near DC (20 kHz) for fun and profit
 

Offline gavron04

  • Contributor
  • Posts: 16
  • Country: pl
Re: Programming off the shelf CSR8635 module
« Reply #117 on: January 16, 2018, 05:33:39 pm »
I have recently worked with CSR8635 and it was a huge learning curve...

q) how much devices can I connect to CSR64215?
A) I cannot answer for CSR6415... but with CSR8635, at a time two devices can be connected to it. Audio will stream through the device which plays the audio first.

I was able to pair close to 23 devices... and then I ran out of devices... so I think there is no max number of devices.

True, how is it possible to pair infinite number of devices? Based on my observation, after pairing 11 devices, there have been instances where the previously paired devices do not get connected at the first instance or it just takes more than one try to connect a previously paired device.

Q) it is possible to add some button to start pairing?
A) Yes, you can. In our design, we connected (+ve side of the switch)SPI_PCM to 1.8V pin and then to PIO18 (-ve side)  + RC filter to GND

I hope this answer is useful...

V

Hi :) Thanks for reply.

I think that CSR64215 have similar number of devices.

What it means "in our design", You are writing about this board >https://www.aliexpress.com/item/CSR64215-Bluetooth-Decoding-Board-ES9023-Independent-DAC-Assembly-Board-AD823-Buffer-Output/32829708438.html?ws_ab_test=searchweb0_0,searchweb201602_5_10152_10151_10065_10344_10068_10342_10343_10059_10340_10314_10341_10534_100031_10084_10604_10083_10103_10304_10307_10615_10301_10142,searchweb201603_36,ppcSwitch_5&algo_expid=9645a650-d9c8-40ae-af01-71acc37fba89-13&algo_pvid=9645a650-d9c8-40ae-af01-71acc37fba89&priceBeautifyAB=4 or about Your own pcb?

About adding button I have some question:

1) RC filter > R - 10k, C - 100n?

2) And how about software? I need to change something?


And last question:

Have You tried add password for pairing?

Regards
« Last Edit: January 16, 2018, 05:37:18 pm by gavron04 »
 

Offline sirtet

  • Contributor
  • Posts: 19
  • Country: ch
Re: Programming off the shelf CSR8635 module
« Reply #118 on: January 19, 2018, 11:56:04 am »
Me trying to rename a CSR8635...
@buriedcode mentioned, that direct programming of the external eeprom is normally not needed.
Well, i went this route because i do not have a CSR USB-SPI programmer, and i did not want to wait, and the task is most probably a one-off thing anyways.
And after reading the whole thread here, the described process using a selfmade programmer was not clear to me, and going for the eeprom seemed easyer.

I had no success with this, so my questions are around that...

I quickly made a parallel adaptor for ponyprog,
http://www.lancos.com/e2p/easyI2Cbus_mini.gif
and was able to read the 24c64 chip using VCC of 3.3 instead of 5V.
Found the name-string, changed it, flashed back, powered off (programmer's voltage to chip), read again, saw my new string, SUCCESS! ... RIGHT? ... NO!
power up the module, aand... old name shows up!
After researching into possible caching things in android's bluetooth stuff, i read the eeprom again, and there was the old string again.

So, why's that?
Is there a checksum in the eeprom, and upon failure the 8635 goes back to the settings in his ROM, or what?
Could i hard-wire the write-protect pin on the eeprom? Most probably would need to disconnect it from the CSR chip i guess, but this would maybe still not help...
Any ideas?

If i would go for a self-made programmer, this still needs this FTTI chip, right?
Or are there options with some simple bitbanging things, similar to what i did with the ponyprog?
The TRANSPORT dialogue in PStools seems to suggest so...
But i did not fully grep the steps needed with the CSR software, and what programmer-hardware options are there.
 

Offline Buriedcode

  • Super Contributor
  • ***
  • Posts: 1610
  • Country: gb
Re: Programming off the shelf CSR8635 module
« Reply #119 on: January 20, 2018, 06:00:23 am »
And after reading the whole thread here, the described process using a selfmade programmer was not clear to me, and going for the eeprom seemed easyer.
What made you think it was easier?  yes, arguably it can be easier to write to en EEPROM than specific hardware like the CSR devices, but in terms of modifying the parameters?  Far easier to go down the ftdi_CSR-SPI route.


I quickly made a parallel adaptor for ponyprog,
http://www.lancos.com/e2p/easyI2Cbus_mini.gif
and was able to read the 24c64 chip using VCC of 3.3 instead of 5V.
Found the name-string, changed it, flashed back, powered off (programmer's voltage to chip), read again, saw my new string, SUCCESS! ... RIGHT? ... NO!
power up the module, aand... old name shows up!
That's a lot further than I thought you would get.  Seemed logical.

After researching into possible caching things in android's bluetooth stuff, i read the eeprom again, and there was the old string again.
So, why's that?
Is there a checksum in the eeprom, and upon failure the 8635 goes back to the settings in his ROM, or what?
Possible, I really have no idea.  I have never modified things based purely off the EEPROM.  As features require licensing I suspect much of the eeprom is based on specific values - that is also why it can be so easy to brick the modules, some software only writes back certain areas to the eeprom, leaving others blank, meaning the chip gets stuck in a boot loop.

If i would go for a self-made programmer, this still needs this FTTI chip, right?

yes, but that is.. what $4? for a ready-made FT232R board.  Which can be used for other projects.

Or are there options with some simple bitbanging things, similar to what i did with the ponyprog?
The TRANSPORT dialogue in PStools seems to suggest so...
But i did not fully grep the steps needed with the CSR software, and what programmer-hardware options are there.

You have to remember, CSR never intended people to be tinkering with their settings at home. Thus the ROM-centric nature of the devices, and the specific configuration hardware.  They were meant to allow manufacturers to enable/disable features and it is only thanks to some hard work, and leaks from china that means we can get hold of hardware that allow us to modify things - really rather cheaply I might add.  For $20 I got 4 BT modules with apt-X, and a CSR-SPI programmer that allows me to change almost every setting.

I understand its just a one-time thing, but you end up spending much more time fiddling around in the unknown, to save what.. $4?  If you cannot wait for shipping from china, then I'm sure you can get a FT232R from where-ever you are based much sooner, just for more money.  I would stick a logic analyzer on the I2C pins of the eeprom to see what it reads and writes, but thats a lot of work just to map out the contents of the eeprom for no real reason.
 
The following users thanked this post: mehdikh15

Offline sirtet

  • Contributor
  • Posts: 19
  • Country: ch
Re: Programming off the shelf CSR8635 module
« Reply #120 on: January 20, 2018, 07:20:19 pm »
Thanks...
Quote
What made you think it was easier?
Yes, as u say, the fact that flashing an eeprom is nothing proprietary. There were a lot of warnings about how easy it is to brick these SOC's by wrong steps.
This post: https://oyvindnilsen.com/change-device-name-of-a-spk-b-bluetooth-audio-module/
also inspired me. Looked like it would be straight forward.
[EDIT]argh, the comments there already tell about the name being reverted on my module (KRC-86B V4.0)[/EDIT]
And then there was(IS!) the fact that i don't have the pinout of the SOC (Actually an 8630, not 35...)
There are five connector pins on the board marked NC, which are actually wired to the SOC, so i guess these might be the serial and SPI pins, but which is which...

Now i actually DID find a usb-serial board with the FTDI chip, so if i can get the 8630 pinout i will try this route.
And also found out that there seems to exist an easy LPT interface, linked on the csr-spi-ftdi page:
http://byron76.blogspot.ch/2011/09/upgrade-your-bluetooth-module.html
either way, the SOC pinout is my showstopper for now.
No success so far in googling for these datasheets...

[EDIT]I did find a 8635 datasheet, and according to that, the NC pins make total sense, seems like (that part of) the pinout is identical on the 8630, so i will try the BlueSuite stuff...[/EDIT]

[EDIT2]That FTDI chip is too tiny to solder directly, so i think i will try the LPT programmer. Will need to adopt it to 1.8V i guess, did not measure voltages yet, and have no datasheet...[/EDIT2]
« Last Edit: January 21, 2018, 12:05:09 am by sirtet »
 

Offline sirtet

  • Contributor
  • Posts: 19
  • Country: ch
Re: Programming off the shelf CSR8635 module
« Reply #121 on: January 22, 2018, 12:37:50 am »
OK, my module announces itself as Beomaster 1900 now...
(as i will place it inside a Vintage Bang&Olufson Receiver   :))
 I did it with PStools and the DIY LPT programmer, hooked up according to my pinout-image above.
After a first fail, i had to modify the programmer a bit, as i found out the LPT on my Laptop Outputs only 3.3v  ^-^
So I used 6k8 and 5k6 resistors in the voltage dividers and 3.3v as vcc.
For MISO i made a level shifter with 2 transistors, as seen here:
https://forum.arduino.cc/index.php?topic=160716.msg1210677#msg1210677
Pin 29 I pulled directly to a 1.8V supply.

Thanks to all who provided all the different bits here and there...
 

Offline Chilmars

  • Contributor
  • Posts: 10
  • Country: gw
Re: Programming off the shelf CSR8635 module
« Reply #122 on: March 07, 2018, 03:51:37 pm »
Hello
Can somewone send give download link CSR64210 eeprom or dump file?
I bricked my..meed to get back
 

Offline konsgn

  • Newbie
  • Posts: 4
  • Country: us
Re: Programming off the shelf CSR8635 module
« Reply #123 on: April 13, 2018, 01:52:34 pm »
Hey All,

I had a stellaris board kicking around for a long time programmed to
GitHub - Frans-Willem/CsrUsbSpiDeviceRE: Reverse engineered reimplementation of the CSR USB<>SPI converter device on a Stellaris Launchpad. Will work with the original CSR driver and should allow all CSR BlueSuite tools to work on BlueCore chips, with the notable exception of the ones requiring JTAG.

Of course it broke and I was out of a programmer and had a new csr8645 module to play with/ need of reprogramming my hacked HD201 headphones.

Not willing to pay the 15$ for a programmer, and looking to get more comfortable with the family of processors, I ported the code to the bluepill/black magic probe. If anyone wants their own csr programmer, they can purchase a "blue pill" and program it with any uart programmer to the CSR-SPI functionality.

The code also works if you have a black magic probe already, as it bitbangs the same pins that the probe does.

Here's a link:
BlueMagic

Also note, after playing with it for a bit, I realized I broke the csr8630 chip by yelling at it in 3.3v... don't do that. The Blue Pill can only talk in 3.3V but I updated the code so that when programmed to a black magic probe it checks target power voltage on power up. If the code sees a voltage greater than 1V it leaves it's 3.3v power supply off. If you connect the black magic's vcc to spi_en and a 1.8V target point, you will be powering the translator chip at that voltage and it should talk properly(at 1.8V).
 

Offline Magnets

  • Contributor
  • Posts: 12
  • Country: gb
Re: Programming off the shelf CSR8635 module
« Reply #124 on: April 14, 2018, 11:38:18 pm »
Also note, after playing with it for a bit, I realized I broke the csr8630 chip by yelling at it in 3.3v... don't do that. The Blue Pill can only talk in 3.3V but I updated the code so that when programmed to a black magic probe it checks target power voltage on power up. If the code sees a voltage greater than 1V it leaves it's 3.3v power supply off. If you connect the black magic's vcc to spi_en and a 1.8V target point, you will be powering the translator chip at that voltage and it should talk properly(at 1.8V).

Sorry if I'm being dense, but does this mean you can program CSR chips using just a $2 board or do I need something else (black magic probe?) to make it work with 1.8v?
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf