Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix make exporters compilation #3243

Merged
merged 2 commits into from
Nov 14, 2016
Merged

Conversation

bridadan
Copy link
Contributor

@bridadan bridadan commented Nov 9, 2016

Description

IAR requires all pre-built libraries that are linked in to be prefixed with lib. This is a problem when used with the make exporters for a few platforms since the libraries do not have this prefix. This standardizes the prefix of lib for all pre-built libraries in the codebase.

There was also an assembly file that was using mixed notation for comments, switching between ; <COMMENT> and /* <COMMENT> */. This was causing issues for make with ARM compiler, so I've changed it to use only ;.

Status

READY

Migrations

If this PR changes any APIs or behaviors, give a short description of what API users should do when this PR is merged.

NO

Todos

  • PR tests
  • Exporter tests (MAINTAINERS: please hold off on this. I will trigger this test myself)
  • Review by @mmorenobarm (renaming cordio libraries)
  • Review by @andreaslarssonublox (renaming ublox odin w2 driver)
  • Review by @jeremybrodt (renaming Maxim BLE libraries and changing comment notation in Maxim target startup file)

Steps to test or reproduce

Currently if you try and export mbed-os-example-blinky and use the make_iar exporter, you'll receive an error for the following platforms: MAX32620HSP, MAXWSNENV, UBLOX_EVK_ODIN_W2.

$ mbed export -m MAX32620HSP -i make_iar
$ make
"C:\Jenkins\workspace\bm_wrap\983\examples\mbed-os-example-blinky\mbed-os\features\netsocket\SocketAddress.cpp",70  Warning[Pe721]: nonstandard format string conversion
Fatal error[Ms007]: could not open file "libexactLE.a"
            Directories searched:
              C:\Jenkins\workspace\bm_wrap\983\examples\mbed-os-example-blinky\
                      .build
              C:\Jenkins\workspace\bm_wrap\983\examples\mbed-os-example-blinky\
                      mbed-os\targets\TARGET_Maxim\TARGET_MAX32620\TOOLCHAIN_IA
                      R
Fatal error detected, aborting.

After this PR, the example will compile correctly with Make.

This fixes an issue with make_iar, since IAR requires all libraries that
are linked to be prefixed with 'lib'.
@bridadan
Copy link
Contributor Author

bridadan commented Nov 9, 2016

/morph export-build

@mbed-bot
Copy link

mbed-bot commented Nov 9, 2016

Result: SUCCESS

Your command has finished executing! Here's what you wrote!

/morph export-build

Output

mbed Build Number: 4

All exports and builds passed!

@bridadan
Copy link
Contributor Author

bridadan commented Nov 9, 2016

Woohoo, make exporter coverage! Now to make sure I didn't break anything else 😄

/morph test

@andreaslarssonublox
Copy link

LGTM! Will update our driver build script.

@mbed-bot
Copy link

Result: NOT_BUILT

Your command has finished executing! Here's what you wrote!

/morph test

@0xc0170
Copy link
Contributor

0xc0170 commented Nov 10, 2016

/morph test

@mbed-bot
Copy link

Result: FAILURE

Your command has finished executing! Here's what you wrote!

/morph test

Output

mbed Build Number: null

Examples Build failed!

@0xc0170
Copy link
Contributor

0xc0170 commented Nov 10, 2016

@bridadan Failure in the examples step : OSError: [Errno 2] No such file or directory: 'mbed-os-example-mesh-minimal' ?

@bridadan
Copy link
Contributor Author

@0xc0170 Looks like the clone for that example failed:

08:10:33 abort: HTTP Error 502: Bad Gateway
08:10:42 fatal: unable to access 'https://developer.mbed.org/teams/mbed-os-examples/code/mbed-os-example-mesh-minimal/': The requested URL returned error: 502
08:10:42 [mbed] ERROR: Unable to clone repository (https://developer.mbed.org/teams/mbed-os-examples/code/mbed-os-example-mesh-minimal)
08:10:42 ---
08:10:42 [mbed] Importing program "mbed-os-example-mesh-minimal" from "https://developer.mbed.org/teams/mbed-os-examples/code/mbed-os-example-mesh-minimal" at latest revision in the current branch

Must have been a hiccup on the developer site. I'll go ahead and restart the tests.

/morph test

@mbed-bot
Copy link

Result: SUCCESS

Your command has finished executing! Here's what you wrote!

/morph test

Output

mbed Build Number: 1050

All builds and test passed!

@bridadan
Copy link
Contributor Author

If you have a second, @jeremybrodt and @fvincenzo could you please take a look at the changes I've made? We'd like to get this in ASAP.

@jeremybrodt
Copy link
Contributor

Sorry I haven't gotten to it yet. I will look at it today.

@jeremybrodt
Copy link
Contributor

Looks good to me. The mbed-cli should be updated to generate library names that match this new convention.

@bridadan
Copy link
Contributor Author

Looks good to me. The mbed-cli should be updated to generate library names that match this new convention.

Didn't even think about that, good thinking. @theotherjimmy does that make sense to you?

@bridadan
Copy link
Contributor Author

Also, upon @fvincenzo's request, I've changed the BEETLE reviewer to @mmorenobarm. Could you please take a look at these changes?

@mmorenobarm
Copy link
Contributor

LGTM!

@bridadan
Copy link
Contributor Author

@0xc0170 @sg- All the checkboxes are checked! ✔️ ✅ ☑️

@theotherjimmy
Copy link
Contributor

@bridadan @jeremybrodt Yes I can make the tools generate libraries following the convention. What is the command you are using to create them?

@bridadan
Copy link
Contributor Author

It'd be something along the lines of mbed compile --library

@sg- sg- merged commit cb930e7 into ARMmbed:master Nov 14, 2016
aisair pushed a commit to aisair/mbed that referenced this pull request Apr 30, 2024
Ports for Upcoming Targets


Fixes and Changes

3127: Fixed the issue about push/pop of VFP register. ARMmbed/mbed-os#3127
3176: Modifying micro:bit pin names to mirror micro:bit edge connector ARMmbed/mbed-os#3176
3160: Fix wrong index at LPC43xx tx end ring assignment ARMmbed/mbed-os#3160
3217: Add I2C_ASYNCH capability for DISCO_F469NI ARMmbed/mbed-os#3217
3211: [NUC472/M453] Support single UART shared by multiple serial objects and other updates ARMmbed/mbed-os#3211
3198: NUCLEO_F410RB: Add I2C_ASYNCH capability ARMmbed/mbed-os#3198
3194: Update K64 sdk drivers ARMmbed/mbed-os#3194
3159: User trim values for NCS36510 ARMmbed/mbed-os#3159
3243: Fix make exporters compilation ARMmbed/mbed-os#3243
3231: STM32F3: DISCO_F303VC - Add missing UART and ADC pin muxing options ARMmbed/mbed-os#3231
3233: K20xx Calculate PWM clock relative to bus clock ARMmbed/mbed-os#3233
3237: Added back USART 6 pins ARMmbed/mbed-os#3237
3253: Fix default polarity on LPC43XX PWM driver ARMmbed/mbed-os#3253
3238: Dev i2c stm32f4hal ARMmbed/mbed-os#3238
3251: Dev stm32l0 cube v1.7.0 ARMmbed/mbed-os#3251
3252: [NORDIC - NRF51 - MBED 2] Fix non handled RTC IRQ ARMmbed/mbed-os#3252
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

8 participants