Programming and Debugging with the TI Launchpad on Mac OS X

Total Page:16

File Type:pdf, Size:1020Kb

Programming and Debugging with the TI Launchpad on Mac OS X Programming and Debugging with the TI Launchpad on Mac OS X Scope: These instructions are a summary of the steps I followed to start using the TI Launchpad under Mac OS X. This isnʼt as straightforward as it sounds, but it is possible develop code, debug and program from within Mac OS X without having to boot into a copy of Windows (these instructions can also be extended to most variants of Linux). Introduction: The TI Launchpad is Texas Instruments low cost microcontroller development board for the MSP430 microcontroller line. These microcontrollers are very low power, very low cost and reasonably fast. There are many variants in each class, each with different peripherals and features. <rant>Unfortunately, TI doesnʼt officially support anything except Windows, and the limited support for Mac they do offer extends to a broken driver for communicating through USB. Furthermore, TIʼs closed source policy hampers clever people trying to write open source compilers, debuggers and programmers. I canʼt speak to the true reasons for this, but my cynical side would say that they do this to force people to use their size limited free version of IAR or Code Composer (~$500 for a single seat license with the unrestricted version). Contrast this policy with the free development tools for Windows by ATMEL for its AVR line, and the well developed, open source AVR GCC toolchain that forms the basis of the Wiring environment used by the Arduino. </rant> Arguments about operating systems and open versus closed source software aside, the MSP430 line of microcontrollers are actually quite attractive (for more on the open versus closed source debate or what the best operating system is, please refer to any public forum on the internet)(Be aware that Godwinʼs law is accelerated in these sorts of discussions.). In comparison to the AVR line of microcontrollers, the MSP430 line has the following advantages: a smaller instruction set, 16 versus 8 bits, easier flash access, lower power consumption and lower cost. Its (relative) simplicity and low cost were the main reasons behind using it for this course. Getting under the hood of your Mac: Mac OS X is a great operating system for surfing the web, editing pictures, listening music, and all the other stuff that people actually use their computers for these days. At its core, however, it is really just a variant of Unix (BSD, actually), and all that power user functionality you associate with Unix/ Linux is still there. If youʼve never opened up Terminal, head to /Applications/Utilities/ and run Terminal.app. You should have a window like this open up: A Terminal Window If youʼve never used the command line before, then youʼve got some learning to do. Start here: http://www.doc.ic.ac.uk/~wjk/Unixintro/ or http://laplace.physics.ubc.ca/210/ Notes_unix.html . You need to be comfortable working at the command line to get the MSP430 development tools installed. If this is a real problem, then you may want to reconsider microcontroller software development as a vocation. Once youʼve got a handle on the terminal, you need to set up your Mac to develop software. To do any development on a Mac, you need to install the XCode developer tools. These arenʼt installed be default, but they are included with every Mac on the install disk, or you can register as a developer with Apple and download the latest version (itʼs free to register). This should be a straightforward install, since itʼs been nicely packaged by Apple, so I wonʼt go into details. The next piece of software you need to install is fink. Fink is a package manager for Mac that allows you to easily install open source programs on your computer without having to download, compile and install all of the libraries and software by hand. It is possible to install software from source by hand in the same way it is possible to build your own car from scratch. Weʼll let fink do the heavy lifting. The fink website has a very good set of directions for installing fink from source (you just installed the Xcode developer tools, you may as well use them): http://www.finkproject.org/download/srcdist.php Some notes: "-The ./bootstrap call will ask you a lot of questions. The default answers should be fine for most people. "-There will be a lot of text streaming across the screen as the software compiles. This is good, but it does take a while. When the process is finished, be sure to read the last few lines to be sure there were no errors. If there are, you!ll have to sort them out before you continue. "-Be sure to close the terminal window and re-open it after the /sw/bin/ pathsetup.sh command, or the next commands won!t work. "-fink selfupdate-rsync takes awhile to run, be patient. "-When you run fink, it may ask you for your user password. This is expected, since it is writing to system files that are normally protected from the user. Now that you have fink installed, we are almost ready to install the MSP430 development tools. However, these tools are still a little buggy, so in the fink database, they!ve been labeled as unstable. This doesn!t mean they don!t work, it just means that they haven!t been around long enough to be thoroughly tested. However, it does require a little more work on our part to get them working. We need to tell fink that we want to work with the unstable packages. To do this, we type the following: fink configure This will run you through a series of questions. You can choose the defaults for most of them, except one that asks if you want to use unstable packages. For this, choose y (yes). After you!ve configured fink to use unstable packages, update the package list: fink selfupdate Now, we are ready to install the msp430 development tools (the “toolchain”). Run the following fink command to get the packages: fink install msp430-libc msp430-gdb mspdebug You are almost ready to plug in the device and connect. The only thing that is missing is the USB driver to communicate with the Launchpad. This is the only bit of software that TI provides (unsupported) for the Mac, and it doesn!t work. We need to rely on reverse engineered tools from clever people. Download and install the MSP430LPCDC 1.0.3b.zip driver from http://www.mediafire.com/?7zurj5ncg5794 . This has been nicely packaged with a Mac installer, allows you to communicate the the USB as if it were a serial port to the chip and also allows you to program and debug the chip. At this point, if you plug in the the launchpad, you should be able to communicate with it. With the board plugged in, type the following: mspdebug rf2500 This should bring cause a lot of text to flow by, and leave you at a command that looks like: (mspdebug) Type exit to leave the program. To check if we have the compilers and debuggers, type the following on separate lines: msp430-gcc --version msp430-as --version msp430-gdb --version If any of these commands gives an error, there was a problem somewhere along the line that needs to be fixed, and you won!t be able to compile code for the microcontroller until you do. At this point, you could open up your favorite text editor, paste in some code, compile and link at the command line, and finally upload it to the microcontroller. Be aware that the gcc compilers have a slightly different syntax than the IAR or code composer compilers, especially for interrupt routines. There are notes at the bottom of this document on how to switch between the different compilers. However, the C language is standardized, so using code examples from other compilers very instructive. It is also possible to compile assembly in gcc, but the Code Composer or IAR examples will be difficult to use because the directives of the various assemblers are very different (the assembly language is the same in each case, but the book keeping conventions are different). A trick to get the gcc directives is to write an empty C program and then look at the intermediate assembly that the compiler produces. Use this as a template for your assembly program, and start adding your own code. Synopsis: Step 1: Install Xcode developer Tools. Step 2: Install fink from source. Step 3: Set up fink to use unstable packages. Step 4: Install the msp430 development toolchain. Step 5: Install the USB driver. Step 6: Check the driver and toolchain work. Links: Unix Intro: http://www.doc.ic.ac.uk/~wjk/Unixintro/ Matt Choptuik!s Unix Intro: http://laplace.physics.ubc.ca/210/Notes_unix.html Wikipedia Page on the MSP430 microcontroller: Tons of good information and history of the MSP430 16 bit microcontroller. http://en.wikipedia.org/wiki/TI_MSP430 Launchpad Wiki: A good place to start getting information on the TI Launchpad and the MSP430 microcontroller line. http://processors.wiki.ti.com/index.php/MSP430_LaunchPad_(MSP-EXP430G2) Getting Started with the MSP430 Launchpad: A video tutorial and workbook to get started using the MSP430 launchpad. Based around windows and their Code Composer software, but it gives you a really solid foundation and worked examples. http://processors.wiki.ti.com/index.php/ Getting_Started_with_the_MSP430_LaunchPad_Workshop mspdebug: Open source version of msp430-gdbproxy; a tool that allows you to talk to the microcontroller using the Launchpad board through spy by wire (it!s actually more than that, but that!s what we use it for.
Recommended publications
  • ELASTIC SEARCH – MAGENTO 2 COPYRIGHT 2018 MAGEDELIGHT.COM Page 2 of 6
    Elasticsearch - Magento 2 INSTALLATION GUIDE MAGEDELIGHT.COM Installation: Before installing the extension, please make below notes complete: Backup your web directory and store database. Elasticsearch – M2 Installation: Install elasticsearch on your webserver, here is the reference link http://blog.magedelight.com/how-to- install-elasticsearch-on-centos-7-ubuntu-14-10-linux-mint-17-1/ Unzip the extension package file into the root folder of your Magento 2 installation. Install elastic search library o Back up your current composer.json cp composer.json composer.json.bk o Edit composer.json file and add below code to required clause. “elasticsearch/elasticsearch” : “~5.0” o Update dependencies composer update Connect to SSH console of your server: o Navigate to root folder of your Magento 2 setup o Run command php -f bin/magento module:enable Magedelight_Elasticsearch o Run command php -f bin/magento setup:upgrade o Run command php -f bin/magento setup:static-content:deploy Flush store cache; log out from the backend and log in again ELASTIC SEARCH – MAGENTO 2 COPYRIGHT 2018 MAGEDELIGHT.COM Page 2 of 6 License Activation: Note: This section is not applicable for extension purchased from Magento Marketplace How to activate the extension? Step 1: Go to Admin Control Panel >Stores > Configuration > Magedelight > Elasticsearch > License Configuration, you will see Serial Key and Activation key fields in License Configuration. Please enter the keys you received on purchase of the product and save configuration. Step 2: Expand “General Configuration” tab, you will find list of domains for which license is purchased and configured, now select the domain you are going to use, you can select multiple domain by clicking “Ctrl + Select”.
    [Show full text]
  • PHP: Composer Orchestrating PHP Applications
    PHP: Composer Orchestrating PHP Applications Dayle Rees This book is for sale at http://leanpub.com/composer-php This version was published on 2016-05-16 This is a Leanpub book. Leanpub empowers authors and publishers with the Lean Publishing process. Lean Publishing is the act of publishing an in-progress ebook using lightweight tools and many iterations to get reader feedback, pivot until you have the right book and build traction once you do. © 2016 Dayle Rees Tweet This Book! Please help Dayle Rees by spreading the word about this book on Twitter! The suggested tweet for this book is: I’m reading Composer: Orchestrating PHP Applications by @daylerees - https://leanpub.com/composer-php #composer The suggested hashtag for this book is #composer. Find out what other people are saying about the book by clicking on this link to search for this hashtag on Twitter: https://twitter.com/search?q=#composer Contents Acknowledgements ..................................... i Errata ............................................. ii Feedback ............................................ iii Translations ......................................... iv 1. Introduction ....................................... 1 2. Concept .......................................... 2 Dependency Management ............................... 2 Class Autoloading .................................... 3 Team Collaboration ................................... 3 3. Packages ......................................... 5 Application Packages .................................. 5 Dependency
    [Show full text]
  • Also Includes Slides and Contents From
    The Compilation Toolchain Cross-Compilation for Embedded Systems Prof. Andrea Marongiu ([email protected]) Toolchain The toolchain is a set of development tools used in association with source code or binaries generated from the source code • Enables development in a programming language (e.g., C/C++) • It is used for a lot of operations such as a) Compilation b) Preparing Libraries Most common toolchain is the c) Reading a binary file (or part of it) GNU toolchain which is part of d) Debugging the GNU project • Normally it contains a) Compiler : Generate object files from source code files b) Linker: Link object files together to build a binary file c) Library Archiver: To group a set of object files into a library file d) Debugger: To debug the binary file while running e) And other tools The GNU Toolchain GNU (GNU’s Not Unix) The GNU toolchain has played a vital role in the development of the Linux kernel, BSD, and software for embedded systems. The GNU project produced a set of programming tools. Parts of the toolchain we will use are: -gcc: (GNU Compiler Collection): suite of compilers for many programming languages -binutils: Suite of tools including linker (ld), assembler (gas) -gdb: Code debugging tool -libc: Subset of standard C library (assuming a C compiler). -bash: free Unix shell (Bourne-again shell). Default shell on GNU/Linux systems and Mac OSX. Also ported to Microsoft Windows. -make: automation tool for compilation and build Program development tools The process of converting source code to an executable binary image requires several steps, each with its own tool.
    [Show full text]
  • Riscv-Software-Stack-Tutorial-Hpca2015
    Software Tools Bootcamp RISC-V ISA Tutorial — HPCA-21 08 February 2015 Albert Ou UC Berkeley [email protected] Preliminaries To follow along, download these slides at http://riscv.org/tutorial-hpca2015.html 2 Preliminaries . Shell commands are prefixed by a “$” prompt. Due to time constraints, we will not be building everything from source in real-time. - Binaries have been prepared for you in the VM image. - Detailed build steps are documented here for completeness but are not necessary if using the VM. Interactive portions of this tutorial are denoted with: $ echo 'Hello world' . Also as a reminder, these slides are marked with an icon in the upper-right corner: 3 Software Stack . Many possible combinations (and growing) . But here we will focus on the most common workflows for RISC-V software development 4 Agenda 1. riscv-tools infrastructure 2. First Steps 3. Spike + Proxy Kernel 4. QEMU + Linux 5. Advanced Cross-Compiling 6. Yocto/OpenEmbedded 5 riscv-tools — Overview “Meta-repository” with Git submodules for every stable component of the RISC-V software toolchain Submodule Contents riscv-fesvr RISC-V Frontend Server riscv-isa-sim Functional ISA simulator (“Spike”) riscv-qemu Higher-performance ISA simulator riscv-gnu-toolchain binutils, gcc, newlib, glibc, Linux UAPI headers riscv-llvm LLVM, riscv-clang submodule riscv-pk RISC-V Proxy Kernel (riscv-linux) Linux/RISC-V kernel port riscv-tests ISA assembly tests, benchmark suite All listed submodules are hosted under the riscv GitHub organization: https://github.com/riscv 6 riscv-tools — Installation . Build riscv-gnu-toolchain (riscv*-*-elf / newlib target), riscv-fesvr, riscv-isa-sim, and riscv-pk: (pre-installed in VM) $ git clone https://github.com/riscv/riscv-tools $ cd riscv-tools $ git submodule update --init --recursive $ export RISCV=<installation path> $ export PATH=${PATH}:${RISCV}/bin $ ./build.sh .
    [Show full text]
  • Today's Howtos Today's Howtos
    Published on Tux Machines (http://www.tuxmachines.org) Home > content > today's howtos today's howtos By Roy Schestowitz Created 23/11/2020 - 3:13pm Submitted by Roy Schestowitz on Monday 23rd of November 2020 03:13:32 PM Filed under HowTos [1] An introduction to Prometheus metrics and performance monitoring | Enable Sysadmin[2] Use Prometheus to gather metrics into usable, actionable entries, giving you the data you need to manage alerts and performance information in your environment. Why does Wireshark say no interfaces found ? Linux Hint [3] Wireshark is a very famous, open-source network capturing and analyzing tool. While using Wireshark, we may face many common issues. One of the common issues is ?No Interfaces are listed in Wireshark?. Let?s understand the issue and find a solution in Linux OS.If you do not know Wireshark basic, then check Wireshark Basic first, then come back here. How to Solve ?Sub-process /usr/bin/dpkg returned an error code (1)? In Ubuntu[4] It?s not uncommon to run into an issue of broken packages in Ubuntu and other Debian-based distributions. Sometimes, when you upgrade the system or install a software package, you may encounter the ?Sub-process /usr/bin/dpkg returned an error code? error. For example, a while back, I tried to upgrade Ubuntu 18.04 and I bumped into the dpkg error as shown below. [...] This type of dpkg error points to an issue with the package installer usually caused by the interruption of an installation process or a corrupt dpkg database. Any of the above-mentioned solutions should fix this error.
    [Show full text]
  • Sebastian Neubauer [email protected] @Sebineubauer
    There Should be One Obvious Way to Bring Python into Production Sebastian Neubauer [email protected] @sebineubauer 1 Agenda • What are we talking about and why? • Delivery pipeline • Dependencies • Packaging • What is the current state? • A walk through the different possibilities • Summarizing all the pros and cons • Can we fnd a better solution? • How does the future look like? • Discussion: what could the „one obvious way“ be? 2 What are we talking about and why? 3 Delivery pipeline Production Staging/QA Testing Building/Packaging Development @sebineubauer 4 Delivery pipeline Production Staging/QA Testing Building/Packaging Development @sebineubauer 5 Development Required: • Fast iteration cycles, fast changes • Automated tests can be executed Nice to have: • Production like local environment Risks: • „Works on my machine!“ • Dirty working directory @sebineubauer 6 Delivery pipeline Production Staging/QA Testing Building/Packaging Development @sebineubauer 7 Building/Packaging Required: • Build once, use everywhere • Possibility to compile for the target systems • Build uniquely versioned, signed packages Nice to have: • Upload to an artifact repository Risks: • Misconfguration of the build environment @sebineubauer 8 Delivery pipeline Production Staging/QA Testing Building/Packaging Development @sebineubauer 9 Testing Required: • Automated • Near production like conditions • Reproducible conditions • Minimal changes for testing reasons Nice to have: • Fast feedback • Running after each commit on all branches Risks:
    [Show full text]
  • Opensource Software in Mac OS X V. Zhhuta
    Foss Lviv 2013 191 - Linux VM з Wordpress на Azure під’єднано до SQL-бази в приватному центрі обробки даних. Як бачимо, бізнес Microsoft вже дуже сильно зав'язаний на Open Source! Далі в доповіді будуть розглянуті подробиці інтероперабельності платформ з Linux Server, Apache Hadoop, Java, PHP, Node.JS, MongoDb, і наостанок дізнаємося про цікаві Open Source-розробки Microsoft Research. OpenSource Software in Mac OS X V. Zhhuta UK2 LImIted t/a VPS.NET, [email protected] Max OS X stem from Unix: bSD. It contains a lot of things that are common for Unix systems. Kernel, filesystem and base unix utilities as well as it's own package managers. It's not a secret that Mac OS X has a bSD kernel Darwin. The raw Mac OS X won't provide you with all power of Unix but this could be easily fixed: install package manager. There are 3 package manager: MacPorts, Fink and Homebrew. To dive in OpenSource world of mac os x we would try to install lates version of bash, bash-completion and few other utilities. Where we should start? First of all you need to install on you system dev-tools: Xcode – native development tools that contain GCC and libraries. Next step: bring a GIU – X11 into your system. Starting from Mac OS 10.8 X11 is not included in base-installation and it's need to install Xquartz(http://xquartz.macosforge.org). Now it's time to look closely to package managers MacPorts Site: www.macports.org Latest MacPorts release: 2.1.3 Number of ports: 16740 MacPorts born inside Apple in 2002.
    [Show full text]
  • Xcode Package from App Store
    KH Computational Physics- 2016 Introduction Setting up your computing environment Installation • MAC or Linux are the preferred operating system in this course on scientific computing. • Windows can be used, but the most important programs must be installed – python : There is a nice package ”Enthought Python Distribution” http://www.enthought.com/products/edudownload.php – C++ and Fortran compiler – BLAS&LAPACK for linear algebra – plotting program such as gnuplot Kristjan Haule, 2016 –1– KH Computational Physics- 2016 Introduction Software for this course: Essentials: • Python, and its packages in particular numpy, scipy, matplotlib • C++ compiler such as gcc • Text editor for coding (for example Emacs, Aquamacs, Enthought’s IDLE) • make to execute makefiles Highly Recommended: • Fortran compiler, such as gfortran or intel fortran • BLAS& LAPACK library for linear algebra (most likely provided by vendor) • open mp enabled fortran and C++ compiler Useful: • gnuplot for fast plotting. • gsl (Gnu scientific library) for implementation of various scientific algorithms. Kristjan Haule, 2016 –2– KH Computational Physics- 2016 Introduction Installation on MAC • Install Xcode package from App Store. • Install ‘‘Command Line Tools’’ from Apple’s software site. For Mavericks and lafter, open Xcode program, and choose from the menu Xcode -> Open Developer Tool -> More Developer Tools... You will be linked to the Apple page that allows you to access downloads for Xcode. You wil have to register as a developer (free). Search for the Xcode Command Line Tools in the search box in the upper left. Download and install the correct version of the Command Line Tools, for example for OS ”El Capitan” and Xcode 7.2, Kristjan Haule, 2016 –3– KH Computational Physics- 2016 Introduction you need Command Line Tools OS X 10.11 for Xcode 7.2 Apple’s Xcode contains many libraries and compilers for Mac systems.
    [Show full text]
  • Project 0) Inside Your 354 Directory
    Assignment 0 1. Learning Goals 1. Learn some basic unix/linux commands. 2. Start using a text editor of your choice. 3. Become familiar with the build process. 4. Modify a simple C program. 5. Learn how to submit your assignments. 2. Logistics 1. All work for this assignment is to be done on one of the department's instructional Unix/Linux machines. You are welcome to remotely login using ssh, putty, etc., but you will have to figure out those details on your own. It is not that hard really. 2. All assignments in this course will be graded only on CS departmental machines (e.g. Galapagos lab at CS first floor, Room No: 1366) running Linux Operating System. It is your responsibility to make sure that your code runs on these machines correctly. 3. General Advice If you are not using the CS departmental machines with Linux Operating System and would like to code using your laptop then: 1. Please DON’T use an Integrated Development Environment (IDE) for learning to code in C. It’ll hide many of the low­level details from you. You can become a good C programmer only if you understand all these low­level details. 2. Avoid using Windows Operating System for writing C code since the compiler that we’ll use for grading your assignments is gcc (GNU C Compiler) which is a Unix/Linux based C compiler. 3. If you still want to use a computer which already has a Windows OS, then you should have a virtual machine (VMware or Virtualbox) to run a Linux OS or Cygwin (which contains tools like gcc) installed on your Windows machine.
    [Show full text]
  • About Basictex-2021
    About BasicTeX-2021 Richard Koch January 2, 2021 1 Introduction Most TeX distributions for Mac OS X are based on TeX Live, the reference edition of TeX produced by TeX User Groups across the world. Among these is MacTeX, which installs the full TeX Live as well as front ends, Ghostscript, and other utilities | everything needed to use TeX on the Mac. To obtain it, go to http://tug.org/mactex. 2 Basic TeX BasicTeX (92 MB) is an installation package for Mac OS X based on TeX Live 2021. Unlike MacTeX, this package is deliberately small. Yet it contains all of the standard tools needed to write TeX documents, including TeX, LaTeX, pdfTeX, MetaFont, dvips, MetaPost, and XeTeX. It would be dangerous to construct a new distribution by going directly to CTAN or the Web and collecting useful style files, fonts and so forth. Such a distribution would run into support issues as the creators move on to other projects. Luckily, the TeX Live install script has its own notion of \installation packages" and collections of such packages to make \installation schemes." BasicTeX is constructed by running the TeX Live install script and choosing the \small" scheme. Thus it is a subset of the full TeX Live with exactly the TeX Live directory structure and configuration scripts. Moreover, BasicTeX contains tlmgr, the TeX Live Manager software introduced in TeX Live 2008, which can install additional packages over the network. So it will be easy for users to add missing packages if needed. Since it is important that the install package come directly from the standard TeX Live distribution, I'm going to explain exactly how I installed TeX to produce the install package.
    [Show full text]
  • X86 Disassembly Exploring the Relationship Between C, X86 Assembly, and Machine Code
    x86 Disassembly Exploring the relationship between C, x86 Assembly, and Machine Code PDF generated using the open source mwlib toolkit. See http://code.pediapress.com/ for more information. PDF generated at: Sat, 07 Sep 2013 05:04:59 UTC Contents Articles Wikibooks:Collections Preface 1 X86 Disassembly/Cover 3 X86 Disassembly/Introduction 3 Tools 5 X86 Disassembly/Assemblers and Compilers 5 X86 Disassembly/Disassemblers and Decompilers 10 X86 Disassembly/Disassembly Examples 18 X86 Disassembly/Analysis Tools 19 Platforms 28 X86 Disassembly/Microsoft Windows 28 X86 Disassembly/Windows Executable Files 33 X86 Disassembly/Linux 48 X86 Disassembly/Linux Executable Files 50 Code Patterns 51 X86 Disassembly/The Stack 51 X86 Disassembly/Functions and Stack Frames 53 X86 Disassembly/Functions and Stack Frame Examples 57 X86 Disassembly/Calling Conventions 58 X86 Disassembly/Calling Convention Examples 64 X86 Disassembly/Branches 74 X86 Disassembly/Branch Examples 83 X86 Disassembly/Loops 87 X86 Disassembly/Loop Examples 92 Data Patterns 95 X86 Disassembly/Variables 95 X86 Disassembly/Variable Examples 101 X86 Disassembly/Data Structures 103 X86 Disassembly/Objects and Classes 108 X86 Disassembly/Floating Point Numbers 112 X86 Disassembly/Floating Point Examples 119 Difficulties 121 X86 Disassembly/Code Optimization 121 X86 Disassembly/Optimization Examples 124 X86 Disassembly/Code Obfuscation 132 X86 Disassembly/Debugger Detectors 137 Resources and Licensing 139 X86 Disassembly/Resources 139 X86 Disassembly/Licensing 141 X86 Disassembly/Manual of Style 141 References Article Sources and Contributors 142 Image Sources, Licenses and Contributors 143 Article Licenses License 144 Wikibooks:Collections Preface 1 Wikibooks:Collections Preface This book was created by volunteers at Wikibooks (http:/ / en.
    [Show full text]
  • Webroot Secureanywhere® Business – DNS Protection Apache License 2.0 • Aws-Sdk-Net Copyright © Amazon.Com, Inc. Apache
    Webroot SecureAnywhere® Business – DNS Protection Apache License 2.0 • aws-sdk-net Copyright © Amazon.com, Inc. Apache License Version 2.0, January 2004 TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. “License” shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. “Licensor” shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. “Legal Entity” shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, “control” means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. “You” (or “Your”) shall mean an individual or Legal Entity exercising permissions granted by this License. “Source” form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. “Object” form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. “Work” shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).
    [Show full text]