DSPRelated.com
Forums

How do i create a vector table??

Started by Ong Chee Kiong March 25, 2005
Dear all,
 
Does anyone knows how to create a vector interrupt table for c6711 dsk and how to write an ISR for Timer0? I'm using CCS v1.23.
 
Many Thanks,
CK

messenger.gif Yahoo! Messenger
- Log on with your mobile phone!

Hi CK:
 
Should be fairly easy to do. Here's an app note for creating the Vector Table and
Boot ROM:
 
http://focus.ti.com/docs/apps/catalog/resources/appnoteabstract.jhtml?abstractName=spra544d
 
Note: it does use CSL, but I <believe> CCS v 1.23 does use CSL.
 
The Timer0 ISR I don't think should be any great deal, from what you've written
previously - you're just going to be toggling a LED on or off.
 
HTH,
g.
----- Original Message -----
From: Ong Chee Kiong
To: c6x c6x
Sent: Friday, March 25, 2005 12:04 AM
Subject: [c6x] How do i create a vector table??

Dear all,
 
Does anyone knows how to create a vector interrupt table for c6711 dsk and how to write an ISR for Timer0? I'm using CCS v1.23.
 
Many Thanks,
CK

messenger.gif Yahoo! Messenger
- Log on with your mobile phone!

NEW!  You can now post a message or access and search the archives of this group on DSPRelated.com:
http://www.dsprelated.com/groups/c6x/1.php

_____________________________________
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.

_____________________________________
About this discussion group:

Archives:  http://www.dsprelated.com/groups/c6x/1.php

To Post:  Send an email to c...@yahoogroups.com

Other DSP Related Groups: http://www.dsprelated.com/groups.php

This is easier to do with BIOS. It can also be done without BIOS as well. The question is how do you want to do it.

 

Regds

JS

 

-----Original Message-----
From: Ong Chee Kiong [mailto:m...@yahoo.com.sg]
Sent: Friday, March 25, 2005 12:05 AM
To: c6x c6x
Subject: [c6x] How do i create a vector table??

 

Dear all,

 

Does anyone knows how to create a vector interrupt table for c6711 dsk and how to write an ISR for Timer0? I'm using CCS v1.23.

 

Many Thanks,

CK

messenger.gifYahoo! Messenger
- Log on with your mobile phone!

NEW!  You can now post a message or access and search the archives of this group on DSPRelated.com:
http://www.dsprelated.com/groups/c6x/1.php

_____________________________________
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.

_____________________________________
About this discussion group:

Archives:  http://www.dsprelated.com/groups/c6x/1.php

To Post:  Send an email to c...@yahoogroups.com

Other DSP Related Groups: http://www.dsprelated.com/groups.php



Hi,

 

Thank you for the reply. I did that in bios before and I agree that it was much easier. However when i burn the program into rom, any function called by bios will not work.

Tt’s the reason why I’m trying to write it manually. Please advice me.

 

Many Thanks,

CK

 

From: sankaran [mailto:s...@ti.com]
Sent: Saturday, March 26, 2005 1:29 AM
To: 'Ong Chee Kiong'; 'c6x c6x'
Subject: RE: [c6x] How do i create a vector table??

 

This is easier to do with BIOS. It can also be done without BIOS as well. The question is how do you want to do it.

 

Regds

JS

 

-----Original Message-----
From: Ong Chee Kiong [mailto:m...@yahoo.com.sg]
Sent: Friday, March 25, 2005 12:05 AM
To: c6x c6x
Subject: [c6x] How do i create a vector table??

 

Dear all,

 

Does anyone knows how to create a vector interrupt table for c6711 dsk and how to write an ISR for Timer0? I'm using CCS v1.23.

 

Many Thanks,

CK

messenger.gifYahoo! Messenger
- Log on with your mobile phone!

NEW!  You can now post a message or access and search the archives of this group on DSPRelated.com:
http://www.dsprelated.com/groups/c6x/1.php

_____________________________________
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.

