Technical discussions about the TI C6000 DSPs (including the c62x, c64x and c67x DSPs).
|
Hi all, Does anyone know where I may find addresses for CPU control registers?? In SPRU189d, they only mentionned the MVC instruction, but that does give me the physical addresses. Thanks Damien |
|
|
|
Which CPU control registers you wish to find addresses for ? If it is some peripheral registers then these are documented in Peripheral Reference Guide. Sachin --- dcourous <> wrote: > > Hi all, > > Does anyone know where I may find addresses for CPU control > registers?? > In SPRU189d, they only mentionned the MVC instruction, but that does > give me the > physical addresses. > > Thanks > > Damien > > _____________________________________ __________________________________ |
|
|
|
Hi Sachin, We would like to address internal CPU control register. Actually, I have to know these addresses in order to update for the C67 one of our small softs, which was designed for the C40. For example: - data address paths DA1&2 - data path A1:15 & B1:15 - CPU control register file... I know the MVC instruction to address control registers, but it doesn't give me addresses! Damien Le vendredi, 28 nov 2003, à 16:23 Europe/Paris, Sachin Gupta a écrit : > Which CPU control registers you wish to find addresses for ? If it is > some peripheral registers then these are documented in Peripheral > Reference Guide. > > Sachin > > --- dcourous <> wrote: >> >> Hi all, >> >> Does anyone know where I may find addresses for CPU control >> registers?? >> In SPRU189d, they only mentionned the MVC instruction, but that does >> give me the >> physical addresses. >> >> Thanks >> >> Damien >> >> >> >> _____________________________________ >> >> >> >> >> > > __________________________________ |
|
> Date: Fri, 28 Nov 2003 17:50:13 +0100 > From: Damien Courouss? <> > > We would like to address internal CPU control register. Actually, I > have to know these addresses in order to update for the C67 one of our > small softs, which was designed for the C40. > For example: > - data address paths DA1&2 > - data path A1:15 & B1:15 > - CPU control register file... > > I know the MVC instruction to address control registers, but it doesn't > give me addresses! Damien, The CPU control registers are not memory mapped, therefore they do not have an address associated with them. They can be read by MVC.S2 CNTRL, GENREGB, where CNTRL is one of registers in the CPU control register file. GENREGB is a general purpose register in the B register file. They can wrritted by MVC.S2{X} GENREG, CNTRL, where GENREG can be from both A or B file, CNTRL is in the control file. MVC can be executed only on the S2 unit, and can use the cross-path for the src2 if this is a general purpose register. Data address path and data path are explained in the load/store instructions, but the general rule is that the base and offset registers are on the same side as the D unit in use, while src (for stores) and dst (for loads) could be on either side, which is indicated by T1/T2 after the D unit: LDW.D1T2 *+A10[A11], B1 ; DA1, LD2 path LDW.D2T1 *-B10[B11], A1 ; DA2, LD1 path LDW.D1T1 *+A10[A11], A1 ; DA1, LD1 path et cetera. Hope this helps, Andrew |
|
Damien- > Actually, you're right, I wan't to translate C40 opcodes to C67, > in order to use an old assembler for the C40. For example, > I cannot find addresses for the registers pairs in data paths, > in internal CPU, or a way to mention them in opcodes... So you can produce a number of representative examples of C67xx assembly code, deduce the missing or undocumented bitfields of the op-codes, and go from there? Is this for a Linux package? -Jeff > Damien > > Le mardi, 2 déc 2003, à 06:50 Europe/Paris, Mike Dunn a écrit : > > Damien, > > Are you trying to: > A. Translate C40 opcodes to C67x opcodes?? > B. Write an assembler?? > C. None of the above?? > > mikedunn > > Damien_CouroussÈ <> wrote: > > Hi, > > What I want is physical information. My purpose is not about which > instruction would allow me to address internal registers. I'm looking > for (all of) the (physical) addresses of internal CPU control registers, > which I'm not able to find in TI documentation. > > Damien > > Le vendredi 28 novembre 2003, ‡ 03:35 PM, chassaing a Ècrit : > > > Hi: > > > > Which are you looking for? (AMR, SPCR, ...?). For example, if you're > > using > > circular buffer, you can move (movl/mvlh) a value (32 bits)into a > > register > > Bx, then move that constant value in the register into AMR (mvc Bx,AMR). > > > > Are you familiar with my book based on the C6x? > > > > Rulph Chassaing > > > > ----- Original Message ----- > > From: "dcourous" > > To: > > Sent: Friday, November 28, 2003 4:40 AM > > Subject: [c6x] C67 CPU register address > > > > > >> > >> Hi all, > >> > >> Does anyone know where I may find addresses for CPU control registers?? > >> In SPRU189d, they only mentionned the MVC instruction, but that does > >> give > > me the > >> physical addresses. > >> > >> Thanks > >> > >> Damien |
|
RE:>> C -> C40 compile -> C40 asm -> C40-to-C67 translator -> C67 op codes If you are starting with (or have access to) C, then why don't you just do this: C -> C67 asm. My assumption was that you only had C40 asm and wanted to do this: C40 asm -> C67 asm. Regards,
-----Original Message-----
Damien, Am I correct that you are hoping to go
Are you moving (porting) from C40 to C67 ? More background will allow others to make more useful observations and suggestions. Might I suggest you look and the VC33. It will be a much shorter path to working code that trying to translate C40 opcodes to C67 (which I would classify as a extremely difficult (and hard to debug)). - Andrew E. At 05:24 PM 12/3/2003 +0100, Damien Couroussé wrote:
>
>>>
>>>>
_____________________________________
|