Could you please tell me where is allocated ''uiSerialTx'' variable? Could you please define it as idata or sdata keeping XRAM1 and XRAM2 enabled? What is the result in this case? Do you observe the same behaviour? Just a remark: In your start up file, XRAM1 and XRAM2 are already disabled because $SET (INIT_XPERCON = 0 ). The value V_XPERCON is taken into account when $SET (INIT_XPERCON = 1 ). Best regards, Najoua. [ This message was edited by: Najoua on 10-05-2006 11:32 ]
0xC016 address is in the XRAM2 memory. Are you sure that XRAM2 memory is enabled correctly? As i said in my reply above, in your start up file, $SET (INIT_XPERCON = 0 )so XPERCON = 0x000C may not be taken into account. An other point: to accede without pbs XRAM1 and XRAM2 memories, the two options ''Use on chip CAN + XRAM(C000-DFFF)'' & ''Use on chip XRAM (E000-E7FF)'' must be enabled under Options for Target--> Target. If XRAM(1&2) are not configured correctly, the variables have random values when they are located there. Now, in order to enable correctly XRAM(1 & 2) memories, could you please: 1/ Check your start up file 2/ Enable the two options ''Use on chip CAN + XRAM(C000-DFFF)'' & ''Use on chip XRAM (E000-E7FF)'' must be enabled under Options for Target--> Target. and tell me if the variable behaves normally or no? Best regards, Najoua.
i kept check the option in target enable xram1 and xram2.now i will also keep enable these values in startup file and will check the result. is these option should be same/necessory to set both in keil ide and startup file? Hello
If my suggestion didn't solve the problem: As i said, I suspect XRAM(1&2) are not enabled correctly. The key to this can be the monitor configuration. Some of the configuration registers are read-only after the EINIT instruction is executed. Ususally, the startup code of your application executes EINIT but since the monitor runs on the target system before your application, the monitor already executes EINIT. Therefore the monitor configuration (XPEN, XRAM1EN, XRAM2EN etc.) must be correct for your application. This is done in the ''config.inc'' and ''inst167.a66'' files. The monitor is generated with the uVison project which is the monitor project. Just start the Monitor.uv2 project, select the target (I guess you use 'Bootstrap') and press the 'Rebuild all target files' button in the toolbar. I hope i was clear. Regards, Najoua.