In my current project I'm trying to generate documentation with doxygen. However I have a problem with a variable. Somehow doxygen recognizes the variable as a function.
The code:
__xdata __at (0x0F00) volatile static unsigned char Programmed; /*!< an indicator if the board is programmed or not, during init copied from flash to xram*/
/*!
* The main loop that does all the magic
* besides the "compiler startup" _sdcc_external_startup (in HWInit.c) is called to handle some "urgent" init (disabling of the watchdog)
*/
void main(void){
unsigned short int TempUSInt;
//init the device.
Init_Device();
Note about the code: the code is written for the SDCC compiler for a 8051 microcontroller.
The __xdata __at ()
directive is a special instruction so the compiler knows that it has to place the data in a separate memory segment (called XDATA) at a predetermined location (address 0x0F00).
My probem is that doxygen recognizes the __at()
as a function instead of a variable and thus overwrites the main()
function.
Although there are ways to make doxygen ignore the __xdata __at () char Programmed
statement this has as downside that the variable is ignored and thus not documented.
So is there anyone who knows how to get doxygen to recognize the __xdata __at () char Programmed
as a variable instead of a function?