Part Number: ARM-CGT
Other Parts Discussed in Thread: HALCOGEN
Tool/software: TI C/C++ Compiler
The default _c_int00 is weak and we make use of that feature as we have our own startup sequence.
We implemented our own _c_int00 (therefore not weak) and this works fine. Today doing some code review I realized that the weak _c_int00 generated by HALCoGen is created like this
#pragma CODE_STATE(_c_int00, 32)
#pragma INTERRUPT(_c_int00, RESET)
#pragma WEAK(_c_int00)
void _c_int00(void) {
/* some code */
}
In our implementation we just do
void _c_int00(void) {
/* our Code */
}
- We are compiling with --code_state=32 so I guess omitting #pragma CODE_STATE(_c_int00, 32) is not a (real) Problem.
- Of course we omit weak, as we want to overwrite it
- We did not use #pragma INTERRUPT(_c_int00, RESET). We did not have any undesired behavior sofar, but is omitting #pragma INTERRUPT(_c_int00, RESET) even allowed/recommended? Does the compiler know somehow that _c_int00 needs RESET Interrupt and thats why it works at all?
It would be nice, to get some insight in that.
Thanks and best regards