I am checking some terrible C source code; I haven't got any idea about how to maintain it or cooperate with it. But I found a very fundamental problem. It does NOT have a startup.asm; it has a startup.c using the powerful C extension "#pragma". So, the C runtime environment is setup by "#pragma section", "#pragma intvect", "#pragma asm". I quite worry about such a startup.c; so I contacted the FAE of our local distributor. The FAE is an experienced good engineer, but he told me that, this is not their standard way to setup C runtime environment; they definitely provided the startup.s from Day 1.
What will be the side-effect, when the C runtime environment is setup by the C extension "#pragma"?
"But, to minimize the effort, and maintain the compatibility, I will remedy the current startup.c, based on the original paper copy; and focus on the other critical problems, like a very huge single main.c ."
I would find it risky to attempt changing something you don't fully understand.
from what you described, the .c startup file seems to be working and the problem of its poor documentation can be remedied later, probably after you have fixed other problems, like introducing more structure to the user code.
it allows you more time to learn about the start-up and the .c startup code.
but then that's just me.
[ I can NOT find the define of BNKSYM in the startup.c ]
That's becaus it's not in there. BNKSYM (and BNKSEC in the Fuji, which you failed to stumble over) is an assembler operator. Look it up in the assembler manual.
but my knowledge about Assembly programming is very poor.
In that case I have to warn you against messing with the startup code unless you know for sure there's an actual problem in there that you have to fix. You seem to have more important fish to fry than that one. Starting with what sounded quite a lot like a stack overflow described in one of your earlier posts.
Hi Hans-Bernhard,
Many Thanks for your help.
( I saw someone calls you "Hans" before, But as I am a Taiwanese/Chinese, I don't know which is proper. )