Jump to content

Using pre-compiled library in project?

Recommended Posts

I am using the usblib and driverlib libraries out of the Tivaware package in an otherwise open source project.  If I'm reading TI's licensing terms correctly, we are not allowed to distribute these libraries in source form as part of OSS projects.  I do not however see a restriction limiting distribution of the libraries in compiled form.


If I wanted to distribute my code with a GUI program that modifies and then compiles that code, I would prefer not to force end users to sign up for an account with TI to download and install Tivaware.  I am however relatively new to programming and compilers.


I am guessing there is some method to use the libraries in a pre-compiled form when compiling the main code.  The problem is, if it is possible, I have no idea how to do it.


The other option I can think of is to store configuration information in EEPROM and select which USB HID devices to present and what I/O subroutines to execute based on configuration flags.  I would then have to implement a USB virtual Serial device and EEPROM update code into the project.  This seems like a less than ideal solution to me however, as rather than using compiler flags to only include the subroutines needed for a particular configuration, the code on chip would have to contain all possible options and select between them at run-time.  As this is a somewhat speed sensitive project, I would prefer not to have to slow the whole process down and bloat the code by including selection logic at run-time....


Would anyone be able to tell me if using pre-compiled libraries is possible, and if so how to do so?



Link to post
Share on other sites

There is the below line here:



All TivaWare for C Series software has a free license and allows royalty-free use so users can create and build full-function, easy-to-maintain code. TivaWare for C Series is written entirely in C to make development and deployment efficient and easy.


All royalty-free, the TivaWare for C Series libraries offer users the flexibility of working with sample applications or the freedom to create their own projects. The Graphics Library includes a set of graphics primitives and a widget set for creating graphical user interfaces on Tiva C Series-based microcontroller boards that have a graphical display. The Peripheral Driver Library offers an extensive set of functions for controlling the peripherals found on various TM4C devices. The USB Library quickly enables efficient USB host, USB device, and USB on-the-go operation.

Link to post
Share on other sites

tivaware lists driverlib as TI BSD, which may be distributed in source form.  usblib has a more traditional license.  From clause 1a(iv) I suspect usblib could be distributed in binary form as part of an application but not in binary form as a linkable library.  I would consult qualified legal counsel before doing that, though.

Link to post
Share on other sites

This recent post on the TI Tiva forum might also help explain why you might see differences in the licensing.




So basically, most code should have been move to BSD, but some of the files have not been updated to reflect this situation. 


So to be absolutely sure that the bits you want are BSD, I'd post on the forum to confirm, perhaps following up on the post I have linked above.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...