Home/Support/Support Forum/Using 'interrupt_vector <vector name> <isr routine>' in DC 9.62
Welcome to Digi Forum, where you can ask questions and receive answers from other members of the community.

Using 'interrupt_vector <vector name> <isr routine>' in DC 9.62

0 votes
I am using separate instruction and data spaces in a Rabbit 3000 project that I would like to add a timerb interrupt service routine too. It is the same routine I used in another project that did not use separate instruction and data spaces.

When I include:
interrupt_vector timerb_intvec timerb_isr

In my main.c file, I get the error:
line 179 : ERROR MAIN.C : Vector timerb_intvec undefined

I want this vector defined at compile time because I have no need to change it at run time and I want it to be fast.

I duplicated the timerb.c sample format by including assembler service routine right in main.c placing the interrupt_vector line in my main() function.

Any suggestions would be appreciated.

I set up a small project with just the timerb.c example and the stock lib.dir and it compiles correctly.
I am using my own lib.dir that has 2 absolue paths, one to the stock rabbit lib folder and one to my project's lib folder.
asked Aug 26, 2015 in Rabbit Software by kevtd New to the Community (0 points)
edited Aug 26, 2015 by kevtd

Please log in or register to answer this question.

1 Answer

0 votes
Hello, Please check Dynamic C 9.62 user's manual at the below link in the page number 206.

Mentioned that

"If you are using Dynamic C 9.30 or later, the _RK_FIXED_VECTORS macro must be used to conditionally
compile code containing the interrupt_vector keyword. For Rabbit 3000A and later CPUs,
Dynamic C makes use of the new RAMSR capability to make in-RAM interrupt table access fast. The following
code demonstrates the correct way to use _RK_FIXED_VECTORS so as to eliminate errors
regarding undefined interrupt vectors"

answered Dec 1, 2015 by cpigilam Veteran of the Digi Community (655 points)