Programming CSR Bluecore chip

All things pertaining to wireless and RF links

Moderator: phalanx

jonsmirl
Posts: 26
Joined: Tue Jul 24, 2007 9:20 pm
Location: Gulf Stream, FL

Programming CSR Bluecore chip

Post by jonsmirl » Sat Jul 18, 2009 8:53 am

Is there a cheaper way to directly program a CSR Bluecore chip? The CSR Casira SDK is $3,000.

electronix79
Posts: 9
Joined: Mon Aug 17, 2009 5:52 pm

Post by electronix79 » Mon Aug 17, 2009 6:12 pm

The Casira board is not needed, but it will help you a lot to learn CSR technology, you can buy for example Mitsumi WML-C46AHR IC and build your on PCB.
You just need to create a simple LPT programmer, just few resistors to convert the 5V level to 3.3V, which will be used the SPI protocol.
But to program even the Casira IC or your BlueCore IC like WML-C46AHR you will need the BlueFlash software to upload your modified firmware which will have VM application and also you will need PStool software to adjust the PS memory.
Finally the most important is the xIDE BlueLab 4.1 which is include IDE and C compiler and DSP Assembler, which you need to manage to find it.
Because without BlueLab you cannot develop you software for Virtual Mode application, you will need this software to compile your C code and merge it with the CSR bluetooth stack firmware signed or unsigned is depend on you, how you want to protect your design or not.

Hope this help you.

jonsmirl
Posts: 26
Joined: Tue Jul 24, 2007 9:20 pm
Location: Gulf Stream, FL

Post by jonsmirl » Mon Aug 17, 2009 7:12 pm

Thanks for the info. I figured out that using a CSR chip was going to cost $10K+ a developer seat. The chips are cheap but the savings is eaten up with the dev tools.

We have switched to an 802.15.4 chip, the Freescale mc13224v. You can program it for free using gcc and contiki. It is the best bang for the buck until the Ember 351 ships. Ember 351 may need costly dev tools which may ruin it's cost advantage.

We are using 6lowpan and TCP/IP instead of ZigBee. We want to be standards based and ZigBee is not open. 6lowpan is available for free in Contiki. I had ipv6 running in a few hours.

We also evaluated 802.15.4 offerings from Microchip, Atmel and TI before choosing Freescale.

These guys offer pretty cheap mc13224 dev boards.
http://www.redwirellc.com/store/

electronix79
Posts: 9
Joined: Mon Aug 17, 2009 5:52 pm

Post by electronix79 » Mon Aug 24, 2009 2:16 pm

You know I also think about ZigBee and hear about it simplicity.
But now the new version of ZigBee2 is comming and personaly I haven't work in embedded design with ZigBee yet but with BlueCore yes.
At the beginning the CSR was look very difficult to uderstand because of poor documentations, but finally I managed and read all and found the way. Also I found one nice book about Bluetooth which has at chapter 7 very interesting information, even if it was for the first version on BlueCore and the old version of BlueLab, but some basics of BlueStack are the same. So this book also help me.
I also want to say that the new BlueCore has very low power consumption, so the ZigBee is now is not so far from it. I haven't yet any benchmark for that, but I am sure that BlueCore6 and 7 are very smart even the one which I am using BlueCore4-External with 8Mbit Flash, which has Class 2 (10meter range) Wireless parts.
Also the very important thing comparing to ZigBee with Bluetooth is that the Bluetooth has many Profiles, like SPP, DUN, FAX, etc you can send a file and voice at quity higher data rate that ZigBee. And ofcause you can create even your profile if you want talking directly with RFCOMM, L2CAP layers or even to ACL layer.
And the key is that you can manage it with PC or even mobile phone with just simple Java (with JSR82 API) application. This is very important for me and very useful.
Also if you look in security side you can encrypt your transmition with 128bit at hardware level, without adding any software extra operation to encrypt more your data, ofcause if you need you can do it.
I dont know about the ZigBee security how strong it is.
But in any design with ZigBee you will also need to have a master design which will be connected to PC or maybe it will be independed, to conroll you slaves ZigBee.
Of cause some of the ZigBee advantages that you can support more that 7 nodes, up to 127. In bluetooth you need to manage this in different way, but even in bluetooth this is possible.
So to sum up I think in many thing bluetooth is more powerful and advances than ZigBee and concerning the simple control even by mobile phone this is very strong point for me.
But I am saying again that ZigBee is also good for some special cases, but for that cases it is also good to look and Cypress CyFi protocol which is very simple and very powerful.

