Contiki OS for 6502 based computers
Go to file
George Oikonomou eed1352282 Fix CC2538 random_init lockup
Contiki sometimes fails to boot correctly and locks up in
random_init()

This problem only manifests itself for specific versions
of the arm-gcc toolchain and then again only for specific
levels of optimisation (-Os vs -O2, depending on the
value of the SMALL make variable)

The lockup is caused when we write an RFCORE XREG before
the RF clock ungating has taken effect, which in turn
only occurs depending on the assembly generated for those
two instructions:

  REG(SYS_CTRL_RCGCRFC) = 1;

  REG(RFCORE_XREG_FRMCTRL0) = 0x00000008;

This commit makes the RNG wait for the ungating to take
effect before attempting to write the register
2014-04-13 14:38:00 +01:00
apps
core
cpu Fix CC2538 random_init lockup 2014-04-13 14:38:00 +01:00
dev
doc
examples Merge pull request #411 from ADVANSEE/cc2538-adc 2014-04-13 03:05:12 +01:00
platform Merge pull request #411 from ADVANSEE/cc2538-adc 2014-04-13 03:05:12 +01:00
regression-tests
tools
.gitignore
.gitmodules
.travis.yml
LICENSE
Makefile.include
README-BUILDING.md
README-EXAMPLES.md
README.md

The Contiki Operating System

Build Status

Contiki is an open source operating system that runs on tiny low-power microcontrollers and makes it possible to develop applications that make efficient use of the hardware while providing standardized low-power wireless communication for a range of hardware platforms.

Contiki is used in numerous commercial and non-commercial systems, such as city sound monitoring, street lights, networked electrical power meters, industrial monitoring, radiation monitoring, construction site monitoring, alarm systems, remote house monitoring, and so on.

For more information, see the Contiki website:

http://contiki-os.org