_____________________________________
About this discussion group:

Archives:  http://www.dsprelated.com/groups/c6x/1.php

To Post:  Send an email to c...@yahoogroups.com

Other DSP Related Groups: http://www.dsprelated.com/groups.php




CK,
 
If you look at
\examples\dsk6711\board_util\conftest\Dsp
you should find a simple asm vector file.  If you look in the C program in that directory, I think that it uses the timer interrupt [the code is a bit ugly and 'brute force', but you should get the idea].
 
Also, your vector table needs to be located outside of the CE1 memory space.
 
mikedunn

Ong Chee Kiong <m...@yahoo.com.sg> wrote:

Hi,

 

Thank you for the reply. I did that in bios before and I agree that it was much easier. However when i burn the program into rom, any function called by bios will not work.

Tts the reason why Im trying to write it manually. Please advice me.

 

Many Thanks,

CK

 

From: sankaran [mailto:s...@ti.com]
Sent: Saturday, March 26, 2005 1:29 AM
To: 'Ong Chee Kiong'; 'c6x c6x'
Subject: RE: [c6x] How do i create a vector table??

 

This is easier to do with BIOS. It can also be done without BIOS as well. The question is how do you want to do it.

 

Regds

JS

 

-----Original Message-----
From: Ong Chee Kiong [mailto:m...@yahoo.com.sg]
Sent: Friday, March 25, 2005 12:05 AM
To: c6x c6x
Subject: [c6x] How do i create a vector table??

 

Dear all,

 

Does anyone knows how to create a vector interrupt table for c6711 dsk and how to write an ISR for Timer0? I'm using CCS v1.23.

 

Many Thanks,

CK

messenger.gifYahoo! Messenger
- Log on with your mobile phone!

NEW!  You can now post a message or access and search the archives of this group on DSPRelated.com:
http://www.dsprelated.com/groups/c6x/1.php

_____________________________________
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.

_____________________________________
About this discussion group:

Archives:  http://www.dsprelated.com/groups/c6x/1.php

To Post:  Send an email to c...@yahoogroups.com

Other DSP Related Groups: http://www.dsprelated.com/groups.php




NEW!  You can now post a message or access and search the archives of this group on DSPRelated.com:
http://www.dsprelated.com/groups/c6x/1.php

_____________________________________
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.

_____________________________________
About this discussion group:

Archives:  http://www.dsprelated.com/groups/c6x/1.php

To Post:  Send an email to c...@yahoogroups.com

Other DSP Related Groups: http://www.dsprelated.com/groups.php




Ong Chee Kiong-

> However when i burn the program into rom, any function called by bios
> will not work. Tt's the reason why I'm trying to write it manually.
> Please advice me.

What you are describing is an attempt to *run* from EEPROM. If you do that, BIOS (or
any other boot code) thinks memory is r/w and tries to store local variables etc.
Clearly that's not going to work.

You have to use the bootloader to boot (load) from EEPROM to internal memory first,
then run. I don't recall specific CCS steps, but I know you can search thread
archive for this; it has been discussed many times.

-Jeff



Ong Chee Kiong-

> I do have a bootloader that copy the necessary code section (.text,
> .hwi_vector, .bios and .trcinit) into the internal memory before running the
> program. However, in my configuration file (.cdb) under memory manager, my
> ROM memory sections are declare as data/code memory. Could that be the cause
> of the problem?

Ya maybe data should be RAM... I'm not sure, although I think you're getting closer
to the answer.

-Jeff

> -----Original Message-----
> From: Jeff Brower [mailto:jbrower@jbro...]
> Sent: Monday, March 28, 2005 8:48 PM
> To: Ong Chee Kiong
> Cc: c6x@c6x@...
> Subject: Re: [c6x] How do i create a vector table??
>
> Ong Chee Kiong-
>
> > However when i burn the program into rom, any function called by bios
> > will not work. Tt's the reason why I'm trying to write it manually.
> > Please advice me.
>
> What you are describing is an attempt to *run* from EEPROM. If you do that,
> BIOS (or
> any other boot code) thinks memory is r/w and tries to store local variables
> etc.
> Clearly that's not going to work.
>
> You have to use the bootloader to boot (load) from EEPROM to internal memory
> first,
> then run. I don't recall specific CCS steps, but I know you can search
> thread
> archive for this; it has been discussed many times.
>
> -Jeff >