bitaddress
Posts: 2
Joined: Fri Sep 18, 2009 4:58 pm

Please help me! Electronix79

Post by bitaddress » Fri Sep 18, 2009 6:05 pm

Hi electronix79,

I have sent you an PM and appreciate all your help. Can you email me? thanks.


chinhelp@gmail.com

electronix79
Posts: 9
Joined: Mon Aug 17, 2009 5:52 pm

Post by electronix79 » Fri Sep 18, 2009 10:03 pm

Hi there I will try to answer you quickly:

According to your information below I will give near the answers:
In my project , I guess I need to do the following:
=============================================
1. Make the Bluecore4 Module as standalone without MCU so have to program the VM app to contain a OPP profiles app.
Answers1: Yes you need to program the Flash memory using the BlueLab.
From version BlueLab 4.1 you can use new firmwares where you can program in Native Mode. Which mean your application can run up x100 faster because the are will be in the same access level as the BlueStack and not in Virtual Mode, where your application is isolated.
And ofcause the advantages of Native Mode is that your application can be as much as you want. I mean that it can use all the available Flash Memory of it. Where in VM you have a lot of limitiation in space of Flash and SRAM.
2. To extract the Firmware from the BlueCore4-Ext FLASH.
Answer2: You can extract the firmware from BlueCore4 but it will be in binary format. So how you will work with this data? I think this is wrong approach. You need to use BlueLab and the OEM firmware by CSR. Or at least the preloaded Casira Firmware which exist in BlueLab but I am not sure if it will work properly in pure chip which you will use in your design.
Because the preload firmware in BlueLab was decided specialy for Casira Development board. But for simple project probably will work even on single BlueCore4-External like Mitsumi WML-C46AHR. But I suggest you to manage to find the proper firmware.
So during your development and compiling and linking you will set in BlueLab the setting for merge the firmware with your application code. So it will create binary data firmware which you can load later on your chip. This is the right way.
3. To edit and program the extracted Firmware (eg. LM layer)
Answer3: Read the Answer2.
4. Reload back the VM app + Modified Firmware to BlueCore4-EXT flash.
Answer4: Read the Answer2.
==============================================

Questions:
=================
- What is really stored inside the BlueCore4-EXT Flash (firmware) ? Does it contain the whole Stack including Link Controller (LC-baseband), Link Manager(LM), HCI or even higher layer like L2CAP/RFCOMM ?
Answer5: Yes it contain everything from HCI to upper layers and Profiles.
In the first version of BlueCore1 and maybe so other they had only HCI layers. But now they have complete Bluetooth Stack with RFCOMM, L2CAP and Profiles also.
- If Yes, then can we extract it and modify especially the Link Manager (LM) layer code and reload back the whole assembled firmware back to the bluecore4-ext FLASH iC ?
Answer6: I dont know maybe you can if you know what to extract and how work with the binary data which you will have.
But you need to understant the think which you want to do is like hacking. And it will take to you a long time. Because not documentation is available on that area. Because this is No How of the company and their create their Bluetooth Stack for their hardware. Which already compiled in their internal application development and supply to customers. So only CSR can have access to this information and know exactly what and how is working. Do not try to find this information on internet because it only probaly available on the intranet of CSR company and only there.
- I don't know if I can use BlueLab or BlueSuite or need to get some other tools to do the above?
Answer7: If you can find the CSR internal development tools then you can do your job. But, as you understand you will need to design your software for that.
- I am not supplied with any firmware from CSR, but the module should have preloaded bluecore4-ext firmware. Where can we get the firmware for BlueCore4-EXT beside from CSR?
Answer8: I know only one way: the CSR.
I have to ask you because CSR support won't answer any technical question and won't even allow us to access any CSR app notes,datasheet and reference unless we buy their $3000 Casira kit. How sad is it that we plan to use their IC in our project and that is the "NO-Support" level we got from them.
Answers9: And why you think that somebody need to answer to you when you are not their client? But I can tell you that if you will be their client, you will have their support 100% So, just look the reality. Every company have their strategy so you have two choices follow them or not.
Many many many Thanks to you and I really appreciate your help on this.
Hope this help you in some way.
Regards
Thanks.

