C8051F996DK Silicon Laboratories Inc, C8051F996DK Datasheet - Page 3

KIT DEV FOR C8051F996

C8051F996DK

Manufacturer Part Number
C8051F996DK
Description
KIT DEV FOR C8051F996
Manufacturer
Silicon Laboratories Inc
Type
MCUr
Datasheets

Specifications of C8051F996DK

Contents
Board, Batteries, Cables, CDs, Debug Adapter, Documentation, Power Adapter
Processor To Be Evaluated
C8051F996
Processor Series
C8051F98x
Interface Type
USB
Operating Supply Voltage
3 V
Lead Free Status / RoHS Status
Lead free / RoHS Compliant
For Use With/related Products
C8051F996
Lead Free Status / Rohs Status
Lead free / RoHS Compliant
Other names
336-1963
6. Writes to CRC0CN that Initiate a CRC0 Operation
7. Address 0x0000 of XRAM
Description: The third op-code byte fetched from program memory following a write to CRC0CN that initiates
a CRC0 operation is indeterminate.
Impacts: If the indeterminate op-code byte is the first or second byte in an instruction, improper code
execution may result.
Workaround: Writes to CRC0CN that initiate a CRC0 operation must be immediately followed by a benign 3-
byte instruction whose third byte is a “don’t care.” An example of such an instruction is the write of a dummy
value to the CRC0FLIP register using a 3-byte MOV instruction. The value written to CRC0FLIP will be
indeterminate, but this should have no effect on the system. To ensure that both instructions are executed
without interruption, global interrupts should be disabled.
Note: When programming in C, the dummy value written to CRC0FLIP should be a non-zero value. This
prevents the compiler from generating the following instruction sequence:
When programming in C, the disassembly should be checked to ensure the compiler generated the following
instruction sequence:
Resolution: Fixed in Rev B and later.
Description: On device reset, or upon waking up from Sleep mode, address 0x0000 of external memory
may be overwritten by an indeterminate value. The indeterminate value is 0x00 in most situations.
Impacts: Application data stored at 0x0000 in external memory may be overwritten upon reset or waking up
from sleep mode.
Workaround: A dummy variable should be placed at address 0x0000 in external memory to ensure that the
application software does not store any data that needs to be retained during sleep or reset at this memory
location. The compiler-independent example below shows how to locate a dummy variable at address
0x0000 in external memory.
LOCATED_VARIABLE_NO_INIT (reserved, U8, SEG_XDATA, 0x0000);
Compiler-independent code requires the use of the compiler_defs.h and c8051F990_defs.h header files
supplied in the C:\Silabs\MCU\INC folder after installation of the Silicon Laboratories IDE.
Resolution: This information will be added to the device data sheet.
CLR A
MOV CRC0FLIP, A
MOV CRC0FLIP, #AAh where #AAh is the non-zero dummy value.
400 West Cesar Chavez, Austin, TX 78701 www.silabs.com

Related parts for C8051F996DK