Commit Graph

1479 Commits (41c6084a1ebda43d7384e572e203469e64ae0117)

Author SHA1 Message Date
Sarah Marsh 22138f31ee Add ETHERNET and ODIN_WIFI to odin device has. Add odin WiFi test configuration 2017-10-06 14:12:45 +01:00
Sarah Marsh c4d0357646 Use default mbed-os test configuration if no app_config is supplied 2017-10-06 14:12:45 +01:00
Sarah Marsh 47f02e7972 Use only one flag for test configuration file
Tools will figure out if user passed in a custom path (to indicate configration file for module) or whether they used a keyword (to indicate they'd like to use an mbed OS configuration)
2017-10-06 14:12:45 +01:00
Sarah Marsh 67589d53f3 Add option to add a configuration file for modules 2017-10-06 14:12:45 +01:00
Sarah Marsh d7e380e4db Allow tools to use networkinterface configs in tests 2017-10-06 14:12:45 +01:00
Jimmy Brisson 4f7ea717ff Check for mbed 5 support on export 2017-10-06 14:12:44 +01:00
Phyo Kyaw be7685e87d e2 studio exporter update 2017-10-06 14:12:43 +01:00
Jimmy Brisson ade705a8bc Force preprocessing of asm for make_armc5
It seem to preprocess asm with the `.S` extension on linux, but the
windows build of Arm Compiler 5 seems to omit the preprocessing step
unless you have a `.sx` extension. Odd.
2017-09-25 11:34:37 -05:00
Jaakko Heikkilä 431fac4445 export: Add missing flags to Sw4STM32
Some of the optimization and warning flags, which were supported by the
gnuarmeclipse exporter, were missing from the sw4stm32.
2017-09-24 21:34:29 +01:00
Jaakko Heikkilä 60b0eccf93 export: Corrections to Sw4STM32 after review
Add double quotes to linker command unconditionally.
2017-09-24 21:34:29 +01:00
Jaakko Heikkilä b45a5636f2 export: Fix invalid id's in Sw4STM32 project files 2017-09-24 21:34:29 +01:00
Jaakko Heikkilä d4a9de15c3 export: Remove build directories from excluded paths
Directories Debug and Release must not be excluded. Otherwise, Eclipse is
not able to find binaries, which are stored to build directories.
2017-09-24 21:34:29 +01:00
Jaakko Heikkilä d916081b94 export: Add debug configuration to Sw4STM32 2017-09-24 21:34:29 +01:00
Jaakko Heikkilä 6e6919c3cd export: Fix Windows problems with Sw4STM32
Quoting linker preprocessor command, if path contains parentheses. Using
relative path to shorten list of included directories. Using Eclipse
variables to get path to preprocessor.
2017-09-24 21:34:29 +01:00
Jaakko Heikkilä 53f7dcc4f6 export: Remove preprocessed ld files after build
Sometimes Sw4STM32 exporter receives wrong linker script file. Because build
directories cannot be excluded from scanned resources, ld files are removed.
2017-09-24 21:34:29 +01:00
Jaakko Heikkilä f92955a3bf export: Fix after testing Sw4STM32
Quotation marks in defines had to be replaced with html codes.
2017-09-24 21:34:29 +01:00
Jaakko Heikkilä d9b978f3f5 export: Invalid linker script path in Sw4STM32
Fixed invalid linker script path in project file.
Using 'defines' instead of 'symbols' in compiler options.
2017-09-24 21:34:29 +01:00
Jaakko Heikkilä deb9c1b3ea export: Remove dublicate methods in Sw4STM32
Removed unused methods and methods with dublicate functionality.
Removed unused imports. Generating list of defines for assembler.
2017-09-24 21:34:29 +01:00
Jaakko Heikkilä 7d2328564b export: Sw4STM32 inherits GNUARMEclipse
Sw4STM32 is using methods from GNUARMEclipse class to handle flags.
Flags are also passed to cproject file.
2017-09-24 21:34:29 +01:00
Jaakko Heikkilä db376bf083 export: Change linker script name
SW4STM32 linker script name now contains target name.
Print formatting is using new Python style.
2017-09-24 21:34:29 +01:00
Jaakko Heikkilä 65c4a2204d export: Fix sw4stm32 linker script problem
Added makefile.target, and rule for linker script pre-compilation.
2017-09-24 21:34:29 +01:00
Jarno Komula 3408e25714 Review changes + including config header from toolchain.get_config_header() instead of hardcoding it to project file. 2017-09-24 21:34:29 +01:00
Jarno Komula c2eafc9d38 Better readability. 2017-09-24 21:34:29 +01:00
Jarno Komula 224ada2a51 Review corrections. 2017-09-24 21:34:29 +01:00
Jarno Komula f870269075 Fixed sw4stm32 exporter 2017-09-24 21:34:29 +01:00
Jimmy Brisson 570a29236b Remove prefix stuff from GCC memap parser
It's just not used anymore
2017-09-22 15:15:07 +01:00
Jimmy Brisson 371212a4b9 Test the module_add function 2017-09-22 15:15:07 +01:00
Jimmy Brisson 01475cf4c2 Test GCC memap parser 2017-09-22 15:15:07 +01:00
Jimmy Brisson 2b8f993612 Test memap parsing for ARMC6 and IAR 2017-09-22 15:15:07 +01:00
Jimmy Brisson 238596f658 Parse full paths from ARM map file
Now we don't have to scan!

This is a 20% speed improvement
2017-09-22 15:15:07 +01:00
Jimmy Brisson 86b441c5a4 Display full paths in armlink output 2017-09-22 15:15:07 +01:00
Jimmy Brisson 2dbe035d0b Remove warnings for Zero sized sections
We just don't care if we don't know where they go
2017-09-22 15:15:07 +01:00
Jimmy Brisson 2e2a45a663 Parse filenames from IAR map file
Instead of scanning.

Is a 8ms/15% speedup.
2017-09-22 15:15:07 +01:00
Jimmy Brisson 802cfcfbca Refactor memap for speed 2017-09-22 15:15:07 +01:00
Jimmy Brisson dacf0f4f28 Mock supported_toolchains values in tests 2017-09-19 11:36:38 +01:00
Deepika 76a0660ec6 Corrected check for ARM/ARMC6 toolchain
ARMC6 support required ARM compiler support as mandatory requirement which
should not be the case. Cortex-M23/M33 devices are not suuported by ARM compiler5

Adding ARMC6 without ARM in target.json should work now.
2017-09-19 11:36:38 +01:00
Deepika 1f48da98e4 ARMC6 support for Cortex-M23 2017-09-19 11:36:38 +01:00
Jimmy Brisson 318419a705 Allow ARMC6 to run post-binary-hooks marked for ARM 2017-09-19 11:36:38 +01:00
Jimmy Brisson 80ae6acd2b Parse libraries with memap-arm 2017-09-19 11:36:37 +01:00
Jimmy Brisson 088fa1dd77 Emit dependency information with ARMC6
Which allows it to be parsed
2017-09-19 11:36:37 +01:00
Jimmy Brisson 8579eedad7 Correct uvision template to correctly pass include paths 2017-09-19 11:36:37 +01:00
Jimmy Brisson 374ce26759 Correct rename mistake in make arm compiler exporters 2017-09-19 11:36:37 +01:00
Jimmy Brisson c40368113a Disable response files on export
None of the exporters can handle them, so just don't do it
2017-09-19 11:36:37 +01:00
Anna Bridge 7b428916f5 Merge pull request #4949 from theotherjimmy/feature-armc5+armc6
NEW TOOLCHAIN: Add the ARMC6 Compiler
2017-09-13 10:39:15 +01:00
Shrikant Tudavekar fec2346627 add ARMC6 in supported compiler 2017-09-12 15:31:50 -05:00
Jimmy Brisson 23aafbfe6c Optimize space usage on builds
by not creating gigantic exception nonsense
2017-09-11 14:45:21 -05:00
Jimmy Brisson 8a9d79bcbd Add ARMC6 to supported matrix 2017-09-11 13:20:33 -05:00
Jimmy Brisson d56c19f253 Detect test skips with armc6 2017-09-11 13:20:33 -05:00
Jimmy Brisson 887d29372b Check for support in ARMC6 2017-09-11 13:20:33 -05:00
Jimmy Brisson d72f6dbfe4 Disable MULADDC assembly
It's not supported in ARMC6
2017-09-11 13:20:33 -05:00
Jimmy Brisson f4b7d8ba77 Avoid forcing preprocessing
We avoid forcing preprocessing by not replacing the first line when it's
not a shebang (#!). Should work pretty darn well.
2017-09-11 13:20:32 -05:00
Jimmy Brisson 06b00683c3 Genericify arm compiler exporter to versions 5 + 6 2017-09-11 13:20:32 -05:00
Jimmy Brisson e9d3166a5e Expose present get_compile_options API in Toolcahins 2017-09-11 13:20:32 -05:00
Jimmy Brisson 15a9a0382b Enable Compiling with ARMC6 across all targets
remove duplicate sys.cpp
2017-09-11 13:20:32 -05:00
Jimmy Brisson 1fef5553b4 Parse deps the same for GCC_ARM and ARMC6 2017-09-11 13:17:54 -05:00
Jimmy Brisson 98b4768434 Initial toolchain class for ARMC6
While ARMC6 does use the same linker (armlink) as ARM Compiler 5, it
is not compatible.

The reason for this incompatibility are twofold:
 * armlink may invoke the C preprocessor by adding a shebang
   (`#!`) to the top of their input files.
 * ARMC6 and ARMC5 differ in how you invoke the preprocessor:
   * ARMC5: `#! armcc -E`
   * ARMC6: `#! armclang -E`

This forces the tools to rewrite the shebang if it's wrong.

This does not yet handle dependencies properly
2017-09-11 13:17:54 -05:00
Deepika ca1f24cc0e Add -mcmse flag for GCC and improved logic for cpu core 2017-09-11 11:49:28 -05:00
Deepika 9422c351e4 Initial RTX and tools support for Cortex M-23/M-33 devices 2017-09-11 11:43:26 -05:00
Jimmy Brisson a108adf396 Merge pull request #4916 from JojoS62/add_MCUXpresso_exporter
Add mcuxpresso exporter
2017-09-08 09:44:25 -05:00
Martin Kojtal 814eaa99fe Merge pull request #5030 from chrissnow/uVision-LDFlags
Export uVision linker flags so that bootloader projects build correctly
2017-09-07 12:46:35 +01:00
Jimmy Brisson a3bb8e370b Allow eclipse to fail for mysteriously in build 2017-09-06 17:38:58 -05:00
Jimmy Brisson 9d51b1afa8 Add imports for build 2017-09-06 16:58:40 -05:00
Jimmy Brisson 7457bbbc5c Merge pull request #4665 from Archcady/enable_sdram
Enable sdram usage of REALTEK_RTL8195AM
2017-09-06 14:26:34 -05:00
Jimmy Brisson 5bcd97a2bc Merge pull request #4984 from theotherjimmy/unify-unit-tests
Unify mbed OS tools testing style with what's used in mbed-ls, htrun, greentea
2017-09-06 14:26:14 -05:00
Chris Snow e783e98066 Export linker flags so that bootloader projects build correctly 2017-09-05 22:03:29 +01:00
Jimmy Brisson 9d0e8abb11 Rename and simplify config test target names 2017-09-05 15:21:08 -05:00
Jimmy Brisson 399b6acfb1 Clean up json
Wipe out all blank lines in json:
  find tools/test -name 'test_data.json' | xargs sed -i -e '/^$/d'
Move all start braces back a space:
  find tools/test -name 'test_data.json' | xargs sed -i -e "s/^ {/{/"
2017-09-05 14:39:48 -05:00
Jimmy Brisson 4a937fe15e Linting and correcting comments 2017-09-05 13:30:16 -05:00
Martin Kojtal c291973f49 Merge pull request #4933 from 0xc0170/fix_stats_depth
test: fix stats depth variable scope
2017-09-04 16:48:53 +01:00
JojoS 32c56b2743 added support for targets with extra SDK
some targets need an additional SDK.
2017-09-01 09:45:42 +02:00
JojoS d00d6f412a add support for K64F target
added template for K64F
2017-09-01 09:43:36 +02:00
JojoS 2615982b3a applied patch from mmahadevan108
- fixes invalid char '#' in linker script
- added 'mbedclean'
2017-09-01 09:41:12 +02:00
Russ Butler ac22225ad9 Move Cortex specific RTX behind TARGET_CORTEX
Update directory structure to include RTX for only cortex targets, and
for all cortex targets. This patch accomplishes this by moving mbed-os
specific RTX files and RTX itself into rtos/TARGET_CORTEX along with
removing TARGET_CORTEX_M from the RTX5 directory.

The old directory structure:

rtos/rtx5/<mbed-os specific RTX files>
rtos/rtx5/TARGET_CORTEX_M/*
rtos/rtx4/*
rtos/<mbed-os specific RTX files>

Is re-arranged to:

rtos/TARGET_CORTEX/rtx5/*
rtos/TARGET_CORTEX/rtx4/*
rtos/TARGET_CORTEX/<mbed-os specific rtx files>

This both encapsulates RTX code more cleanly and makes it easier to
experiment with non-cortex cmsis-os2 backends, such as a posix
based cmsis-os2 backend.

Note - A potentially better name for the CORTEX_M directory would be
something like FEATURE_RTX5 since this directory only contains RTX5
related files. This cannot be done because there is not an easy way
to turn this feature on, since it cannot be done from mbed_lib.json.
2017-08-31 19:55:54 -05:00
Martin Kojtal b99e6b5f7a Pass stats depth to singletest correctly
Fixes #4930
2017-08-31 10:41:20 -05:00
Jimmy Brisson 318e92c028 Merge pull request #4950 from OpenNuvoton/nuvoton_usb
M487: Support USB device/host
2017-08-29 13:45:55 -05:00
Jimmy Brisson a2bcae0b7a Rework test_api testing and fix a bug
Bug was found by the new tests
2017-08-28 15:40:35 -05:00
Jimmy Brisson 817eb5ab05 Unify configuration testing and the travis command 2017-08-28 15:10:50 -05:00
Jimmy Brisson de9f9dd3a2 Convert memap tests to pytest style 2017-08-28 13:52:28 -05:00
Jimmy Brisson 177fb7933d Rework config_test to use py.test 2017-08-28 12:27:09 -05:00
Yuguo Zou c834b7faac Fix bugs for RTL8195AM with debug profile of compilers
1. Add alignment / padding for postbuild segments
2. Clear tcm.bss section
3. Remove TRAP_OverrideTable(), move lines to PLAT_Start()
2017-08-28 19:04:26 +08:00
Shrikant Tudavekar ddc9e0840a disable -f option for assembly files for IAR 2017-08-25 16:59:21 -05:00
Yuguo Zou a0064ae47c Remove extension in cmd
Remove extension in command line so the script could work on Linux
2017-08-24 11:26:40 +08:00
JojoS 025b8d9a4d changed execuatable name for tests 2017-08-23 17:02:33 +02:00
JojoS f776631d3b added target LPCPC54608
from patch by mmahadevan108
2017-08-22 21:37:14 +02:00
Yuguo Zou 1e398cfc60 Add RTL8195AM support for mbed client with IAR
Move ticker related code to SRAM due to time drift sensitive
2017-08-22 17:34:00 +08:00
ccli8 a98ef4323d [M487] Update travis file 2017-08-22 10:57:37 +08:00
JojoS 07355e1362 removed empty project
was just an copy template for new targets
2017-08-21 22:19:42 +02:00
JojoS 9f628bb431 use UID class from gnuarmeclipse exporter
use global UID class
removed  outcommented code
2017-08-21 22:08:07 +02:00
JojoS e4570dbb49 add template for LPC1549 2017-08-21 21:26:16 +02:00
JojoS 9d77dffc2a fix export static_files to zip
fixed adding a list and a tuple
2017-08-16 23:37:35 +02:00
JojoS 6710e79486 fixed is_target_supported()
path for checking the templates was not independent
2017-08-16 23:04:08 +02:00
JojoS e2fd0ea152 revert hack to force zipfile creation
remove forcing to create zipfiles
2017-08-16 18:45:39 +02:00
JojoS 9dc1191c60 derive from gnuarmeclipse class
derive from gnuarmeclipse class instead of copy
is_target_supported is true when .cproject template for targetname exists
2017-08-16 18:16:36 +02:00
JojoS 239406dd25 removed unnecessary entrys 2017-08-16 18:15:10 +02:00
JojoS 9e1abfe16c added missing flags
added:
- compiler standard
- optimization flags
- warning flags
- different other flags
2017-08-16 18:14:33 +02:00
JojoS 7e7aa72c81 added support for LPC54114 and LPC54608
project template for LPC54114 is from preinstalled MCU, template for LPC54608 is empty because SDK is not yet available
2017-08-16 18:13:57 +02:00
JojoS 6f0b2dec31 fixed linker errors
for mbed 2: user lib (e.g. mbed lib) needs to be added to library group
linker command changed: add flags after object files
2017-08-16 18:13:17 +02:00
JojoS 08c44a029b use optimization setting from flags
optimization is set for debug and release builds
2017-08-16 18:12:37 +02:00
JojoS e41cc45297 added targets from LPCXpresso exporter
added all targets from older LPCXpresso exporter
2017-08-16 18:11:53 +02:00
JojoS 2bd7b4dee1 added templates for LPC4088 and LPC11H37
target specific templates use a  common template .cproject.tmpl and extend it by adding target information. This is necessary for the flash and debugging tools
2017-08-16 18:11:11 +02:00