What's this command mean?

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

What's this command mean?

1,579 次查看
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 项奖励
4 回复数

564 次查看
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 项奖励

564 次查看
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 项奖励

564 次查看
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 项奖励

564 次查看
CaoJason
Contributor I
Thanks Cat,I get it.
0 项奖励