First, I am an absolute beginner to C5000 and C5535 eZdsp USB Stick Development Kit, so don't expect any DSP rocket science here. This topic is about modifying C5505 and C5515 demo's, written previously for the C5505/C5515 USB Stick demo boards, to run on the new C5535 eZdsp USB Stick Development Kit.
Last weekend I was looking for any kind of lessons, tutorials or whatever you like to call it, for the C5535 eZdsp USB Stick Development Kit. The only closest thing I could find related to this board was: http://www.ti.com/ww/eu/university/roms.html. Al the modifications are pretty trivial but, being an absolute beginner, I spent a few hours last weekend to figure it out. So, don't waste your time too, follow this instructions instead.
Download the C5000 Teaching ROM from: http://www.ti.com/ww/eu/university/cd-rom/C5505.zip. This is a great learning material. A big THANK YOU to the authors.
To be able to run this lessons to your board, there is one very simple modification: The C5535 eZdsp USB Stick Development Kit use I2S2 instead of I2S0. All you have to do is to replace I2S0 text with I2S2 everywhere in the files aic3204_init.c and aic3204.c . Also, in the file usbstk5505.h insert the following lines:
#define I2S2_CR *(volatile ioport Uint16*)(0x2A00)#define I2S2_SRGR *(volatile ioport Uint16*)(0x2A04)#define I2S2_W0_LSW_W *(volatile ioport Uint16*)(0x2A08)#define I2S2_W0_MSW_W *(volatile ioport Uint16*)(0x2A09)#define I2S2_W1_LSW_W *(volatile ioport Uint16*)(0x2A0C)#define I2S2_W1_MSW_W *(volatile ioport Uint16*)(0x2A0D)#define I2S2_IR *(volatile ioport Uint16*)(0x2A10)#define I2S2_ICMR *(volatile ioport Uint16*)(0x2A14)#define I2S2_W0_LSW_R *(volatile ioport Uint16*)(0x2A28)#define I2S2_W0_MSW_R *(volatile ioport Uint16*)(0x2A29)#define I2S2_W1_LSW_R *(volatile ioport Uint16*)(0x2A2C)#define I2S2_W1_MSW_R *(volatile ioport Uint16*)(0x2A2D)
in the I2S Module section.
To run the demo's follow the lessons. I created a new project for a C5535 chip, runtime suport library to automatic, then unpack the lesson in the project folder. Set the project properties to: chip version silicon as 5515, Runtime Model Options to 32 bit and the memory model to huge, as stated in the first lesson. The target configuration I used to debug was XDS100v2 and EZDSP5535. I also modified the PLL lock frequency in the source code to 100 MHz. For me it worked. The CCS version was 4.2.4.00033. Any questions or observations are welcomed.
With this modifications I was able to run the first, second and the last (20'st) project from the tutorial. Yeaaaa, it works!
:o)
If there are some other tutorials for this board (or any other board, but easy to adapt to C5535 eZdsp) on the Internet, please let me know.
Hi,
You look good at C5535 DSP. Chip support library is also including many examples http://software-dl.ti.com/dsps/dsps_public_sw/dsps_swops_houston/C55X/CSL-c55x-lowpower-versions.htm.
Regards,
Hyun
---------------------------------------------------------------------------------------------------------
Please click the Verify Answer button on this post if it answers your question.
Check out these great resources
http://processors.wiki.ti.com/index.php/Category:C5000---------------------------------------------------------------------------------------------------------
Hi George:
In order for the C5505 programs in C5000 Teaching ROM which use I2S0 on C5505 ezdsp to run on C5535 eZdsp which use I2S2, additional modifications are needed:
1. The External Bus Selection Register (EBSR) as SYS_EXBUSSEL in aic3204_init.c must be set to 0x1100.
SYS_EXBUSSEL = 0x1100;
The example in Chapter 1 will work.
Frank L K Wan
I have tried all of the above in the ROM application examples 1 (First Project) and 9 (Guitar Effects) and the program get stuck in the receive interrupt loop shown below. The RcvR bit in the I2S2 interrupt register never gets high. I understand that codec is reset automatically by power good, and enabled by a pull-down on ezDSP C5535 and there is no need to use the GPIO26 for this purpose. Are there any GPIOs to configure? Any idea?Thanks,
void aic3204_codec_read(Int16* left_input, Int16* right_input)
{
volatile Int16 dummy;
counter1 = 0;
/* Read Digital audio inputs */
while(!(I2S0_IR & RcvR) )
counter1++;
// Wait for receive interrupt }
*left_input = I2S0_W0_MSW_R;
// Read Most Significant Word of first channel
dummy = I2S0_W0_LSW_R;
// Read Least Significant Word (ignore)
*right_input = I2S0_W1_MSW_R;
// Read Most Significant Word of second channel
dummy = I2S0_W1_LSW_R;
// Read Least Significant Word of second channel (ignore)
}
I need to play the song from USB and SD card for C5535.
i downloaded the project USB / AIC from ti website for C5515.
i couldn't be able to make the change wat they've said in that site.
In the downloaded project there is no file in the name of the aic3204_init.c and aic3204.c.
if u have the USB memory stick / Audio / SD card project for C5535.please provide the infiormation.
Please kindly help me in this.
Regards
Bala
You are probably refering to the C55x audio Framework http://www.ti.com/tool/c55x-audioframework that uses dspbios. This thread makes reference to the C5000 Teaching ROM from: http://www.ti.com/ww/eu/university/cd-rom/C5505.zip
Hi George,
This wiki page discusses how to port the C5000 Teaching ROM to the C5535 eZdsp:
http://processors.wiki.ti.com/index.php/Porting_C5000_Teaching_ROM_to_C5535_eZdsp
Thank you for your interest in TI DSPs
Regards,Mark
---------------------------------------------------------------------------------------------------------Please click the Verify Answer button on this post if it answers your question.
Also see our C5000 Wiki---------------------------------------------------------------------------------------------------------
I have tried the porting instructions in the ROM application example 9 (Guitar Effects). The program runs, but nothing can be heard, the value of the samples seems to be too low, I guess the audio codec must be configured differently.
I think I found the reason why the ROM applications don't work. The MIC BIAS input must be powered up on the aic3204 for C5535.
I made the changes on example 9 ( Guitar Effects)
The additional changes I had to do to make it work affect only the file aic3205_init.c:
After selecting page 1 of the codec and enabling analog VDD on LDO:
AIC3204_rset( 0, 1 );// Point to page 1
AIC3204_rset( 2, 1 ); // Enable Analog Blocks, use LDO power
The following line must be added:
AIC3204_rset( 51, 0x48); // power up MICBIAS with AVDD (0x40)or LDOIN (0x48)
This can be done on line 90 inside aic3204_init() function and also on line 233 inside set_sampling_frequency_and_gain()
Once this is done, the microphone on the C5535 ezDSP starts to work miracolously and the guitar effects can be listened.
Enjoy!!
Hi Diego,
Thanks for posting your solution!
You are absolutely correct that the mic bias needs to be enabled in order to use a PC mic (electret type). I will add this to the wiki page.
In the Teaching ROM presentations, a 600 Ohm dynamic microphone is referenced. These dynamic mics (non-electret) do not require mic bias to produce a signal, but they do require a high mic gain.
Similarly, the pickups on an electric guitar also do not require a MIC BIAS (in my experience), but again the gain needs to be set high.
Hope you are enjoying the eZdsp and Teaching ROM.
I just added the instructions for configuring a microphone as input to the C5535 eZdsp to the Porting C5000 Teaching ROM to C5535 eZdsp wiki page...
http://processors.wiki.ti.com/index.php/Porting_C5000_Teaching_ROM_to_C5535_eZdsp#Configuring_a_Microphone_as_Input_to_the_C5535_eZdsp
I have followed all directions. When I attempt to debug, I get the following error:
Error connecting to the target.
(Error -600 @ 0x0)
A required dynamic library could not be located.
The library isn't on the search path.
(Release 5.0.429)
- First, an error message that reads "something failed" isn't helpful.
- I searched on this error and found a thread that wasn't applicable (to the limits of my unskilled level).
- I am working with Chapter 1 - getting started.
- Any help would be greatly and deeply appreciated.
Thank you
Hi Perry,
Can you post the console output with these errors into a new post?
Thanks,Mark
I tried to run examples of c5505 in my c5535. I changed settings as you told. I programmed my device without no error. But when i tried to listen the results, my windows didn't download software of my device. It said no software found for c5505. But my device is c5535, how can i change and get back my device normal. I think i missed something from things told, i don't get it what it is. Any help will be apreciated.
Best regards,
Ipek
Ok, my issue is solved, i had forgetten to plug sd card.