DSPRelated.com
Forums

VCP2 Big Endian Mode

Started by alphankaracaer January 18, 2011
Hello
I'm having trouble trying to run VCP2 on Big Endian Mode in a 6474 EVM. I'm working on an example project, which is working fine in Little Endian mode, the project gets data, convolutional encodes, expands bits to bytes, calculates branch metrics and setup VCP2. But I couldn't manage to get right results in Big Endian mode.
Can anyone help me with this issue?
Alphan.

_____________________________________
alpha,

I'm assuming you do know what big endian actually means.

Did you change over to the big endian libraries?

Is any of your code specifically accessing specific bytes in a word or int?
If so, then that code has to be fixed.

Is any of your code using bit masks to access specific bits/bytes in a datum?
If so, then that code has to be fixed.

R. Williams

---------- Original Message -----------
From: "alphankaracaer"
To: c...
Sent: Tue, 18 Jan 2011 15:07:05 -0000
Subject: [c6x] VCP2 Big Endian Mode

> Hello
> I'm having trouble trying to run VCP2 on Big Endian Mode in a 6474
> EVM. I'm working on an example project, which is working fine in
> Little Endian mode, the project gets data, convolutional encodes,
> expands bits to bytes, calculates branch metrics and setup VCP2. But
> I couldn't manage to get right results in Big Endian mode. Can anyone
> help me with this issue? Alphan.
------- End of Original Message -------

_____________________________________
Alphan-

> I'm having trouble trying to run VCP2 on Big Endian Mode
> in a 6474 EVM. I'm working on an example project, which is
> working fine in Little Endian mode, the project gets data,
> convolutional encodes, expands bits to bytes, calculates
> branch metrics and setup VCP2. But I couldn't manage to
> get right results in Big Endian mode.
> Can anyone help me with this issue?

Question: why do you need big endian mode? First, you already have everything working in little endian mode.
Second, the only reason for big endian would be some type of system interface, for example shared memory through an
FPGA or interface to another CPU or host processor. With the decline of PowerPC, there are increasingly fewer systems
that require a big-endian interface to the DSP.

-Jeff

_____________________________________
Alphan-

Sounds good that you made some progress. Yes I agree, if you have a lot of existing big endian code, then being able
to re-use it with minimum effort could be helpful.

There is nothing fundamentally wrong with big endian code. The issues are either a) access by an external entity, or
b) porting the code to a little endian device (for example, maybe in the future you might run your DSP on an x86
server). I would say that if you can mark with comments or #ifdefs code sections accessed (or likely to be accessed
in the future) by an external entity, then for now it's enough. Debugging endian issues can be difficult; it helps if
you know where to look.

-Jeff

> Hello
> Firstly, I want to tell you that I am succeeded in running VCP2 in Big Endian mode.
>
> Then Answer: We have 5-6 years of Big Endian experience on TI c64x and c64x+ DSPs, and also more on PowerPC CPUs in
> our department and it is very hard to quit old habits you know. In addition we have some progress in our project and
> all the source codes are written in Big Endian. We have encountered some problems regarding Endians so far and passed
> over some how. VCP2 is OK too now but we are losing time occasionally. Maybe in later versions of design we will use a
> PowerPC CPU, but of course it is possible to use an endian conversion layer for communication between them, it is not
> a fatal problem.
>
> Your Comment: We thought about switching to Little Endian but we decided to move on in Big Endian mode. I am still
> considering about this issue, but I think we are using Big Endian mode, at least for now.
>
> Thanks
> Alphan
> --- In c..., "Jeff Brower" wrote:
>>
>> Alphan-
>>
>> > I'm having trouble trying to run VCP2 on Big Endian Mode
>> > in a 6474 EVM. I'm working on an example project, which is
>> > working fine in Little Endian mode, the project gets data,
>> > convolutional encodes, expands bits to bytes, calculates
>> > branch metrics and setup VCP2. But I couldn't manage to
>> > get right results in Big Endian mode.
>> > Can anyone help me with this issue?
>>
>> Question: why do you need big endian mode? First, you already have everything working in little endian mode.
>> Second, the only reason for big endian would be some type of system interface, for example shared memory through an
>> FPGA or interface to another CPU or host processor. With the decline of PowerPC, there are increasingly fewer
>> systems
>> that require a big-endian interface to the DSP.
>>
>> -Jeff
>

_____________________________________