• Join
  • Sign In with my.TI Login
Texas Instruments
  • Products
  • Applications
  • Tools & Software
  • Support & Community
  • Sample & Buy
  • About TI
Sample & Purchase Cart Sample & Purchase Cart
  • Search
  • Advanced
TI E2E™ Community
  • Support Forums
  • Blogs
  • Groups
  • Videos
  • 简体中文
  • More ...
TI Home » TI E2E Community » Support Forums » Embedded Software » StarterWare » StarterWare forum » Board support package for the Beaglebone
Share
StarterWare
  • Forum
Options
  • Subscribe via RSS

Forums

Board support package for the Beaglebone

This question is not answered
Aijaz Baig
Posted by Aijaz Baig
on Feb 13 2012 03:20 AM
Prodigy130 points

Hello there

Finally I got myself a beaglebone. I believe the SD card has been flashed with the Angstrom image already. But I am more interested in learning how to write what they call the 'BSP' (board support package). Its been quite a while (more than 8 years :|) since ive done any serious embedded development so forgive me in case my questions seem to be somewhat too rudimentary. Im trying to scrape the rust off now :)

Now beginning with the questions, here they are (questions are in bold, in italics and underlined like this):

Ive come to think that starterware is one such implementation of the BSP. Am I right about it?

Additionally, is it a must to use Code composer studio for writing it? As far as I know, of the many components of the software, we have the compiler and the debugger. But is it possible to use generic tools like the bare metal codesourcery gcc toolchain for the compilation and gdb for the debugging?

Additionally how different is the starterware from the, what TI refers to as the PSP (platform)?The PSP, has u-boot and the linux kernel as its components, which is suggestive of the fact that the PSP is a much more elaborate operating environment than the starterware.

Can the starterware be instead used to boot another component, like a minimal OS? That makes it somewhat like u-boot but more like its frugal cousin. Am I right about it?

Starterware seems to also include tools which can be used to flash the SD card. So does this tool work just like a flash writer irrespective of the contents that are being written?

Lastly, some drivers would need to be installed in order to connect the bone to the host machine. Ive got a windows x64 machine. So will the driver that is mentioned in the getting started page suffice (bone_drv64 or something like that) or will I need something else as well?

Ive got more questions but lets take it one at a time :)

Keen to hear from folks here

StarterWare beaglebone CodeSourcery gcc quickstart psp getting started bsp board suport package
Report Abuse
  • Reply
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
All Replies
  • Madhvapathi Sriram
    Posted by Madhvapathi Sriram
    on Feb 13 2012 03:42 AM
    Intellectual465 points

    Ajiaz,

    I leave some of the intricate details to TI folks. But some inputs here from my experience.

    Aijaz Baig
    Ive come to think that starterware is one such implementation of the BSP. Am I right about it?

    Yes. It includes bootstrap code, low level device driver library and some utilities - flashers etc.

    Aijaz Baig
    Additionally, is it a must to use Code composer studio for writing it? As far as I know, of the many components of the software, we have the compiler and the debugger. But is it possible to use generic tools like the bare metal codesourcery gcc toolchain for the compilation and gdb for the debugging?

    This is not entirely correct. Suppose you decide to used, SD card boot mode, you could just use code sourcery GCC for building your app, and then boot it to check if it works. You could use UART messages splattered in your code for debugging (linux printk stlye debugging).  Optionally, you can use uboot in UART boot mode, load your app/bootloader and run/flash from there. Yes, ofcourse CCS makes life lot easier by providing a debugger. But it is optional.

    Aijaz Baig
    Additionally how different is the starterware from the, what TI refers to as the PSP (platform)?The PSP, has u-boot and the linux kernel as its components, which is suggestive of the fact that the PSP is a much more elaborate operating environment than the starterware.

    The difference is huge. Starterware is just a KISS (Keep It Simply Stupid) sort of a code. It really helps if you have simple applications and still want some level of BSP ready for you. The driver library is very low level, no-MMU enabled (or is it?), very thin framework. So, let your application chose it.

    Aijaz Baig
    Can the starterware be instead used to boot another component, like a minimal OS? That makes it somewhat like u-boot but more like its frugal cousin. Am I right about it?

    Oh yes, I dont think it anyway stops from booting a component. For example in SD card mode, name anything as APP and flash it it just boots it up. Just take care of relocation addresses etc.

    Thanks and regards,

    Madhvapathi Sriram

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Aijaz Baig
    Posted by Aijaz Baig
    on Feb 13 2012 05:26 AM
    Prodigy130 points

    Madhvapathi Sriram
    This is not entirely correct. Suppose you decide to used, SD card boot mode, you could just use code sourcery GCC for building your app, and then boot it to check if it works. You could use UART messages splattered in your code for debugging (linux printk stlye debugging).  Optionally, you can use uboot in UART boot mode, load your app/bootloader and run/flash from there. Yes, ofcourse CCS makes life lot easier by providing a debugger. But it is optional.

    Yes I do plan on using SD card boot since beaglebone has hard coded the SYSBOOT pins in a way that it starts to boot from the SD card as its first choice (or is it?) You have not mentioned how would I go about 'loading' the binary (ELF I suppose?) into the 'right' address or is it that the SD card itself is 'found' at a fixed address so that merely loading it into the SD card means that the initial ROM loader would have done the address remapping and the like?

    If not is there a tool to take of the address relocation issues? I believe ill have to write a linker script. Can someone elaborate?

    Madhvapathi Sriram
    The difference is huge. Starterware is just a KISS (Keep It Simply Stupid) sort of a code. It really helps if you have simple applications and still want some level of BSP ready for you. The driver library is very low level, no-MMU enabled (or is it?), very thin framework. So, let your application chose it.

    Yep, thanks for clarifying.

    Madhvapathi Sriram
    Oh yes, I dont think it anyway stops from booting a component. For example in SD card mode, name anything as APP and flash it it just boots it up. Just take care of relocation addresses etc.

    Could you be a bit more elaborate here? Or can you point me to a guide or something? I plan on reading the flashing and booting guide for starterware. Is there something else that might be useful reading? 

    Is there a plan which shows me how to do it with Code Composer studio?

    Additionally what drivers would I need to have my beaglebone talk to my host machine (host architecture is amd64 also referred to as x64)?

    Does the CCS installation already adds those drivers or will I have to install them seperately?

    Keen to hear again and thanks for ur prompt reply

     

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
TI E2E™ Community
  • Support Forums
  • Blogs
  • Videos
  • Groups
  • Site Support & Feedback
  • Settings
TI E2E™ Community Groups
  • TI University Program
  • Make the Switch
  • Microcontroller Projects
  • Motor Drive & Control
Other Communities
  • Deyisupport
  • Designsomething.org
  • beagleboard.org
  • TI on Element 14
  • TI on TechXchangeSM
Other Technical & Support Resources
  • WEBENCH® Design Center
  • Product Information Centers
  • Technical Documents
  • TI Design Network
  • TI Technical Articles
  • TI Training

All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.

Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Terms of Use of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms of Use of this site. TI, its suppliers and providers of content reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.

Follow Us Texas Instruments on Facebook Texas Instruments on Twitter Texas Instruments on LinkedIn Texas Instruments on Google+
TI Worldwide | Contact Us | my.TI Login | Site Map | Corporate Citizenship | mobile m.ti.com (Mobile Version)

TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs and
embedded processors, along with software, tools and the industry’s largest sales/support staff.

© Copyright 1995-2013 Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy Policy | Terms of Use