Hey everybody,
in my current project I use C5532 (right now the TMS320C5535eZdsp evalboard). I do not want to use bios or CSL in that project, because I want to have better control of hardware and also deeper knowledge about the DSP itself.
However therefore I needed a register header file to get access to the registers, I used the 'registers.h' from the CSL V3 programmer example as a guideline and extend it with all registers from the datasheet. I thought, maybe it is also helpful for somebody out there. Of course I can not give any warranty of the correctness, but if I will face some problems I will update the file here in the forum (if wanted). I tried to use the phrases of the registers out of the datasheet so that you can for example write something like:
TCR0 |= (1<<TIMEN) | (1<<AUTORELOAD) | (DIV16);
But sometimes it was not possible, for example for phrases like "EN" or "RESET", in that cases please refer to the 'register.h' file for the correct naming (peripheral is described in the file in same order as in datasheet). Unfortunately some of the registers are not or just partial described in the datasheet like the NMI register (IO Addr. 0x1C3E) or DEVCTL (IO Addr. 0x8461?), maybe one of the TI guys here can tell us something about them :).
Also, I will post in a new topic (unfortunately I can just attache one file at once in one post) an updated 'vectors.asm' file (based on C5505eZdsp demo vectors.asm), which should compatible to C553x devices. (see here http://e2e.ti.com/support/dsp/tms320c5000_power-efficient_dsps/f/109/t/231447.aspx)
I will show in that post also how easy it can be to set a timer interrupt without CSL. By the way, I really like CSL (used it a lot in C67x projects), but if you want to understand what happens in hardware you must do it (at least once) yourself ;) Maybe there are some guys out there who are also interested in that like I was (and am) and they will like that example :)
Regards,
Max