Sign in

Not a member? | Forgot your Password?

Search c6x

Search tips

Find us on Facebook!





Subscribe to c6x

Search tips

Free PDF Downloads

A Quadrature Signals Tutorial: Complex, But Not Complicated

Understanding the 'Phasing Method' of Single Sideband Demodulation

Complex Digital Signal Processing in Telecommunications

Introduction to Sound Processing

C++ Tutorial

Introduction of C Programming for DSP Applications

Fixed-Point Arithmetic: An Introduction

Cascaded Integrator-Comb (CIC) Filter Introduction

Discussion Groups

FIR Filter Design Software

See Also

Embedded SystemsFPGA

Discussion Groups | TMS320C6x | Does C6X linker command file accept words instead of actual addresses


Technical discussions about the TI C6000 DSPs (including the c62x, c64x and c67x DSPs).

  

Post a new Thread



Is this thread worth a thumbs up?

0

Does C6X linker command file accept words instead of actual addresses - Venkat Rajagopalan - Mar 15 3:23:25 2009

Hi,
Does C6X linker command file accept words instead of actual addresses and size
values in hexadecimal numbers?

This way if the same address is have many memory sections in my linker command,
and a base address, I can use #defines for them, that compute the memory map and
the sections can be apportioned to appropriate addresses represented as letters
in linker command file, but #defined in some other file.

I am using make files to compile.

BTW When I post replies to other queries, I do not see them. Do they get
moderated before they are posted ?

_____________________________________





Re: Does C6X linker command file accept words instead of actual addresses - Michael Dunn - Mar 15 3:57:58 2009

Venkat,

On Sun, Mar 15, 2009 at 1:43 AM, Venkat Rajagopalan <r...@yahoo.com>
wrote:
> Hi,
> Does C6X linker command file accept words instead of actual addresses and
> size values in hexadecimal numbers?

