|
Contiki 3.x
|
CPU-Specific functionality - available to all cc2538-based platforms. More...
Modules | |
| cc2538 Coffee port module | |
| Module for the cc2538 Coffee port. | |
| cc2538 Clock | |
| Implementation of the clock module for the cc2538. | |
| cc2538 CPU | |
| CPU-specific functions for the cc2538 core. | |
| cc2538 Character I/O | |
| CPU-specific functions for debugging and SLIP I/O. | |
| cc2538 IEEE Address Control | |
| Driver for the retrieval of an IEEE address from flash. | |
| cc2538 Low Power Modes | |
| Driver for the cc2538 power modes. | |
| cc2538 Register Manipulation | |
| Macros for hardware access, both direct and via the bit-band region. | |
| cc2538 rtimer | |
| Implementation of the rtimer module for the cc2538. | |
| cc2538 SoC | |
| Driver for the cc2538 SoC. | |
| cc2538 ADC | |
| Driver for the cc2538 ADC controller. | |
| cc2538 family of devices | |
| Definitions for the cc2538 family of devices. | |
| cc2538 RF Driver | |
| Driver implementation for the cc2538 RF transceiver. | |
| CC2538 Built-In Sensors | |
| Module controlling sensors on the CC2538 SoC (Tmp and VDD3) | |
| cc2538 AES/SHA cryptoprocessor | |
| Driver for the cc2538 AES/SHA cryptoprocessor. | |
| cc2538 flash memory | |
| Definitions for the cc2538 flash memory. | |
| cc2538 General-Purpose I/O | |
| Driver for the cc2538 GPIO controller. | |
| cc2538 General-Purpose Timers | |
| Driver for the cc2538 General Purpose Timers. | |
| cc2538 I2C Control | |
| cc2538 I2C Control Module | |
| cc2538 I/O Control | |
| Driver for the cc2538 I/O Control Module. | |
| cc2538 Memory Protection Unit | |
| Driver for the cc2538 Memory Protection Unit. | |
| cc2538 Nested Vectored Interrupt Controller | |
| Driver for the cc2538 NVIC controller. | |
| cc2538 PKA engine | |
| Driver for the cc2538 PKA engine. | |
| CC2538 PWM driver | |
| Driver for the CC2538 PWM on GPTIMER. | |
| cc2538 Random Number Generator | |
| Driver for the cc2538 Hardware Random Number Generator. | |
| cc2538 RF Core | |
| Declarations of RF Core registers. | |
| cc2538 ROM utility function library | |
| Driver for the cc2538 ROM utility function library. | |
| cc2538 System Control Block (SCB) | |
| Offsets and bit definitions for SCB registers. | |
| cc2538 Sleep Timer and Watchdog | |
| Register declarations for the cc2538 Sleep Timer and Watchdog. | |
| cc2538 ADC and RNG | |
| Register declarations for the cc2538 ADC and H/W RNG. | |
| cc2538 Synchronous Serial Interface | |
| Driver for the cc2538 SPI peripheral. | |
| cc2538 System Control (SysCtrl) | |
| Driver for the cc2538 System Control Module. | |
| cc2538 UART | |
| Driver for the cc2538 UART controller. | |
| cc2538 micro-DMA | |
| Driver for the cc2538 uDMA controller. | |
| cc2538 USB controller | |
| Driver for the cc2538 USB controller. | |
| cc2538 watchdog timer driver | |
| Driver for the cc2538 Watchdog Timer. | |
Files | |
| file | startup-gcc.c |
| Startup code for the cc2538 chip, to be used when building with gcc. | |
Functions | |
| int | main (void) |
| This is main... More... | |
| void | clock_isr (void) |
| The clock Interrupt Service Routine. More... | |
| void | rtimer_isr (void) |
| The rtimer ISR. More... | |
| void | cc2538_rf_rx_tx_isr (void) |
| The cc2538 RF RX/TX ISR. More... | |
| void | cc2538_rf_err_isr (void) |
| The cc2538 RF Error ISR. More... | |
| void | crypto_isr (void) |
| The AES/SHA cryptoprocessor ISR. More... | |
| void | pka_isr (void) |
| The PKA engine ISR. More... | |
CPU-Specific functionality - available to all cc2538-based platforms.
| void cc2538_rf_err_isr | ( | void | ) |
The cc2538 RF Error ISR.
This is the interrupt service routine for all RF errors. We acknowledge every error type and instead of trying to be smart and act differently depending on error condition, we simply reset the transceiver. RX FIFO overflow is an exception, we ignore this error since read() handles it anyway.
However, we don't want to reset within this ISR. If the error occurs while we are reading a frame out of the FIFO, trashing the FIFO in the middle of read(), would result in further errors (RX underflows).
Instead, we set a flag and poll the driver process. The process will reset the transceiver without any undesirable consequences.
Definition at line 1106 of file cc2538-rf.c.
References process_poll(), RFCORE_SFR_RFERRF, and RFCORE_SFR_RFERRF_RXOVERF.
| void cc2538_rf_rx_tx_isr | ( | void | ) |
The cc2538 RF RX/TX ISR.
This is the interrupt service routine for all RF interrupts relating to RX and TX. Error conditions are handled by cc2538_rf_err_isr(). Currently, we only acknowledge the FIFOP interrupt source.
Definition at line 1075 of file cc2538-rf.c.
References process_poll(), and RFCORE_SFR_RFIRQF0.
| void clock_isr | ( | void | ) |
| void crypto_isr | ( | void | ) |
The AES/SHA cryptoprocessor ISR.
This is the interrupt service routine for the AES/SHA cryptoprocessor.
This ISR is called at worst from PM0, so lpm_exit() does not need to be called.
Definition at line 60 of file crypto.c.
References NULL, NVIC_INT_AES, nvic_interrupt_disable(), nvic_interrupt_unpend(), and process_poll().
| int main | ( | void | ) |
This is main...
This is main...
This is main...
This is main...
The same main() is used for all supported boards
This is main...
This is main...
This is main...
The same main() is used for all supported boards
Definition at line 49 of file ethconfig.c.
| void pka_isr | ( | void | ) |
The PKA engine ISR.
This is the interrupt service routine for the PKA engine.
This ISR is called at worst from PM0, so lpm_exit() does not need to be called.
Definition at line 63 of file pka.c.
References NULL, NVIC_INT_PKA, nvic_interrupt_disable(), nvic_interrupt_unpend(), and process_poll().
| void rtimer_isr | ( | void | ) |
The rtimer ISR.
Interrupts are only turned on when we have an rtimer task to schedule Once the interrupt fires, the task is called and then interrupts no longer get acknowledged until the next task needs scheduled.
Definition at line 137 of file rtimer-arch.c.
1.8.6