The official git repository for OSD-Contiki, the open source OS for the Internet of Things
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 New MACRO for creating jsontree_array 2014-02-26 19:38:10 +01:00
core Merge pull request #620 from adamdunkels/push/socket-api 2014-04-09 22:12:59 +02:00
cpu Fix CC2538 random_init lockup 2014-04-13 14:38:00 +01:00
dev Removed all module makefiles. Instead, all .c files in a module directory are compiled. 2014-01-26 23:20:46 +01:00
doc Bumped the version number from 2.6 to 3.x, which is to be used in the development branch 2013-12-12 17:33:18 +01:00
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 Merge pull request #620 from adamdunkels/push/socket-api 2014-04-09 22:12:59 +02:00
tools [cooja] plugins/Visualizer: Replaced multiple if-string with switch over 2014-04-11 09:23:30 +02:00
.gitignore Adds support for ADF7023 sub-GHz radio from Analog Devices and RL78 series MCU from Renesas. 2014-01-04 18:56:51 -05:00
.gitmodules Added the cc2538-bsl submodule to the tools dir 2014-03-07 15:44:29 +01:00
.travis.yml Updated cc65 URL. 2014-03-15 16:55:39 +01:00
LICENSE Removed the explicit year 2012 to make it more generic 2012-10-25 23:08:54 +02:00
Makefile.include Makefile.include: Setting RELSTR based on git tags requires to be in 2014-04-09 19:11:35 +02:00
README-BUILDING.md Rename to md 2013-03-26 23:15:37 +01:00
README-EXAMPLES.md Several minor consistency improvements. 2013-07-31 00:55:31 +02:00
README.md Rename to md 2013-03-26 23:15:37 +01:00

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