
- #Bluesuite usbspi driver how to#
- #Bluesuite usbspi driver install#
- #Bluesuite usbspi driver update#
- #Bluesuite usbspi driver software#
- #Bluesuite usbspi driver code#
#Bluesuite usbspi driver software#
Here is pinout of my board:Īfter you finished your hardware, it's time to go to the software part of tutorial.
#Bluesuite usbspi driver how to#
If you don't know how to etch and/or solder, get some help from someone who knows or study tutorials on net. If you use it, please make sure that the module layout is same as yours. Here you can find Eagle files and partlist for my board. Now, when you have all main components, it's time to make a breakout board. Unfortunately, you can't make USB version of programmer if you don't have a LPT version first (chicken and egg problem). You don't really need to make the case with pogopins, but it won't hurt. In the mean time, when you are waiting to get your modules, I strongly suggest that you get familiar with stuff on Byron's blog and make a LPT programmer cable which is described on that page. These modules are a little harder to get nowadays, but I managed to order a few from. If you want it, create account and download it from !įirst, you should buy some BlueCore3-Multimedia External bluetooth modules (yes, they use their own chip for USB programmer).

I do not own firmware and I won't host it anywhere.

I also can't guarantie that method described below will work for you. In the rest of this post, you could read how to make it yourself.ĭISCLAIMER: I'm not responsible for anything that might happen to you or your equipment if you follow this tutorial. I tought I could use it in some way to made my own programmer and my predictions were correct.
#Bluesuite usbspi driver update#
Soon enough I found firmware update for theirs official USB programmer.
#Bluesuite usbspi driver code#
Based on a lot of Linux specific code in BlueSuite source code, I think they probably already have a Linux version.Īfter a lot of search through the web, I couldn't find any home-made or cheap CSR USB programmer, so I became eager to find a way how to make it myself. Maybe if we really nicely ask CSR, they could provide us with Linux version of BlueSuite tools and I wouldn't need to develop this program anymore. A lot of error handling code is missing, among other things. Remember, this is only proof of concept program and it is not meant to be used for real work. Actually it is just XDV and XPV file combined together. Now you should finally get firmware image in XUV format, which is also supported in BlueSuite tools. This could be achived with following commands:Įcho "SUBSYSTEM=\"usb\", ACTION=\"add\", ATTR=\"0042\", GROUP=\"usbuser\"" > /etc/udev/rules.d/lesĪfter that, you must re-plug programmer, create group with name "usbuser" and add yourself to it. Second, more permanent solution, would be adding an udev rule to set permissions. Quick and temporal solution would be running the program as root. The problem is in USB access permissions.

Probably you will get error message saying that the program can't connect to programmer. When you finally have all things connected and compiled, you can run the program by typing: G++ main.cpp usbdriver.cpp usbprogrammer.cpp stopwatch.cpp devicemanager.cpp flash.cpp -lusb-1.0 -o CsrUsbProg
#Bluesuite usbspi driver install#
Primarily I use QtCreator for developing this program, but if you don't want to install it, you can use following command to build the program: If anyone is interested in helping me on that or any other part, please contact me.įor now, the only dependency is libusb1.0.

For now, this is the only supported programmer because I don't currently own any decent computer with LPT port. If you want to use my program, you must first build USB programmer described in previous post (or buy it if you can afford). Interestingly enough, this program, along with some useful info, can be found in boot_prog_flash_bc.h file from BlueSuite source code. It's responsible for reading/writing flash memory, calculating CRC code, providing info about flash memory etc. The most interesting part of this process is helper program, which does the most heavy lifting.