Hi,
I tried that out last night. Didn't work... What other possibilities could
there be? By the way tis is how I assign my memory sections:

SDRAM: code/data
IRAM: code/data
FLASH_BOOT: code
FLASH_REST: code

Thanks,
CK

-----Original Message-----
From: Jeff Brower [mailto:jbrower@jbro...]
Sent: Monday, March 28, 2005 11:49 PM
To: Ong Chee Kiong
Cc: c6x@c6x@...
Subject: Re: [c6x] How do i create a vector table?? Ong Chee Kiong-

> I do have a bootloader that copy the necessary code section (.text,
> .hwi_vector, .bios and .trcinit) into the internal memory before running
the
> program. However, in my configuration file (.cdb) under memory manager, my
> ROM memory sections are declare as data/code memory. Could that be the
cause
> of the problem?

Ya maybe data should be RAM... I'm not sure, although I think you're getting
closer
to the answer.

-Jeff

> -----Original Message-----
> From: Jeff Brower [mailto:jbrower@jbro...]
> Sent: Monday, March 28, 2005 8:48 PM
> To: Ong Chee Kiong
> Cc: c6x@c6x@...
> Subject: Re: [c6x] How do i create a vector table??
>
> Ong Chee Kiong-
>
> > However when i burn the program into rom, any function called by bios
> > will not work. Tt's the reason why I'm trying to write it manually.
> > Please advice me.
>
> What you are describing is an attempt to *run* from EEPROM. If you do
that,
> BIOS (or
> any other boot code) thinks memory is r/w and tries to store local
variables
> etc.
> Clearly that's not going to work.
>
> You have to use the bootloader to boot (load) from EEPROM to internal
memory
> first,
> then run. I don't recall specific CCS steps, but I know you can search
> thread
> archive for this; it has been discussed many times.
>
> -Jeff >




Ong Chee Kiong-

> I tried that out last night. Didn't work... What other possibilities could
> there be? By the way tis is how I assign my memory sections:
>
> SDRAM: code/data
> IRAM: code/data
> FLASH_BOOT: code
> FLASH_REST: code

Thinking that you are the 1,000 person to need to boot DSP/BIOS from Flash on C6xxx
device, I did this Google search:

+BIOS +boot +Flash site:dsprelated.com

and this thread came up:

http://www.dsprelated.com/showmessage/5903/1.php

It might be helpful, suggest also to find others like it. DSP Related contains all
c6x Yahoo Groups posts plus comp.dsp, so it's a super source.

-Jeff > -----Original Message-----
> From: Jeff Brower [mailto:jbrower@jbro...]
> Sent: Monday, March 28, 2005 11:49 PM
> To: Ong Chee Kiong
> Cc: c6x@c6x@...
> Subject: Re: [c6x] How do i create a vector table??
>
> Ong Chee Kiong-
>
> > I do have a bootloader that copy the necessary code section (.text,
> > .hwi_vector, .bios and .trcinit) into the internal memory before running
> the
> > program. However, in my configuration file (.cdb) under memory manager, my
> > ROM memory sections are declare as data/code memory. Could that be the
> cause
> > of the problem?
>
> Ya maybe data should be RAM... I'm not sure, although I think you're getting
> closer
> to the answer.
>
> -Jeff
>
> > -----Original Message-----
> > From: Jeff Brower [mailto:jbrower@jbro...]
> > Sent: Monday, March 28, 2005 8:48 PM
> > To: Ong Chee Kiong
> > Cc: c6x@c6x@...
> > Subject: Re: [c6x] How do i create a vector table??
> >
> > Ong Chee Kiong-
> >
> > > However when i burn the program into rom, any function called by bios
> > > will not work. Tt's the reason why I'm trying to write it manually.
> > > Please advice me.
> >
> > What you are describing is an attempt to *run* from EEPROM. If you do
> that,
> > BIOS (or
> > any other boot code) thinks memory is r/w and tries to store local
> variables
> > etc.
> > Clearly that's not going to work.
> >
> > You have to use the bootloader to boot (load) from EEPROM to internal
> memory
> > first,
> > then run. I don't recall specific CCS steps, but I know you can search
> > thread
> > archive for this; it has been discussed many times.
> >
> > -Jeff