bitaddress
Posts: 2
Joined: Fri Sep 18, 2009 4:58 pm

Post by bitaddress » Sat Sep 19, 2009 3:08 am

Thank a lot for your insight and fruitful info. I just thought that we should deserve a better Pre-Sales Support from them. Some time, during product selection, we just don't know what to purchase , whether the product suit us or not and what to expect after purchase for example, what documents/reference and access level will be granted and so on. Anyway, as you said, policy wise, you are right. Thank for your help !


Anyone out there, any alternative for Bluetooth IC solution ? We always have our rights to follow. Thanks.

Undertow10
Posts: 3
Joined: Sun Oct 14, 2007 12:02 pm

Post by Undertow10 » Fri Nov 06, 2009 11:55 pm

electronix79,

Do you know anything about the BlueCore6 ROM chip? I am trying to find out what I need to get started designing a board around it. I have some of the datasheets, I've got the QFN-40 chip on a breakout board, but it is still very unclear how to wire up the components and how to communicate with it. The datasheets seem to imply that you can send commands via UART, which should make it easy to get up and running, but I can't seem to communicate with the chip at all.

I am mostly familiar with the Philips BGB203 chip (from an older Sparkfun module). With a few wires you can power it up and get it to communicate via UART. It defaults to 9600 baud, you can enter command mode with an escape sequence of characters, and then send AT commands with no problem. The CSR doesn't seem quite as simple.

The $3000 Casira platform is a little steep for an amateur guy like me just trying to find a good bluetooth module to use. I am considering buying something like this: http://search.digikey.com/scripts/DkSea ... 0104-1B-ND in order to study how the hardware is hooked up and hopefully be able to communicate with some known working hardware.

Any advice you (or anyone else) can offer would help. Thanks.

electronix79
Posts: 9
Joined: Mon Aug 17, 2009 5:52 pm

Post by electronix79 » Wed Nov 11, 2009 6:14 pm

Hi Undertow10,

Sorry for the delay, but I am not visit this website all the time.
Accoriding to the BlueCore6 ROM the things is that the CSR create an option for users who do not want to create a C application on the internal 16bit RISC microcontroller and Internal or External Flash memory on it, with the BlueLab IDE which has C compiler, which of cause cost some amount of money, and you can use only BlueCore4 and BlueCore5 series of CSR IC.
So, for BlueCore4 and BlueCore5 CSR provide firmwares and with BlueLAB use can merge it with your developed C application code and have complete Bluetooth stack with all layers as: RFCOMM, L2CAP and many profiles as SPP, DUN, etc. Where SPP and DUN are mostly used for RS232 communication.
For BlueCore6 ROM version the things is different you need to have already RFCOMM, L2CAP and Profiless SPP or DUN to make your communication with RS232 for example. So, this IC usually provided for device like mobile phones which has operations system on it for example Symbian or Microsoft CE or Linux, and this operating system send the proper data through the upper layer of Bluetooth stack which are RFCOMM, L2CAP and profiles. Or you can design for example USB stick for PC, but you will need on your PC all the layer of RFCOMM, L2CAP and Profiles to make a comunication though your USB stick, for transmittion your data by Bluetooth communication.
As you understand what you try to do is not the right way, until you will have upper layers of Bluetooth stack which are RFCOMM, L2CAP and Profiles, on your microcontroller or your PC.
So, the BlueCore6 ROM series of CSR is for this reason mainly.
Hope this info help you.

