What compilers are supported with RAIL?
Silabs Wireless software is compiled using the IAR Integrated development environment and GCC optimizing C/C++ compiler for ARM Cortex-M.
In general, RAIL has no special requirements from the compiler, but we developed and tested it with the following. For GCC version, you should use what's included in Simplicity Studio, based on the version below.
|Flex SDK version||Gecko SDK version||RAIL library version||Original release date||Recommended IAR EWARM version||Recommended GCC version|
In a direct Rx configuration the received data is directly output to an IC pin that in turn directly feeds another MCU pin for further processing. Typically in such applications all the signal detection (in form of preamble and / or sync word detection algorithms) are done by the processing MCU as opposed to the receiver’s own frame controller (FRC) block.
In the RAIL library there exists a function that places the receiver into this mode: RAIL_DirectModeConfig. When enabled, the RX_DATA will be output to EFR32_PC11. This output data has the following properties:
Note that at the writing of this article the RAIL API documentation states that an RX_CLK signal is also output in parallel with RX_DATA. This is not correct, as there is in fact no RX_CLK signal that the RX_DATA is synchronized to.
Hence, the above direct mode operation can also be referred to as asynchronous direct mode operation. You may quite rightly ask: "What about synchronous direct mode operation?" Synchronous direct mode operation does provide an RX_CLK signal to which the RX_DATA signal is synchronized, but such a mode does not exist on the Wireless Gecko (EFR32).
The reason it does not exist is that a successful sync word detection gates the availability of the RX_CLK signal. So without sync word detection, there is no RX_CLK. If you have sync word detection, however, you may as well carry on and use packet mode. If for some reason RX_CLK and RX_DATA (placed on pins) would still be useful in your packet mode application, keep an eye on the radio related PRS signals (see below the current offering) in the RAIL documentation - as sooner or later RX_DATA and RX_CLK will show up.