Difference between revisions of "Radio driver"
(New page: == Problem description == * DMA version of the radio driver (which is the default) does not work, * SPI version is getting RX fifo underflows for messages larger than 10 bytes plus header...) |
|||
Line 4: | Line 4: | ||
* using 1.2.6 version of HalPXA27xSpiPioM.nc resolves the problem, but in this version, CPU spins on slow SPI read/writes which is bad | * using 1.2.6 version of HalPXA27xSpiPioM.nc resolves the problem, but in this version, CPU spins on slow SPI read/writes which is bad | ||
− | == | + | == Project status == |
+ | * problem '''fixed''' (SPI part) | ||
* the problem was in HalPXA27xSpiPioM.nc file: in the SSP.interruptSSP(), original code gets the length of the fifo (uiFifoLevel) from the SSSR register. but data sheet says that SSSR_FRL actually contains fifolength-1. so we have to take SSSR_RFL+1 | * the problem was in HalPXA27xSpiPioM.nc file: in the SSP.interruptSSP(), original code gets the length of the fifo (uiFifoLevel) from the SSSR register. but data sheet says that SSSR_FRL actually contains fifolength-1. so we have to take SSSR_RFL+1 | ||
* DMA still does not work - maybe for the same reason? | * DMA still does not work - maybe for the same reason? |
Latest revision as of 09:10, 15 April 2008
Problem description
- DMA version of the radio driver (which is the default) does not work,
- SPI version is getting RX fifo underflows for messages larger than 10 bytes plus header,
- using 1.2.6 version of HalPXA27xSpiPioM.nc resolves the problem, but in this version, CPU spins on slow SPI read/writes which is bad
Project status
- problem fixed (SPI part)
- the problem was in HalPXA27xSpiPioM.nc file: in the SSP.interruptSSP(), original code gets the length of the fifo (uiFifoLevel) from the SSSR register. but data sheet says that SSSR_FRL actually contains fifolength-1. so we have to take SSSR_RFL+1
- DMA still does not work - maybe for the same reason?