Are any schematic symbols or PCB landing diagrams available for Silicon Labs MCU and interface bridge devices?
Schematic symbols and PCB footprints for Silicon Laboratories devices are available using the Ultra Librarian software. More information can be found here:
This device has more than 2 kB of Flash memory. Why does the compiler output a message stating I have exceeded a 2 kB code size limit?
Demo Keil Tools:
Several evaluation kits include the Demo Keil Tools, which is a 2 kB code limited version of the Keil C compiler. This version of the Keil Tools is also available for download from the Keil website. When using the demo compiler, the following message will appear in the output window the Silicon Labs IDE:
RESTRICTED VERSION WITH 0800H BYTE CODE SIZE LIMIT
The following error message will be returned from the evaluation compiler when the 2k code size limit has been exceeded:
FATAL ERROR L250: CODE SIZE LIMIT IN RESTRICTED VERSION EXCEEDED
To develop a project beyond the limits of the demo compiler, a full 8051 C compiler must be used that does not have the above restrictions.
Full Keil Tools:
Download and register the full Keil tools from www.silabs.com/8bit-software.
How can I generate a high-frequency square wave using the PCA?
A good way to generate a high-frequency 50% duty-cycle square wave is to use Frequency Output mode of the PCA. Using this mode, frequencies up to SYSCLK / 2 can be supported. The specific equation is:
Fout = PCAclk / (2 * PCA0CPHn)
where PCAclk is the clock source used by the main PCA counter, and PCA0CPHn is the high-byte of the capture/compare module that is configured for Frequency Output mode.
If the PCA is configured to use SYSCLK as its time base, then frequencies between SYSCLK / 512 and SYSCLK / 2 can be generated. Slower frequencies can be generated if the PCA time base is configured to use a slower clock source (SYSCLK / 4, SYSCLK / 12, Timer0 overflows, etc.).
Note: if PCA0CPHn is 0x00, then the equation above becomes:
Fout = PCAclk / (2 * 256)
The phase of the waveform can be changed by altering the initial value of the PCAnCPLn register. This will shift when the first reload occurs relative to when the PCA is enabled, and can be used to generate multiple waveforms with specific phase relationships. One thing to note is that if this value is initially 0, the waveform will not toggle on the immediate reload event that occurs when the PCA is enabled. Rather, the CEXn pin will toggle on the next reload event. This means that a signal with an initial CPLn value of 0 will lag a signal with a CPLn value of 1 by ~180 degrees.
Make certain that the PCA module is enabled in the Crossbar, the Crossbar is enabled, and the Port I/O pin associated with the PCA module is configured for Push-Pull output mode.
See the Programmable Counter Array chapter of the device data sheet for more information regarding the PCA counter and Frequency Output mode.
Where can I find the target board/evaluation board schematic?
The schematic for the target board/evaluation board can be found in the Development Kit/Evaluation Kit User's Guide. It is typically included on the last page for the C8051Fxxx Development Kits. However, for EFM8 devices, the schematic for the STKs can be found on the website - https://www.silabs.com/support/resources.ct-schematic-and-layout-files.p-microcontrollers_8-bit-mcus.page=9
If you have not purchased the development kit, or want to check for the latest version of the schematic, the User's Guides and schematics can also be downloaded from the MCU Development Tools web page: