After the cmake conversion, the SimpleLink WiFi host
driver would not build, and compiler flags like -Wno-strict-aliasing
were not being applied as they got spliced in before
-Wall rather than after.
This fixes those issues, using the set_source_files_properties()
method as suggeted in the CMakeLists.txt TODO comment.
Signed-off-by: Gil Pitney <gil.pitney@linaro.org>
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 patch adds Kconfig/build support to MSP432P4XX
SDK. MSP432P4XX microcontrollers have driverlib flashed
onto the ROM, which will be used by default.
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
There are some minor conflicts or porting changes needed to get the
msp432p4xx SDK to work with Zephyr:
1. Remove definition of BIT, as it conflicts with Zephyr defined one
2. Set __SYSTEM_CLOCK define based on Zephyr Kconfig define
3. Fix a build warning that gets treated as an error.
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
MSP432P4XX SDK is a CMSIS based SDK offered by Texas Instruments
for supporting their Simplelink MSP432P4XX microcontrollers. The
version included in Zephyr is V1.50.00.12 which is a stripped
down version containing only HAL and SoC header support.
Origin: SIMPLELINK-MSP432-SDK
License: BSD 3-Clause
URL: http://www.ti.com/tool/simplelink-msp432-sdk
Version: V1.50.00.12
Purpose: Provides HAL support to MSP432P4XX SoC
Maintained-by: External
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
This patch adds files to build the SimpleLink host driver
and its DPL port to Zephyr.
It disables the host driver build by default.
Signed-off-by: Gil Pitney <gil.pitney@linaro.org>
This ports the SimpleLink WiFi host driver via its OS adaptation
layer to Zephyr OS primitives.
This was validated using an out-of-tree SimpleLink shell
application including functions for:
* WLAN connect, disconnect and scan
* Socket: UDP server and client
Signed-off-by: Gil Pitney <gil.pitney@linaro.org>
This includes:
- peripheral drivers
- driverlib (HAL)
- WiFi host driver and porting layer interface headers
See README in this patch for details.
Origin: Texas Instruments cc32xx SimpleLink SDK
URL: http://www.ti.com/tool/download/SIMPLELINK-CC3220-SDK
Purpose: Provide driver libraries and HAL for TI CC32XX SoC
Maintained-by: External
Signed-off-by: Gil Pitney <gil.pitney@linaro.org>
This reverts commit e1382cc7d6.
Due to restrictive simplelink host driver source licensing.
This also reverts commits based on the simplelink wifi host
driver:
Revert "ext: simplelink: host driver: depend on multithreading"
commit: 4d912b004b
Revert "ext: simplelink: Enable SimpleLink to use Zephyr __errno"
commit: 4e022f7b28
Revert "ext: simplelink: Add SimpleLink DPL porting layer to Zephyr"
commit: 4bc51e67d4
Revert "ext: simplelink: Enable build of the SimpleLink host driver."
commit: 2d2615a49a
Signed-off-by: Gil Pitney <gil.pitney@linaro.org>
Per ZEP-1958, Phase 2 of adding CC3220sf LaunchXL support,
was to "deprecate the CC3200 launchxl support in Zephyr
(redundant to the CC3220)."
Effectively, the CC3220 SOC replaces the CC3200.
This patch removes the following:
* the imported CC3200 SDK
* CC3200 SOC, board, DTS files.
* adjusts other files where cc3200 was mentioned.
Also, it fixes explicit references to CC3200 in generic
CC32xx driver files.
Jira: ZEP-1958
Signed-off-by: Gil Pitney <gil.pitney@linaro.org>
The SimpleLink host driver comes with its own definition of
__errno, which conflicts with Zephyr's definition, but has
a mechanism to enable use of the porting OS's __errno variable.
This patch enables SimpleLink to use Zephyr's __errno
via the DPL porting layer.
Jira: ZEP-1958
Signed-off-by: Gil Pitney <gil.pitney@linaro.org>
This ports the SimpleLink WiFi host driver via its OS adaptation
layer to Zephyr OS primitives.
This was validated using an out-of-tree SimpleLink shell
application including functions for:
* WLAN connect, disconnect and scan
* Socket: UDP server and client
* NetApp: pinging an external host.
Jira: ZEP-1958
Signed-off-by: Gil Pitney <gil.pitney@linaro.org>
This patch enables and builds the SimpleLink host driver
for Zephyr introduced in a previous patch.
Jira: ZEP-1958
Signed-off-by: Gil Pitney <gil.pitney@linaro.org>
The SimpleLink SDK provides a WiFi host driver to access the
network coprocessor over a dedicated SPI.
This patch imports the host driver plus other driver files
required to communicate with the network coprocessor.
All files have been copied from a Linux SDK installation, without
modification (except for whitespace cleanup and file mode fixes).
Note that one of the imported files, wifi/porting/user.h, has to
be modified to enable the DPL (Driver Porting Layer) port to Zephyr.
This is provided in a follow-on DPL porting patch.
Origin: Texas Instruments SimpleLink CC3220 SDK URL:
http://www.ti.com/tool/download/SIMPLELINK-CC3220-SDK Purpose:
Provide WiFi host driver for TI CC32XX SoC
Jira: ZEP-1958
Signed-off-by: Gil Pitney <gil.pitney@linaro.org>
The SimpleLink SDK provides a peripheral driver library and hardware
register access header files for the Texas Instruments SimpleLink
CC3220S and CC3220SF SoCs.
This patch updates the SDK version in Zephyr from 1.30.01.03
to 1.40.00.03.
The SDK can be downloaded from:
http://www.ti.com/tool/download/SIMPLELINK-CC3220-SDK
Jira: ZEP-1958
Signed-off-by: Gil Pitney <gil.pitney@linaro.org>
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
The SimpleLink SDK actually encapsulates a family of devices,
of which cc32xx is just one device. Other devices can fit
under this SDK directory structure.
This expansion will also allow the import of the WiFi
host driver and its driver porting layer in the future,
inserted at the correct levels in the SimpleLink SDK
directory heirarchy.
Follow the URL (ending in "#directory-structure") referenced in
ext/hal/ti/simplelink/README which explains the SDK structure,
and where devices fit in.
Jira: ZEP-1958
Change-Id: I16515d3e3779de0d55d3b1b8e25029609d1f66c3
Signed-off-by: Gil Pitney <gil.pitney@linaro.org>
The CC3220 SDK provides a peripheral driver library and hardware
register access header files for the Texas Instruments SimpleLink
CC3220S and CC3220SF SoCs.
The current version supported in Zephyr is CC3220 SDK 1.30.01.03,
downloaded from:
http://www.ti.com/tool/download/SIMPLELINK-CC3220-SDK
Jira: ZEP-1958
Change-Id: Ib278a6e067a621c589d6efd17cda6f75dc2a9cdb
Signed-off-by: Gil Pitney <gil.pitney@linaro.org>
Previously, CC3200 drivers had two options to use the peripheral
driver library APIs:
1) Build driverlib SDK files in Zephyr, in ext/hal/ti/cc3200/*
2) Link directly with the driverlib.a, from an externally installed
TI CC3200 SDK.
A new option is added to replace option 2), and is now the default:
3) Use the driverlib functions already provided in ROM.
This enables a savings in code size, which will depend on the
types of device drivers configured and the number of SDK
APIs actually used.
A rom_report build of the shell sample application showed
a savings of about 2kb in code space using this new config option.
Change-Id: Ie1ede6f7aacd23db20f5292e776f1dfeab5c7fe0
Signed-off-by: Gil Pitney <gil.pitney@linaro.org>
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
Enable building CC3200 SDK driver peripheral library files in Zephyr.
The SDK provides convenience functions to access CC3200 hardware
peripherals, and header files with register definitions.
Jira: ZEP-1109
Change-Id: I89f1485b9f35320a253ae211a27168bb2288c8b7
Signed-off-by: Gil Pitney <gil.pitney@linaro.org>
The CC3200 SDK provides a peripheral driver library and hardware
register access header files for the Texas Instruments SimpleLink
CC3200 SoC.
Origin: Texas Instruments CC3200 SDK v1.2.0
URL: http://www.ti.com/tool/cc3200sdk
Purpose: Provide driver library and HAL for TI CC3200 SoC
Maintained-by: External
Jira: ZEP-1109
Change-Id: Ieb7f833adfbb7bc04842cfd0cd95127c48ab9eb1
Signed-off-by: Gil Pitney <gil.pitney@linaro.org>