Introducing CMake is an important step in a larger effort to make
Zephyr easy to use for application developers working on different
platforms with different development environment needs.
Simplified, this change retains Kconfig as-is, and replaces all
Makefiles with CMakeLists.txt. The DSL-like Make language that KBuild
offers is replaced by a set of CMake extentions. These extentions have
either provided simple one-to-one translations of KBuild features or
introduced new concepts that replace KBuild concepts.
This is a breaking change for existing test infrastructure and build
scripts that are maintained out-of-tree. But for FW itself, no porting
should be necessary.
For users that just want to continue their work with minimal
disruption the following should suffice:
Install CMake 3.8.2+
Port any out-of-tree Makefiles to CMake.
Learn the absolute minimum about the new command line interface:
$ cd samples/hello_world
$ mkdir build && cd build
$ cmake -DBOARD=nrf52_pca10040 ..
$ cd build
$ make
PR: zephyrproject-rtos#4692
docs: http://docs.zephyrproject.org/getting_started/getting_started.html
Signed-off-by: Sebastian Boe <sebastian.boe@nordicsemi.no>
This should clear up some of the confusion with random number
generators and drivers that obtain entropy from the hardware. Also,
many hardware number generators have limited bandwidth, so it's natural
for their output to be only used for seeding a random number generator.
Signed-off-by: Leandro Pereira <leandro.pereira@intel.com>
The commit delivers HAL/LL static library source files for STM32F0 SoC.
Using STM32Cube provides generic access to all families, maximizes
code reuse across different STM32 families and helps taking benefits
of a mature SDK.
Origin: STM32Cube
URL: http://www.st.com/en/embedded-software/stm32cubef0.html
Purpose: Introduction of STM32F0xx STM32Cube definitions
and Abstraction Layers
Maintained-by: External
Original STM32Cube tree structure has been modified to a minimum
structure for a better fit into Zephyr. HAL is split into 2 parts:
-driver: initially Drivers/STM32F0xx_HAL_Driver, contains HAL and LL
-soc: initially Drivers/CMSIS/Device/ST/STM32F0xx, contains stm32f0xx
SoCs header files.
Fixes#3923
Signed-off-by: Maciej Debski <maciej.debski@rndity.com>
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
This patch sets the correct LSI_VALUE, according to
STM32F3 reference manual's (RM0316) section 9.2.5 and
STM32F1 reference manual's (RM0008) section 7.2.5.
Signed-off-by: Yannis Damigos <giannis.damigos@gmail.com>
This is a USB controller driver for STM32F4xx devices using
the STM32 Cube HAL_PCD framework. This has been tested with
the cdc_acm driver on a 96b_carbon board (STM32F401RE).
This is a refactoring of:
usb: usb_dc_stm: Add support for STM32Cube HAL_PCD USB driver
Signed-off-by: Christer Weinigel <christer@weinigel.se>
[daniel.thompson@linaro.org: Removed STM32F40(157) defconfig changes
together with STM32F4Discovery pinmux and defconfig changes, updated
clock settings and pad configuration to match latest mainline]
Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
[giannis.damigos@gmail.com: Change uint*_t types to u*_t types,
change SYS_LOG_USB_DC_STM_LEVEL to SYS_LOG_USB_DRIVER_LEVEL and
update pinmux to match latest arm branch]
Signed-off-by: Yannis Damigos <giannis.damigos@gmail.com>
Signed-off-by: Loic Poulain <loic.poulain@linaro.org>
Update Cube version for STM32L4XX family
from version: V1.8.0
to version: V1.9.0
Note: git shows 100% diff on all files.
You need to tick "Ignore space change" in git UI to see real
differences. I tried different things to fix this without
success (dos2unix, file encoding, files access right).
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
Update Cube version for STM32F1XX family
from version: V1.5.0
to version: V1.6.0
Update Patch list, since this version corrects bug 33517
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
Commit "ext: hal: stm32f1x and stm32f4x: disable i2c HAL"
and "stm32cube: Fix warning when SPI LL API is compiled"
modified stm32cube HAL but this was not documented in
series README file, which makes it hazardous to update
stm32cube packages.
This commit corrects this oversight.
Additionally STM32Cube README file to provide this information
and how to use it
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
Add a STM32 LL based driver for the RNG processor. The RNG processor
is a random number generator, based on a continuous analog noise, that
provides a random 32-bit value to the host when read. The RNG passed
the FIPS PUB 140-2 (2001 October 10) tests with a success ratio of 99%.
Signed-off-by: Erwin Rol <erwin@erwinrol.com>
Current implementation of LL_SPI_TransmitData16 on F3/F7/L4 family
generates following warning:
"warning: dereferencing type-punned pointer will break strict-aliasing
rules [-Wstrict-aliasing]"
Besides being forbidden by rule, this cast is not needed, as register is
16 bits wide. Modification has been tested on L4 SoC.
stm32yyxx_ll_spi.h being included in soc.h file, warning is generated
at each compiled object, this commit allows a clean build.
This issue is referenced in ST and tracked under
reference 13359. Code will be updated on upcoming stm32cube updates.
Change-Id: I3ca54a81d849d4852eca86b52b6825b60e18b752
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Enabling the HAL and the LL flags duplicate definitions when
compiling in driver.
Since the i2c HAL is not needed, disable it.
This is a HAL issue that needs to be addressed (not zephyr)
Signed-off-by: Jorge Ramirez-Ortiz <jorge.ramirez-ortiz@linaro.org>
Align stm32f1xx series clock driver to other parts of stm32 family.
Driver support both Connectivity and Density lines of stm32f1 series,
that are based on different Reset and Clock Control architectures.
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
Update Cube version for STM32L4XX family
from version: V1.6.0
to version: V1.8.0
Add support for following soc:
stm32l496xx
stm32l4a6xx
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
This commit enables STM32Cube LL based driver for stm32f4 series.
This generic driver provides a unified API to clock driver for all
stm32 series.
LL API allows driver to be lightweight and to keep genericity across
stm32 family to ease further devlopment and maintenance.
Change-Id: Ie31ae8f433313787f9c9eda77de41925721d54dd
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
Update Cube version for STM32F1XX family
from version: V1.14.0
to version: V1.15.0
Add support for Low Level API on stm32f1 family
Change-Id: I8cb5fe2fd94be3a320e863c7b5ed59e4c2312e87
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
Update Cube version for STM32F3XX family
from version: V1.6.0
to version: V1.7.0
Minor update
Changes from official delivery:
*dos2unix applied
*trailing white spaces removed
Change-Id: I6ff19632cab6e8350f19aa7e17063c05ec36898f
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
Update Cube version for STM32F4XX family
from version: V1.14.0
to version: V1.15.0
Add support for Low Level API on stm32f4 familly
Change-Id: I459b61f011ffbc2cc265f58cd3f0be8b77155fc2
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
Update Cube version for STM32F7XX family
from version: V1.4.0
to version: V1.6.0
Add support for Low Level API on stm32f7 familly
Change-Id: Iabe18f952d2cf0847bd72ce9d894d4c0cbd4c0f9
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
This new clock control driver aims at providing a lightweight
generic driver to the whole stm32 family.
Driver is based on LL Cube API and hence is for now available
only for STM32 supporting this API: stm32f3xx and stm32l4xx.
Other families should be supported soon.
Once globally supported, this unique driver will also help
reducing the impact of stm32 clock control heterogeneity in
other drivers.
Change-Id: Id15a8d0d44f03809b2907ef10d6877700459e674
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
Update Cube version for STM32L4XX family
from version: V1.5.2
to version: V1.6.0
Add support for following soc:
stm32l451xx
stm32l452xx
stm32l462xx
Change-Id: I116458ff8163f99aec5cf3965296d79728faf672
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
Update Cube version for STM32F4XX family
from version: V1.13.0
to version: V1.14.0
Add support for following soc:
stm32f413xx
stm32f423xx
Change-Id: I050bdbe5980b2294955379a2ad917d25aa501578
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
Provide PWM driver for STM32 series F1/F4/L4.
Driver is ported on STM32Cube HAL and should support other STM32
series with minor updates.
Configuration is done so that PWM sample driver could be run on
all nucleo boards supporting PWM driver.
Change-Id: I6522a565451085df932e0eefd8404268380b5bfe
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
Add the initial SoC support for the STM32L4XX family. The code was
tested on STM32L476RG, but should work on any STM32L4XX currently
available.
This implementation was inspired by the stm32f1x implementation.
Change-Id: Id6670bce0c423617284e8467a9c461531f948e0f
Signed-off-by: Fabien Parent <fparent@baylibre.com>
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
This new README provides guidelines on STM32Cube introduction
into Zephyr.
Change-Id: I06b22852495dbe7e7f23e88be060fe23e8bd18b5
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
STM32Cube based implementation allows single driver file for
all stm32 based SoCs.
By maximizing code reuse, use of STM32Cube eases new SoCs
porting into Zephyr and provides better maintanability and
maturity.
Change-Id: Ief4b723add3dfc8b2a839683559c5a4c5d5eb837
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
Change-Id: I5c2de9d5814644855ed4a691fa1712ebd294ca64
Signed-off-by: Adam Podogrocki <adam.podogrocki@rndity.com>
Signed-off-by: Anas Nashif <anas.nashif@intel.com>