Go to file
Laurent MEUNIER 076b096efe STM: I2C: Confifure pins in OpenDrainNoPull by default (no pullup)
As reported by MBED user Fran6Jack:
I2C bus are usually 5V tolerant on all STM32 processor.
If an external device on the I2C bus requires 5V operation,
we usually acheive it by using 5V external pull-ups on the bus.
Since signaling uses open-drain output on I2C for both signal SCL and SDA
any 5V tolerant MCU will work on a 5V I2C bus. Having pull-up activated on a 5V externally pull bus, cause the pin to clamp on the STM32 die diode and could damage the IC (There is a note in STM32 datasheet specifying this issue).
It is understood by all the community that I2C bus should always be
externally pulled by physical resistor. I2C initialization should then
be ALWAYS OpenDrainNoPull by default.

Up to now, this I2C driver was setting pull up by default as it helps
basic testing, like 1 master and 1 slave, conencted with 2 wires without
any external pull ups. This will not work anymore after this commit and
applications tests or examples needs to be modified to explicitely
configure pull ups ...  But it is safer to follow reference manual
guidelines.
2017-09-14 17:15:11 +02:00
.github Squashed 'features/nanostack/FEATURE_NANOSTACK/coap-service/' changes from e125164..d65b6b0 2017-08-23 15:09:48 +03:00
TESTS TESTS: flashiap: Add condition to check error on unaligned access 2017-08-28 16:21:18 +02:00
cmsis Squashed 'features/nanostack/FEATURE_NANOSTACK/coap-service/' changes from e125164..d65b6b0 2017-08-23 15:09:48 +03:00
drivers Squashed 'features/nanostack/FEATURE_NANOSTACK/coap-service/' changes from e125164..d65b6b0 2017-08-23 15:09:48 +03:00
events Add ability to request a shared event queue 2017-09-01 13:26:08 +03:00
features Merge pull request #4406 from kjbracey-arm/shared_equeues 2017-09-04 16:55:50 +01:00
hal Squashed 'features/nanostack/FEATURE_NANOSTACK/coap-service/' changes from e125164..d65b6b0 2017-08-23 15:09:48 +03:00
platform Merge pull request #4962 from 0xc0170/dev_critical_section 2017-09-04 16:50:59 +01:00
rtos Move Cortex specific RTX behind TARGET_CORTEX 2017-08-31 19:55:54 -05:00
targets STM: I2C: Confifure pins in OpenDrainNoPull by default (no pullup) 2017-09-14 17:15:11 +02:00
tools Merge pull request #4933 from 0xc0170/fix_stats_depth 2017-09-04 16:48:53 +01:00
.gitattributes Squashed 'features/nanostack/FEATURE_NANOSTACK/coap-service/' changes from e125164..d65b6b0 2017-08-23 15:09:48 +03:00
.gitignore Squashed 'features/FEATURE_COMMON_PAL/mbed-trace/' changes from af5f59c..b731d95 2017-08-23 15:48:29 +03:00
.pylintrc Squashed 'features/nanostack/FEATURE_NANOSTACK/coap-service/' changes from e125164..d65b6b0 2017-08-23 15:09:48 +03:00
.travis.yml Squashed 'features/nanostack/FEATURE_NANOSTACK/coap-service/' changes from e125164..d65b6b0 2017-08-23 15:09:48 +03:00
CONTRIBUTING.md Squashed 'features/nanostack/FEATURE_NANOSTACK/coap-service/' changes from e125164..d65b6b0 2017-08-23 15:09:48 +03:00
DOXYGEN_FRONTPAGE.md Squashed 'features/nanostack/FEATURE_NANOSTACK/coap-service/' changes from e125164..d65b6b0 2017-08-23 15:09:48 +03:00
Jenkinsfile Squashed 'features/nanostack/FEATURE_NANOSTACK/coap-service/' changes from e125164..d65b6b0 2017-08-23 15:09:48 +03:00
LICENSE Squashed 'features/nanostack/FEATURE_NANOSTACK/coap-service/' changes from e125164..d65b6b0 2017-08-23 15:09:48 +03:00
README.md Squashed 'features/FEATURE_COMMON_PAL/mbed-trace/' changes from af5f59c..b731d95 2017-08-23 15:48:29 +03:00
doxyfile_options Move Cortex specific RTX behind TARGET_CORTEX 2017-08-31 19:55:54 -05:00
doxygen_options.json Move Cortex specific RTX behind TARGET_CORTEX 2017-08-31 19:55:54 -05:00
mbed.h platform: add CriticalSectionLock 2017-08-29 12:47:04 +01:00
requirements.txt Squashed 'features/nanostack/FEATURE_NANOSTACK/coap-service/' changes from e125164..d65b6b0 2017-08-23 15:09:48 +03:00

README.md

ARM mbed OS

mbed OS is an open-source embedded operating system designed for the "things" in the Internet of Things (IoT). mbed OS includes the features you need to develop a connected product using an ARM Cortex-M microcontroller.

mbed OS provides a platform that includes:

  • Security foundations.
  • Cloud management services.
  • Drivers for sensors, I/O devices and connectivity.

mbed OS is modular, configurable software that you can customize it to your device and to reduce memory requirements by excluding unused software.

Release Notes

The Release Notes detail the current release and previous versions.

Continuous Integration Status

We run continuous integration on all of our branches and pull requests to verify the stability of mbed OS. The following are the Travis CI indicators for mbed OS.

  • Master branch Master Branch CI Badge
  • Latest release Latest Tag CI Badge

Getting Started for Developers

You need mbed CLI to build mbed OS. For more details, read the mbed OS Handbook.

Getting Started for Contributors

We have a Contributing and Publishing Guide in the mbed OS Handbook.