Skip to content

Added feature list for K64F #1946

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

Merged
merged 1 commit into from
Jun 15, 2016
Merged

Added feature list for K64F #1946

merged 1 commit into from
Jun 15, 2016

Conversation

bogdanm
Copy link
Contributor

@bogdanm bogdanm commented Jun 15, 2016

Without this fix, some required FEATURE_ directories are not included,
which breaks compilation for existing code.

@bogdanm
Copy link
Contributor Author

bogdanm commented Jun 15, 2016

@sg- @geky @screamerbg

@jupe
Copy link
Contributor

jupe commented Jun 15, 2016

@kjbracey-arm @SeppoTakalo

@sg-
Copy link
Contributor

sg- commented Jun 15, 2016

@mbed-bot: TEST

HOST_OSES=windows
BUILD_TOOLCHAINS=GCC_ARM,ARM,IAR
TARGETS=K64F

@mbed-bot
Copy link

[Build 485]
SUCCESS: Building succeeded and tests were run! Be sure to check the test results

@sg-
Copy link
Contributor

sg- commented Jun 15, 2016

@mbed-bot: TEST

HOST_OSES=windows
BUILD_TOOLCHAINS=GCC_ARM,ARM,IAR
TARGETS=K64F

@sg-
Copy link
Contributor

sg- commented Jun 15, 2016

TLDR: IPV6 and CLIENT need to be reverted. Can re-run tests with only IPV4

A few things about this default inclusion and the current state:

  1. The atmel RF driver is moving out of tree. IPV6 will fail to compile in this case until a weak implementation of the phy is implemented. Seppo is working on this
  2. CLIENT cannot be enabled currently without IPV6 :(
  3. CLIENT is enabled by an application that uses it and IPV6 is enabled by a transceiver that supports it

Another side effect of config:
The way FEATURE_IPV6 uses "SOMETHING" and (4) and {x,x,x,x,x,x,x,x} breaks exports for uvision and iar. This is a problem with using -D in the command line and also assemblers seem to have a limit on command line length.

@0xc0170 is working on moving these into a file which gets included rather than -D on the command line

@bogdanm
Copy link
Contributor Author

bogdanm commented Jun 15, 2016

CLIENT is enabled by an application that uses it

Then this is a dependency, not a feature.

@sg-
Copy link
Contributor

sg- commented Jun 15, 2016

For the time being until it removes its dependency on IPV6 but that is just a matter of doing some work, then the feature CLIENT can go away and it should be just a standard include such as CFSTORE

@bogdanm
Copy link
Contributor Author

bogdanm commented Jun 15, 2016

I'm not sure what you mean by a "standard include". It just feels weird to say that an application enables client, since what the application really does is use the client library, thus describing a dependency (would you say that an application "enables" mbed-os instead of saying that it depends on mbed-os?). In the past, we have concluded that FEATURE_ is not a mechanism for deplacing dependencies, did that change? It might be that I'm not aware of the latest developments in this area.

@kjbracey
Copy link
Contributor

Don't see an obvious reason for CLIENT->IPV6 dependency. Unless mbed-trace is wrongly still in IPV6? Or maybe ns-event-loop and HAL are in there? They shouldn't be.

Tools will need to handle appropriate escaping for config strings - presumably different shells will need different escaping mechanisms. Moving into a file would help.

@SeppoTakalo
Copy link
Contributor

I think CLIENT is depending only of IPV6 because of event loop. (maybe event tracing library).
But if we move them out, whose job it is to start the event-loop?

@kjbracey
Copy link
Contributor

ns_hal_init starts it. Responsibility was moved out of mbed-mesh-api (which should be in IPv6), to allow use of HAL/event-loop without nanostack.

@kjbracey
Copy link
Contributor

To clarify, any component who wants it, calls ns_hal_init. Currently mbed-client's connector and mbed-mesh-api both call this. Apps could also call it if they wanted to get in first with a bigger nsdynmemlib heap size or different error callback.

@SeppoTakalo
Copy link
Contributor

Anyway, I would propose that we leave the "dependency" as it is, and solve it in Oulu.
So for K64F, just enable IPV4.
Leave it for us to cut the CLIENT<-->IPV6 dependency once we get the build working.

And @bogdanm , for me, it looks like FEATURE_X is the only way of dependency chain right now. If you guys have agreed something else, then this might be a workaround made by Sam&Mihail to get partner workshop running. And it is probably up to rest of the teams to continue implementing the dependencies you are talking about.

@bogdanm
Copy link
Contributor Author

bogdanm commented Jun 15, 2016

Cc @jaustin

@mbed-bot
Copy link

[Build 490]
SUCCESS: Building succeeded and tests were run! Be sure to check the test results

@SeppoTakalo
Copy link
Contributor

Modified the commit so that only IPV4 gets enabled. That is the only one currently having driver in the build tree.

IPv4 driver exists on the build tree, so enabling it.

Signed-off-by: Seppo Takalo <seppo.takalo@arm.com>
@SeppoTakalo
Copy link
Contributor

@mbed-bot: TEST

HOST_OSES=windows
BUILD_TOOLCHAINS=GCC_ARM,ARM,IAR
TARGETS=K64F

@mbed-bot
Copy link

[Build 492]
SUCCESS: Building succeeded and tests were run! Be sure to check the test results

@sg-
Copy link
Contributor

sg- commented Jun 15, 2016

👍

@sg- sg- merged commit 135a4ee into master Jun 15, 2016
@SeppoTakalo SeppoTakalo deleted the add_k64f_features branch June 15, 2016 18:25
@bogdanm
Copy link
Contributor Author

bogdanm commented Jun 15, 2016

The initial intent of this PR was to at least make the client example compile. It did with my original changes. Is that still the case?

@SeppoTakalo
Copy link
Contributor

Nope. it does not.
We are working for fix for toolchain to have proper handling of "features" and then we will add features to client example.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants