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

Add documentation on MSP432 binary blob build procedures #7

Open
robertinant opened this issue Aug 29, 2016 · 9 comments
Open

Add documentation on MSP432 binary blob build procedures #7

robertinant opened this issue Aug 29, 2016 · 9 comments

Comments

@robertinant
Copy link
Member

From @dronus on July 14, 2016 13:25

I have filed some bugs the last month on MSP432 and would like to contribute solutions. However, the MSP432 EMT core ships binary blobs, hidden inside trees of a plethora of Energia and third party (TI) contributed files.

Please add some READMEs explaining what files of this mess are actually used, what of them are sources for the binary blobs, and how to rebuild those blobs from the source!

Otherwise it is very hard to contribute to the framework, as almost no code change to the core files triggers any rebuild in the IDE as long as just the ready made blobs are linked.

Copied from original issue: energia/Energia#908

@robertinant
Copy link
Member Author

From @rei-vilo on July 14, 2016 13:33

What do you call a blob?

@robertinant
Copy link
Member Author

From @rei-vilo on July 14, 2016 13:35

See #907.

@robertinant
Copy link
Member Author

From @dronus on July 14, 2016 14:25

With blob, I mean binary objects (some files inside the EMT tree) that are linked but from unclear origin (like the source is not provided, or in this case, I guess it is provided, but their source location and procedures how to rebuild it are unclear).

This is in contrast to the Arduino IDE, where the build process relies on sources, so anything inside the core or libraries can be modified, directly affecting the final build.

So for MSP432 we have several pathes containing runtime source (some from Energia, some from TI) and changing those sources doesn't have any effect on builds made with the Energia IDE.

The IDE keeps linking the same static binary code from some pathes and I have no idea how to change this binaries.

@robertinant
Copy link
Member Author

From @rei-vilo on July 14, 2016 14:29

See Energia / EMT.

@robertinant
Copy link
Member Author

From @dronus on July 14, 2016 16:27

How does https://github.com/energia/emt relate to the files in energia//hardware/emt/ ? It seems there are many more files in energia//hardware/emt/, on the other hand the top level Makefiles are missing.

The documentation of https://github.com/energia/emt on the other hand does a lot of explanation how to handle different GIT providers, but not so much on how to obtain binaries and how to integrate them with the Energia IDE.

@robertinant
Copy link
Member Author

From @dronus on July 14, 2016 16:42

Maybe we can get through this by a little example. Consider changing the amount of stop bits for Serial.

I edit energia/hardware/emt/ti/runtime/wiring/HardwareSerial.cpp, which I GUESS is the responsible file (there are several more implementations of HardwareSerial in energia/hardware/ of course).
I add the line uartParams.stopBits = UART_STOP_TWO; to the implementation of HardwareSerial::begin. UART_STOP_TWO is defined by TI's emt/ti/drivers/UART.h.

Now what has to be done to build an Energia sketch using this change?

I browsed energia/hardware for hours. I just guess energia/hardware/emt/ti/runtime/wiring/msp432/lib/wiring_msp432.m4fg.lib has to be rebuilt. But I came on that file just by extensively browsing hardware/, there is beside the name no clue where it is for, how to change it etc.

@dronus
Copy link

dronus commented Sep 15, 2016

Bump.

@dronus
Copy link

dronus commented Feb 20, 2018

Bump again.

There are so many other issues I will file in the future that could be debugged if this issue is solved.

For example, using Arduino's String or C++ std::string breaks build for MSP432 target, and it is almost impossible to fix as long as no one knows which files actually are used for build.

@robertinant
Copy link
Member Author

I know this has been a last standing question to build the binary blob. However, it's a matter of priorities. I can't give you a hard promise but I might be able to put something together end of March.
With that said, which core do you have installed. This core will no longer receive feature updates, only bug fixes as it was intended for the black board which was based on preproduction. Please see here: https://github.com/energia/msp432r-core

I'll push a new version of this core which fixes a compilation issue due to arduino-builder picking up the wrong version of gcc. If you would like to fix it manually, then in platform.txt, replace:
compiler.path={runtime.tools.arm-none-eabi-gcc.path}/bin/
with
compiler.path={runtime.tools.arm-none-eabi-gcc-4.8.4-20140725.path}/bin/

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

No branches or pull requests

2 participants