Git Product home page Git Product logo

bslscripter-vs2017's Introduction

Compile TI BSL-Scripter from Source with VC++2017

The code here should compile properly with the Community version of Visual Studio 2017 available for free from Microsoft. For usage please see the TI documents and INSTRUCTIONS.md in this directory.

This project includes everything required to compile the BSL-Scripter.exe file for Win32 except the boost headers.

Dependencies Included

The binary dependencies are included for convenience, it took a long time to compile boost on my machine and I ended up with much more than I needed!

From boost (1_69_0) the libraries included here are:

  • filesystem
  • program_options

From libusb 1.0.22 (very easy to compile)

  • libusb-1.0

From libhid

  • hidapi.lib
  • hid.lib

Compile Boost (but only filesystem and program_options)

Since all that is required for a Windows build of BSL-Scripter is filesystem and program_options is makes sense to compile only those parts of the boost library. From a Visual Studio 2017 command prompt:

cd \Users\User\workspace\boost_1_69_0
bootstrap.bat
.\b2 toolset=msvc-14.1 --with-system --with-filesystem ^
    --with-program_options toolset=msvc-14.1 address-model=32 ^
    runtime-link=static threading=multi variant=debug,release

The .\b2 line should be all the same line, the ^ characters allow multiline entry in the Windows Command Prompt.

The above command will build three libraries in 32bit release and debug mode. The library files and headers will be in \Users\User\workspace\boost_1_69_0\stage which can be used in your Visual Studio configuration.

References

Setup Directories for Boost Headers

If you have not already, download boost (you need the headers):

Open the properties for the project by right clicking on BSL-Scripter and clicking Properties, then in VC++ directories change this line:

C:\Users\User\workspace4\boost_1_69_0;$(SolutionDir)ThirdParty\include;$(IncludePath)

To match where your boost was extracted to. All the libraries are included in this repository for this version of boost (probably not advisable to mix versions).

Now the code should compile, at least for "Debug" mode. To compile in Release mode the same steps must be taken when the Release mode is active.

bslscripter-vs2017's People

Contributors

drcrane avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

dofater

bslscripter-vs2017's Issues

BSL-Scripter Fails to work for the MSP432E401Y

The current version fails to work for the MSP432E401Y UART0 BSL Update mode. Reading through the code and stepping through it it reveals strange coding (looks like code from a SW tool ) in the file UartE4xxComm.cpp (method receiveBuffer). I did modify the code the following way and now it operates correctly on the PC (Windows 10) host system:

std::vector<uint8_t>* UartCommE4xx::receiveBuffer(int32_t size) {
waitReceive(0, size);

if (needGetStatus) {
	//Send status
	transmitE4xxGetStatus();

	//Get status
	waitReceive(SIZE_ACK_RESPONSE, (SIZE_ACK_RESPONSE + SIZE_GET_STATUS));

	//Send host ACK
	transmitE4xxHostAck();
	std::this_thread::sleep_for(std::chrono::microseconds(10));
	needGetStatus = false;
}
return &rxUartBuffer;

}

I do not know what the intension of the author was or is. However using boost:asio the C++ library should abstract and unite the usage of the serial port on different host platforms.

Thank you for your work!
br
Markus

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.