<mld>
You cannot use symbols for addresses in the LCF unless it was added to
a very recent compiler update.
As far as I know, the primary reason for address changes would be
hardware related [external or internal memory size or location
differences.
>
> This way if the same address is have many memory sections in my linker
> command, and a base address, I can use #defines for them, that compute the
> memory map and the sections can be apportioned to appropriate addresses
> represented as letters in linker command file, but #defined in some other
> file.

<mld>
I do not understand what you want to.
>
> I am using make files to compile.
>
> BTW When I post replies to other queries, I do not see them. Do they get
> moderated before they are posted ?

<mld>
This is a moderated group but all 'on topic content' is posted. Also
check your 'sent mailbox' if you have one,





Re: Does C6X linker command file accept words instead of actual addresses - rvsasi - Mar 22 16:37:36 2009

Mike,
Thanks for your reply.

<mld>

You cannot use symbols for addresses in the LCF unless it was added to

a very recent compiler update.

As far as I know, the primary reason for address changes would be

hardware related [external or internal memory size or location

differences.
>> yes especially when we experiment with data or program cache
optimization. This becomes an invaluable tool. Not clear why TI does not support
this feature. We need to have separate perl scripts to do the translation and we
need to maintain them.
<mld>

I do not understand what you want to.
What I meant is

SECTION A: orig:SECA_START_ADDR,size=SECA_SIZE
SECTION B: orig:SECB_START_ADDR,size=SECB_SIZE

Now my placement could be such that seca_start_addr could be prior to secb or
after that, depending upon my needs.

so I would have another header file, where they will all be related to a base
address.

#define BASE_ADDR_EXTRAM 0x1000000
#define PMEM_OFFSET           0x400000
#define SECA_START_ADDR BASE_ADDR_RAM + FIXED_OFFSET
#define SECB_START_ADDR SECA_START_ADDR + SECA_SIZE

In this way all the addresses values are computed based on the relationshios
established between them,as required

On my issue with my replies

I will check on my replies, as suggested
Regards
--- On Sun, 3/15/09, Michael Dunn <m...@gmail.com> wrote:

            Venkat,

On Sun, Mar 15, 2009 at 1:43 AM, Venkat Rajagopalan <rvsasi@yahoo. com>
wrote:

> Hi,

> Does C6X linker command file accept words instead of actual addresses and

> size values in hexadecimal numbers?

<mld>

You cannot use symbols for addresses in the LCF unless it was added to

a very recent compiler update.

As far as I know, the primary reason for address changes would be

hardware related [external or internal memory size or location

differences.
>

> This way if the same address is have many memory sections in my linker

> command, and a base address, I can use #defines for them, that compute the

> memory map and the sections can be apportioned to appropriate addresses

> represented as letters in linker command file, but #defined in some other

> file.

<mld>

I do not understand what you want to.

>

> I am using make files to compile.

>

> BTW When I post replies to other queries, I do not see them. Do they get

> moderated before they are posted ?

<mld>

This is a moderated group but all 'on topic content' is posted. Also

check your 'sent mailbox' if you have one,

 Note: If you do a simple "reply" with your email client, only the
author of

 this message will receive your answer.  You need to do a "reply all"
if you

 want your answer to be distributed to the entire group.

mikedunn

>

> 

-- 

www.dsprelated. com/blogs- 1/nf/Mike_ Dunn.php





Re: Does C6X linker command file accept words instead of actual addresses - Michael Dunn - Mar 22 20:53:20 2009

Venkat,

On Sun, Mar 22, 2009 at 1:44 PM, rvsasi <r...@yahoo.com> wrote:
> Mike,
> Thanks for your reply.
> <mld>
> You cannot use symbols for addresses in the LCF unless it was added to
> a very recent compiler update.
> As far as I know, the primary reason for address changes would be
> hardware related [external or internal memory size or location
> differences.
>>> yes especially when we experiment with data or program cache
>>> optimization. This becomes an invaluable tool. Not clear why TI
does not
>>> support this feature. We need to have separate perl scripts to do
the
>>> translation and we need to maintain them.
>
> <mld>
> I do not understand what you want to.
> What I meant is
>
> SECTION A: orig:SECA_START_ADDR,size=SECA_SIZE
> SECTION B: orig:SECB_START_ADDR,size=SECB_SIZE
>
> Now my placement could be such that seca_start_addr could be prior to secb
> or after that, depending upon my needs.
>
> so I would have another header file, where they will all be related to a
> base address.
>
> #define BASE_ADDR_EXTRAM 0x1000000
> #define PMEM_OFFSET           0x400000
> #define SECA_START_ADDR BASE_ADDR_RAM + FIXED_OFFSET
> #define SECB_START_ADDR SECA_START_ADDR + SECA_SIZE
>
> In this way all the addresses values are computed based on the
relationshios
> established between them,as required

<mld>
FYI - a comment - your 'fixed relationship model' does not work with
you previous statement about reordering.

Others have solved this problem in different ways.
1. Use header files and the C preprocessor to generate a custom LCF
before invoking the compiler. I would not suggest this unless you are
comfortable with using the C preprocessor.
2. Use a scripting language like perl or python to generate a custom
LCF from a spec file.
3. Manually create a unique LCF for each device. In normal use [2-3
devices], this might be the most prudent unless you are doing a lot of
experimentation.

mikedunn
>
> On my issue with my replies
>
> I will check on my replies, as suggested
> Regards
> --- On Sun, 3/15/09, Michael Dunn <m...@gmail.com> wrote:
>
> Venkat,
>
> On Sun, Mar 15, 2009 at 1:43 AM, Venkat Rajagopalan <rvsasi@yahoo.
com>
> wrote:
>> Hi,
>> Does C6X linker command file accept words instead of actual addresses
and
>> size values in hexadecimal numbers?
>
> <mld>
> You cannot use symbols for addresses in the LCF unless it was added to
> a very recent compiler update.
> As far as I know, the primary reason for address changes would be
> hardware related [external or internal memory size or location
> differences.
>
>>
>> This way if the same address is have many memory sections in my linker
>> command, and a base address, I can use #defines for them, that compute
the
>> memory map and the sections can be apportioned to appropriate
addresses
>> represented as letters in linker command file, but #defined in some
other
>> file.
>
> <mld>
> I do not understand what you want to.
>>
>> I am using make files to compile.
>>
>> BTW When I post replies to other queries, I do not see them. Do they
get
>> moderated before they are posted ?
>
> <mld>
> This is a moderated group but all 'on topic content' is posted. Also
> check your 'sent mailbox' if you have one,
> 





Re: Does C6X linker command file accept words instead of actual addresses - Richard Williams - Apr 5 10:30:01 2009

venkat,

The easiest way I know of to locate data at specific addresses (same technique
works for functions also)

IN the source file, 
#pragma the name to be used in the linker command file, immediately followed by
the data definition.

in the linker command file
locate a section of memory (for data, in the data page)
I.E.
in  section:
mydatasection origin=xxxx, length=yyyy
in memory section
(using name from #pragma)
pragmaname : > mydatasection, page=0

r. williams

---------- Original Message -----------
From: "Venkat Rajagopalan" <r...@yahoo.com>
To: c...@yahoogroups.com
Sent: Sun, 15 Mar 2009 06:43:56 -0000
Subject: [c6x] Does C6X linker command file accept words instead of actual
addresses

> Hi,
> Does C6X linker command file accept words instead of actual addresses 
> and size values in hexadecimal numbers?
> 
> This way if the same address is have many memory sections in my linker 
> command, and a base address, I can use #defines for them, that compute 
> the memory map and the sections can be apportioned to appropriate 
> addresses represented as letters in linker command file, but #defined 
> in some other file.
> 
> I am using make files to compile.
> 
> BTW When I post replies to other queries, I do not see them. Do they 
> get moderated before they are posted ?
------- End of Original Message -------

_____________________________________