59 Commits

Author SHA1 Message Date
Trevor Joynson
ec2c230633 Remove conflicting optimization flags (-mcpu includes -march) (#10165) 2018-08-05 10:09:38 -04:00
Daniel Agar
1481015675 ROMFS cmake update dependency handling 2018-07-24 09:12:44 +02:00
Daniel Agar
73f825e4b3 cmake toolchain enable double fpu for cortex-m7 2018-06-30 19:57:51 +00:00
Matthias Grob
463217a5f9 Cygwin: repair NuttX build (#8737)
* Cygwin: repaired NuttX build after 1f63d85869b3495f3f66a3300b365c57469f1020
all the NuttX specific WINTOOL define handling was skiped in cmake Make.defs generation
The Nuttx build is makfile based and needs its cygwin treatment

Additionally the ${PX4_SOURCE_DIR}/src/include which was added through cmake needs path conversion

The two root causes for the special handling are:
- ARM GCC for Windows doesn't support cygwin paths passed as an argument
  so they need to be either relative or converted via cypath tool
- Symbolic links are totally different under Windows and because NuttX uses them extensively
  it has special handling scripts that need to be fed with the correct defines

* Cygwin: NuttX include paths all converted in Make.defs.in

differentiate between WINTOOL define (MSYS & cygwin) and cygwin using uname command:
- MSYS needs symbolic link handling for ARM GCC but no path conversion
- Cygwin needs both
2018-01-20 23:26:12 -05:00
Daniel Agar
01b3e6fd25 NuttX upgrade cmake wrapper (#7873)
* NuttX cmake

* px4_macros:Pass the stringified predicate as second arg to static assert

   CC_ASSERT mapes to the c++ static_assert or provides the same
   funtionality for c via the other macros. The c++ static assert
   takes 2 argumants the prdicate and a message. This fixes the
   lacking second argument.

* Updated nuttx and apps submodule to upstream nuttx 7.21+==master

   This is the latest uptake of upstream nuttx and apps.

* ROMFS generate with xxd instead of objcopy

* delete nuttx-patches

* NuttX update submodules to latest px4_nuttx-master

* fix nuttx apps and board dependency

* docker_run update to latest container 2017-08-29

* cmake ROMFS portable sed usage

* NuttX update submodules to latest px4_nuttx-master
2017-09-29 10:13:51 -04:00
davidaroyer
d01150990b cmake: add ubuntu build for OcPoC hardware 2017-07-22 10:51:49 +02:00
crossa
18298f861d Remove duplicated configs 2017-07-13 16:53:28 +02:00
zhangfan
8a691d9bfb Add CMake file for raspberry pi without shield 2017-07-13 16:53:28 +02:00
Nicolae Rosia
3dd32492de Move find of STRIP_TOOL to toolchain
Signed-off-by: Nicolae Rosia <nicolae.rosia@gmail.com>
2017-06-13 08:16:37 +02:00
Nicolae Rosia
a6acb2e68e ARM Toolchain: search compiler in PATH
Add CMake target for strip since these changes break adb_upload_to_bebop.

GCC users should add the cross compiler bin path to PATH (location of arm-linux-gnueabihf-g++).
Clang user should do the following:
* set CMAKE_CXX_COMPILER to clang++ by providing -DCMAKE_CXX_COMPILER=clang++ to cmake
* get GCC cross compiler - needed because Clang does not ship a CRT
* create a symlink for clang and clang++ in GCC cross compiler bin dir.
* add GCC bin dir to PATH

Signed-off-by: Nicolae Rosia <nicolae.rosia@gmail.com>
2017-06-13 08:16:37 +02:00
Nicolae Rosia
8f9ca9b45e Commit 8797a090dc06cd0c9f4cf132b67e4872af1ff8f1 relocated __DF_RPI
but missed to move it from *-clang.cmake Toolchain

Signed-off-by: Nicolae Rosia <nicolae.rosia@gmail.com>
2017-06-13 08:16:37 +02:00
Kabir Mohammed
cd902d32ef Relocate DF_RPI define 2017-06-13 08:16:37 +02:00
Kabir Mohammed
8b1ca2ea9b Rename RPi/Bebop toolchain locations to PX4_TOOLCHAIN_DIR 2017-06-13 08:16:37 +02:00
Kabir Mohammed
f123ade6d3 Rename to generic arm toolchain 2017-06-13 08:16:37 +02:00
davidaroyer
078d13e45e toolchains: remove unnecessary definition 2017-06-04 04:24:50 +08:00
davidaroyer
c5ac73e87e cmake: add support for Aerotenna OcPoC-Zynq hardware 2017-06-04 04:24:50 +08:00
Julian Oes
f8a1631077 DriverFramework/cmake_hexagon: use defines with DF
This changes the following defines:

__QURT -> __DF_QURT
__RPI -> __DF_RPI
__EDISON -> __DF_EDISON
__BEBOP -> __DF_BEBOP
__LINUX -> __DF_LINUX
2016-10-18 08:07:14 +02:00
Hidenori
211c2b9ca6 Rename clang toolchain file 2016-08-18 16:11:05 +02:00
Hidenori
a8d3b15d73 RPi: add clang & clang-check support 2016-08-18 16:11:05 +02:00
Julian Oes
fa614a3cc1 RPi: just use RPI instead of RPI2.
The reason for this change is that RPi2 and RPi3 are compatible, and
hopefully all differences coming up can be resolved without ifdefs but
at runtime.
2016-07-16 15:51:00 +01:00
Julian Oes
eea102f63d cmake: POSIX/RPi build don't need patch/genromfs (#4733) 2016-06-05 12:02:13 +02:00
Kabir Mohammed
e185352f56 Add RPI2 definitions for DF 2016-05-19 15:41:50 +02:00
Kabir Mohammed
529460d573 Fix RPi2 build system 2016-05-19 15:41:50 +02:00
Kabir Mohammed
4ed112b259 Remove old toolchain 2016-05-09 16:13:01 +02:00
Mark Charlebois
169259059b Updated cmake_hexagon and all the associated files that use it
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-04-18 23:40:56 +02:00
Lorenz Meier
07d926bab8 Show fatal error for tools missing 2016-04-18 09:27:58 +02:00
Daniel Agar
f754119ff6 cmake - I don't care what you couldn't find unless you need it 2016-04-17 16:27:05 -04:00
Mark Charlebois
caa94d58a6 Manually integrated Jim's changes from integrate2_jim branch
Signed-off-by: Jim Wilson <jywilson99@hotmail.com>
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-02-19 16:59:46 +01:00
Mark Charlebois
f25613ebeb Removed extra returns
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-02-19 16:59:44 +01:00
Mark Charlebois
473fe773b4 Provide impelmentation of px4muorb_KraitRpcWrapper
The Terminate function is not properly implemented yet.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-02-19 16:59:44 +01:00
Mark Charlebois
ba282bd30d Require HEXAGON_ARM_SYSROOT for arm-linux-gnueabihf
The Toolchain-arm-linux-gnueabihf.cmake is currently used for
the SnapdragonFlight Apps processor.

The sysroot is required for cross building for Ubuntu 14.04 armhf.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-02-19 16:59:44 +01:00
Mark Charlebois
014f15d8b0 Rebase changes on upstream master
This brings in many of the changes from the PX4 fork on ATLFLight.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-02-19 16:59:43 +01:00
Mark Charlebois
0c42c469af Removed extra returns
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-02-19 16:59:42 +01:00
Mark Charlebois
01d0543e0a Provide impelmentation of px4muorb_KraitRpcWrapper
The Terminate function is not properly implemented yet.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-02-19 16:59:42 +01:00
Mark Charlebois
252eca9fb5 Require HEXAGON_ARM_SYSROOT for arm-linux-gnueabihf
The Toolchain-arm-linux-gnueabihf.cmake is currently used for
the SnapdragonFlight Apps processor.

The sysroot is required for cross building for Ubuntu 14.04 armhf.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-02-19 16:59:41 +01:00
Mark Charlebois
9f3bf8e9f4 Rebase changes on upstream master
This brings in many of the changes from the PX4 fork on ATLFLight.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-02-19 16:59:41 +01:00
Mark Charlebois
a8c49809fa Fixes for other qurt builds to use QURT_BUNDLE
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-01-10 20:54:26 +01:00
Lorenz Meier
6c3c18b7c9 Robustify toolchain string matching 2015-10-25 14:35:46 +01:00
Mark Charlebois
01ccbd8886 qurt: added HEXAGON_TOOLS_ROOT variable
The environment variable HEXAGON_TOOLS_ROOT must be set to the location
of the installed HexagonTools. This could be a global install at
/opt/HEXAGON_Tools/7.2.10/Tools or it could be a personal install
${HOME}/Qualcomm/HEXAGON_Tools/7.2.10/Tools.

The default install path used by the installer is exported in the Vagrantfile.

There is still an issue that the hexagon linker fails on mmap of the shared folder.
If the shared folder was mounted via NFS for Linux and MacOS the problem would be
resolved.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-10-23 20:52:03 -07:00
Lorenz Meier
bf09c46c2f Fix Hexagon toolchain detection for default installer 2015-10-23 23:28:26 +02:00
Mark Charlebois
4b1e4e63f0 eagle: Added posix_eagle_release to Makefile
Enable build of posix_eagle_release.
Added path to ARM cross compiler in qrlsdk install.
Fixed warnings in Toolchain-arm-linux-gnueabihf.cmake

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-10-23 09:06:18 +02:00
Mark Charlebois
0e967d0874 qurt: Change to Hexagon 7.2.10 compiler
Switched to 7.2.10 since the Linux version of this is available.

Added -DHAS_C9X flag to fix isses with undefined math functions
when using hexagon-clang++.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-10-22 10:07:22 -07:00
Mark Charlebois
938798f4db Removed qurt patch for Eigen and updated eigen commit
The patches for Hexagon support are in the eigen repo so
the patch can now be removed.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-10-20 08:48:11 +02:00
Daniel Agar
e4a78124d8 posix add -Wno-varargs for OS X 2015-10-06 18:41:48 -04:00
Daniel Agar
644a0cd30c adjust attitude_estimator_ekf for posix_sitl_simple 2015-10-06 18:28:30 -04:00
James Goppert
55f963be07 Added ddd support. 2015-10-06 12:18:32 -04:00
Mark Charlebois
3f758490a4 QuRT: move to HexagonTools 7.4 toolchain
Some subsystems error on frame size without the included patches.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-09-24 15:16:01 -07:00
Mark Charlebois
1abd61303f qurt: Added patch for Eigen to use latest version
Updated to 7.2 Hexagon toolchain

Fixed issuse with stack usage

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-09-24 15:16:00 -07:00
Lorenz Meier
bc8f4cf47f CLANG: Add more errors 2015-09-20 10:26:11 +02:00
Lorenz Meier
78f698a642 Merge branch 'cmake-2' of github.com:PX4/Firmware into cmake-2-pthread 2015-09-20 00:52:41 +02:00