dtd_electronics
Posts: 1
Joined: Wed Nov 25, 2009 2:43 am

Post by dtd_electronics » Wed Nov 25, 2009 9:31 pm

Hi electronix79,
Is the WML-C46AHR (from BlueRadios sold by digikey) identical to the WML-C46AHR (from Mitsumi). I means this could be used instead to Casira board as you said ?

thanks

electronix79
Posts: 9
Joined: Mon Aug 17, 2009 5:52 pm

Post by electronix79 » Sun Nov 29, 2009 4:15 pm

dtd_electronics wrote:Hi electronix79,
Is the WML-C46AHR (from BlueRadios sold by digikey) identical to the WML-C46AHR (from Mitsumi). I means this could be used instead to Casira board as you said ?

thanks
Probably the digikey has the same product, but it is better ask them not me :) Send email to digikey for that question.
According to "instead" you cannot replace the functionality of development kit just with one IC as WML-C46AHR, but you can build everything what you want without having Casira development kit :). Remember you will need also BlueLab and programmer on LPT port with few resistors which use SPI protocol to programm the Flash memory of WML-C46AHR, which you will have after compiling your C code in BlueLab.

electronix79
Posts: 9
Joined: Mon Aug 17, 2009 5:52 pm

This is LPT CSR BlueCore4 programmer

Post by electronix79 » Wed Jan 20, 2010 4:16 pm

Here is my LPT CSR BlueCore4 programmer schematic:
Image
and here the PCB:
Image

Enjoy! :)

subhagato
Posts: 1
Joined: Sat Jun 05, 2010 3:59 am

Re: Programming CSR Bluecore chip

Post by subhagato » Sat Jun 05, 2010 4:01 am

Can anyone please send me a download link of Bluelab 4.1 in my email address subhagato@gmail.com, or post it on the forum (if allowed)

Embedia69
Posts: 2
Joined: Wed Dec 22, 2010 7:56 am

Re: Programming CSR Bluecore chip

Post by Embedia69 » Wed Dec 22, 2010 8:03 am

Hello,

I have some questions :

Is it possible to program the chip by USB or is it possible only with SPI?

In the project options I can choose as transport layer "USB" does it means I can program by USB? Because when I want to run with USB selected, it says it can't communicate with SPI..

And in those options I can select the firmware, do I can program the bluetooth chipset with any firmware?

Thank you

Regards,

electronix79
Posts: 9
Joined: Mon Aug 17, 2009 5:52 pm

Re: Programming CSR Bluecore chip

Post by electronix79 » Tue Jan 04, 2011 10:30 am

Hello Embedia69,

> Is it possible to program the chip by USB or is it possible only with SPI?

Answer: The first programming must be done through SPI, by "BlueFlash" tool. If you will create a application with bootloader support, then you can setup to support later firmware upgrade by UART or USB. So the answer is NO you cannot use the USB as a main programming method, it is used only for the end user. The main way for programming is the SPI connection. If you do not have LPT for programming, then you can use USB to SPI convertor for programming.

> In the project options I can choose as transport layer "USB" does it means I can program by USB?
Answer: No. This options is used to select which hardware for communication you will use UART or USB. If you use USB then you cannot use at the same time the UART. For USB communication you will need to install required drivers also.

> And in those options I can select the firmware, do I can program the bluetooth chipset with any firmware?
> No. only the firmware which is suitable for the chip. If is single chip you need OEM CSR firmware if it is on Casira Development board you will need Casira CSR firmware.

Kind Regards,
electronix79

Post Reply