I dont know if this would be useful to you, but you could check out
this new application note from TI on "Creating a Second-Level
Bootloader for FLASH Bootloading on TMS320C6000 Platform With Code
Composer Studio". The application note series number is: SPRA999A

--Bhooshan On Tue, 29 Mar 2005 11:58:18 -0600, Jeff Brower <jbrower@jbro...> wrote:
>
> Ong Chee Kiong-
>
> > I tried that out last night. Didn't work... What other possibilities could
> > there be? By the way tis is how I assign my memory sections:
> >
> > SDRAM: code/data
> > IRAM: code/data
> > FLASH_BOOT: code
> > FLASH_REST: code
>
> Thinking that you are the 1,000 person to need to boot DSP/BIOS from Flash on C6xxx
> device, I did this Google search:
>
> +BIOS +boot +Flash site:dsprelated.com
>
> and this thread came up:
>
> http://www.dsprelated.com/showmessage/5903/1.php
>
> It might be helpful, suggest also to find others like it. DSP Related contains all
> c6x Yahoo Groups posts plus comp.dsp, so it's a super source.
>
> -Jeff
>
> > -----Original Message-----
> > From: Jeff Brower [mailto:jbrower@jbro...]
> > Sent: Monday, March 28, 2005 11:49 PM
> > To: Ong Chee Kiong
> > Cc: c6x@c6x@...
> > Subject: Re: [c6x] How do i create a vector table??
> >
> > Ong Chee Kiong-
> >
> > > I do have a bootloader that copy the necessary code section (.text,
> > > .hwi_vector, .bios and .trcinit) into the internal memory before running
> > the
> > > program. However, in my configuration file (.cdb) under memory manager, my
> > > ROM memory sections are declare as data/code memory. Could that be the
> > cause
> > > of the problem?
> >
> > Ya maybe data should be RAM... I'm not sure, although I think you're getting
> > closer
> > to the answer.
> >
> > -Jeff
> >
> > > -----Original Message-----
> > > From: Jeff Brower [mailto:jbrower@jbro...]
> > > Sent: Monday, March 28, 2005 8:48 PM
> > > To: Ong Chee Kiong
> > > Cc: c6x@c6x@...
> > > Subject: Re: [c6x] How do i create a vector table??
> > >
> > > Ong Chee Kiong-
> > >
> > > > However when i burn the program into rom, any function called by bios
> > > > will not work. Tt's the reason why I'm trying to write it manually.
> > > > Please advice me.
> > >
> > > What you are describing is an attempt to *run* from EEPROM. If you do
> > that,
> > > BIOS (or
> > > any other boot code) thinks memory is r/w and tries to store local
> > variables
> > > etc.
> > > Clearly that's not going to work.
> > >
> > > You have to use the bootloader to boot (load) from EEPROM to internal
> > memory
> > > first,
> > > then run. I don't recall specific CCS steps, but I know you can search
> > > thread
> > > archive for this; it has been discussed many times.
> > >
> > > -Jeff >
>


--
-------------------------------
"I've missed more than 9000 shots in my career.
I've lost almost 300 games. 26 times I've been trusted to take the
game winning shot and missed.
I've failed over and over again in my life.
And that is why I succeed."
-- Michael Jordan
--------------------------------