What's this command mean?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

What's this command mean?

1,521 Views
CaoJason
Contributor I
Hello:
       Who can give me the detail explain about" FORCEACTIVE { gInterruptVectorTable, __reset, __ext_int, __decr, __machine_check }"
      This command is in the link file MPC564EVB_ROM.lcf.
thanks!
0 Kudos
4 Replies

506 Views
CrasyCat
Specialist III
Hello
 
This commands disable dead stripping for the symbols gInterruptVectorTable, __reset, __ext_int, __decr, __machine_check.
That means that the symbols enumerated above will be linked to the application even though they are not referenced in there.
 
CrasyCat
0 Kudos

506 Views
CaoJason
Contributor I
Hi Cat:
     In the file,the __reset, __ext_int, __decr, __machine_check are the function dealing exception,That means function cann't be used to deal some application if it is  not listed in FORCEACTIVE{} 
    Another question: .equ vec_base 0x3FE000,what does this sentence mean?
0 Kudos

506 Views
CrasyCat
Specialist III
Hello
 
The problem with interrupt function is that they are not explicitly called in the application. So if you do not specify them in a FORCEACTIVE command they may not be linked with the application.
 
Usually one would create a constant table of function pointer for the interrupt table and then specify the table in the FORCEACTIVE command. This would make sure that all interrupt functions, which address is specified in the table gets linked to the application.
 
The statement .equ vec_base 0x3FE000 is probably stored somewhere in an assembly source file.
It associates the value 0x3FE000.to symbol vec_base.
 
So each time you will use vec_base  in your assembly source file, assembler will replace that with 0x3FE000.
 
CrasyCat
0 Kudos

506 Views
CaoJason
Contributor I
Thanks Cat,I get it.
0 Kudos