We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hi, I am programming on the Cypress FX2 (8051 compatible) and I have a problem that my variables declared in a c-function do not get initializes properly. My main program is written in assembly, since I need to have an ISR, which is very short and i want to have full control over what the proc. does during that ISR. I have to include a c-file in my project, which initializes a bunch of registers for a special interface on my USB chip. The problem is that the linker does not include that data segment. my data is defined this way: const char xdata WaveData[128] = {128 bytes} do i need to write an initialization function in C, which moves all that data or is there a way for force the inclusion of that data segment? thanks, Greg ps.: sorry if i am not clear.
"since I need to have an ISR, which is very short and i want to have full control over what the proc. does during that ISR." I know there are situations where one has to resort to assembler, but why don't you try writing the ISR in C and take a look at the code generated? You might be pleasantly surprised. If you aren't already familiar with it check out the 'using' keyword for specifying register banks. Stefan