http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/22b7d022/mkdocs/search_index.json ---------------------------------------------------------------------- diff --git a/mkdocs/search_index.json b/mkdocs/search_index.json index 13a29a4..6582a00 100644 --- a/mkdocs/search_index.json +++ b/mkdocs/search_index.json @@ -217,7 +217,7 @@ }, { "location": "/newt/install/newt_mac/", - "text": "Install newt tool on your Mac\n\n\nGetting your Mac Ready\n\n\nIf you want to build the \nnewt\n tool from its source code, follow the following steps:\n\n\n\n\n1. Install Homebrew on your Mac OS X\n\n\n\n\nDo you have Homebrew? If not, open a terminal on your Mac and paste the following at a Terminal prompt. It will ask you for your sudo password.\n\n\n\n\n $ ruby -e \n$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)\n\n\n\n\n\n\nAlternatively, you can just extract (or \ngit clone\n) Homebrew and install it to \n/usr/local\n.\n\n\n\n\n2. Install Go, the programming language\n\n\n\n\n\n\nGo language enviroment dictates a directory structure. Known in Go parlanace as workspace, it must contain three sibling directories with the directory names src, pkg and bin, as explained below. \n\n\n\n\n\n\nsrc contains Go source files organized into packages (one package per directory),\n\n\n\n\n\n\npkg contains package objects, and\n\n\ n\n\n\n\nbin contains executable commands.\n\n\n\n\n\n\nThe GOPATH environment variable specifies the location of your workspace. To setup this workspace environment, create a 'dev' directory and then a 'go' directory under it. Set the GOPATH environment variable to this directory where you will soon clone the \nnewt\n tool repository.\n\n\n\n\n\n\n\n\n $ cd $HOME\n $ mkdir -p dev/go \n $ cd dev/go\n $ export GOPATH=`pwd`\n\n\n\n\n\n(Note that you need to add export statements to ~/.bash_profile to export variables permanently. Don't forget to source the file for the change to go into effect.)\n\n\n\n\n $ vi ~/.bash_profile\n $ source ~/.bash_profile\n\n\n\n\n\n\n\n\n\nNext, using \nbrew\n, install Go. When installed, Go offers you as a developer a language enviroment (to compile Go code), construct Go packages (to assemble Go packages) and import Go code (from github). In the next step, you will use the Go commands to import \nnewt\n repo into your local Go environment.\n\n\n\n\n $ brew install go\n ==\n \n ...\n ... \n ==\n *Summary*\n \ud83c\udf7a /usr/local/Cellar/go/1.5.1: 5330 files, 273M\n\n\n\n\n\nAlternatively, you can download the Go package directly from (https://golang.org/dl/) instead of brewing it. Install it in /usr/local directory.\n\n\n\n\n3. Create local repository\n\n\n\n\nUse Go commands to copy the directory (currently the ASF incubator directory). Be patient as it may take a minute or two. Check the directories installed.\n\n\n\n\n $ go get mynewt.apache.org/newt/...\n\n\n\n\n\n\n\nCheck that newt.go is in place.\n\n\n\n\n $ ls $GOPATH/src/mynewt.apache.org/newt\n DISCLAIMER NOTICE newt newtvm viper\n LICENSE README.md newtmgr util yaml\n\n\n\n\n\n\n\n4. Build the Newt tool\n\n\n\n\nUse Go to run the newt.go program to build the \nnewt\n tool. The command \ngo install\n compiles and writes th e resulting executable to an output file named \nnewt\n, which is then installed, along with its dependencies, in $GOPATH/bin.\n\n\n\n\n $ cd $GOPATH/src/mynewt.apache.org/newt/newt\n $ go install\n $ ls \n$GOPATH\n/bin/\n newt newtmgr newtvm\n\n\n\n\n\n\n\n\n\nAt this point, you can try using \nnewt\n. For example, check for the version number by typing 'newt version'. See all the possible commands available to a user of newt by typing 'newt -h'.\n\n\n\n\n(Note: If you are going to be modifying the \nnewt\n often and going to be compile the program every time you call it, you will want to store the command in a variable in your .bash_profile. So type in \nexport newt=\"go run $GOPATH/mynewt.apache.org/newt/newt/newt.go\"\n in your .bash_profile and execute it by calling \n$newt\n at the prompt instead of \nnewt\n. Essentially, \n$newt\n calls \ngo run\n which runs the compiled binary directly without producing an executable. Don't forget to reload the up dated bash profile by typing \nsource ~/.bash_profile\n at the prompt! )\n\n\n $ newt version\n Newt version: 1.0\n $ newt -h\n Newt allows you to create your own embedded project based on the Mynewt\n operating system. Newt provides both build and package management in a\n single tool, which allows you to compose an embedded workspace, and set\n of projects, and then build the necessary artifacts from those projects.\n For more information on the Mynewt operating system, please visit\n https://www.github.com/mynewt/documentation.\n\n Please use the newt help command, and specify the name of the command\n you want help for, for help on how to use a specific command\n\n Usage:\n newt [flags]\n newt [command]\n\n Examples:\n newt\n newt help [\ncommand-name\n]\n For help on \ncommand-name\n. If not specified, print this message.\n\n\n Available Commands:\n version Display the Newt version number.\n target Set and view target information\n egg Commands to list and inspect eggs on a nest\n nest Commands to manage nests \n clutches (remote egg repositories)\n help Help about any command\n\n Flags:\n -h, --help=false: help for newt\n -l, --loglevel=\nWARN\n: Log level, defaults to WARN.\n -q, --quiet=false: Be quiet; only display error output.\n -s, --silent=false: Be silent; don\nt output anything.\n -v, --verbose=false: Enable verbose output when executing commands.\n\n\n Use \nnewt help [command]\n for more information about a command.", + "text": "Install newt tool on your Mac\n\n\nGetting your Mac Ready\n\n\nIf you want to build the \nnewt\n tool from its source code, follow the following steps:\n\n\n\n\n1. Install Homebrew on your Mac OS X\n\n\n\n\nDo you have Homebrew? If not, open a terminal on your Mac and paste the following at a Terminal prompt. It will ask you for your sudo password.\n\n\n\n\n $ ruby -e \n$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)\n\n\n\n\n\n\nAlternatively, you can just extract (or \ngit clone\n) Homebrew and install it to \n/usr/local\n.\n\n\n\n\n2. Install Go, the programming language\n\n\n\n\n\n\nGo language environment dictates a directory structure. Known in Go parlanace as workspace, it must contain three sibling directories with the directory names src, pkg and bin, as explained below. \n\n\n\n\n\n\nsrc contains Go source files organized into packages (one package per directory),\n\n\n\n\n\n\npkg contains package objects, and\n\n \n\n\n\n\nbin contains executable commands.\n\n\n\n\n\n\nThe GOPATH environment variable specifies the location of your workspace. To setup this workspace environment, create a 'dev' directory and then a 'go' directory under it. Set the GOPATH environment variable to this directory where you will soon clone the \nnewt\n tool repository.\n\n\n\n\n\n\n\n\n $ cd $HOME\n $ mkdir -p dev/go \n $ cd dev/go\n $ export GOPATH=`pwd`\n\n\n\n\n\n(Note that you need to add export statements to ~/.bash_profile to export variables permanently. Don't forget to source the file for the change to go into effect.)\n\n\n\n\n $ vi ~/.bash_profile\n $ source ~/.bash_profile\n\n\n\n\n\n\n\n\n\nNext, using \nbrew\n, install Go. When installed, Go offers you as a developer a language environment (to compile Go code), construct Go packages (to assemble Go packages) and import Go code (from github). In the next step, you will use the Go commands to import \nnewt\n rep o into your local Go environment.\n\n\n\n\n $ brew install go\n ==\n \n ...\n ... \n ==\n *Summary*\n \ud83c\udf7a /usr/local/Cellar/go/1.5.1: 5330 files, 273M\n\n\n\n\n\nAlternatively, you can download the Go package directly from (https://golang.org/dl/) instead of brewing it. Install it in /usr/local directory.\n\n\n\n\n3. Create local repository\n\n\n\n\nUse Go commands to copy the directory (currently the ASF incubator directory). Be patient as it may take a minute or two. Check the directories installed.\n\n\n\n\n $ go get mynewt.apache.org/newt/...\n\n\n\n\n\n\n\nCheck that newt.go is in place.\n\n\n\n\n $ ls $GOPATH/src/mynewt.apache.org/newt\n DISCLAIMER NOTICE newt newtvm viper\n LICENSE README.md newtmgr util yaml\n\n\n\n\n\n\n\n4. Build the Newt tool\n\n\n\n\nUse Go to run the newt.go program to build the \nnewt\n tool. The command \ngo install\n compiles and writes the resulting executable to an output file named \nnewt\n, which is then installed, along with its dependencies, in $GOPATH/bin.\n\n\n\n\n $ cd $GOPATH/src/mynewt.apache.org/newt/newt\n $ go install\n $ ls \n$GOPATH\n/bin/\n newt newtmgr newtvm\n\n\n\n\n\n\n\n\n\nAt this point, you can try using \nnewt\n. For example, check for the version number by typing 'newt version'. See all the possible commands available to a user of newt by typing 'newt -h'.\n\n\n\n\n(Note: If you are going to be modifying the \nnewt\n often and going to be compile the program every time you call it, you will want to store the command in a variable in your .bash_profile. So type in \nexport newt=\"go run $GOPATH/mynewt.apache.org/newt/newt/newt.go\"\n in your .bash_profile and execute it by calling \n$newt\n at the prompt instead of \nnewt\n. Essentially, \n$newt\n calls \ngo run\n which runs the compiled binary directly without producing an executable. Don't forget to reload the updated bash profile by typing \nsource ~/.bash_profile\n at the prompt! )\n\n\n $ newt version\n Newt version: 1.0\n $ newt -h\n Newt allows you to create your own embedded project based on the Mynewt\n operating system. Newt provides both build and package management in a\n single tool, which allows you to compose an embedded workspace, and set\n of projects, and then build the necessary artifacts from those projects.\n For more information on the Mynewt operating system, please visit\n https://www.github.com/mynewt/documentation.\n\n Please use the newt help command, and specify the name of the command\n you want help for, for help on how to use a specific command\n\n Usage:\n newt [flags]\n newt [command]\n\n Examples:\n newt\n newt help [\ncommand-name\n]\n For help on \ncommand-name\n. If not specified, print this message.\n\n\n Availabl e Commands:\n version Display the Newt version number.\n target Set and view target information\n egg Commands to list and inspect eggs on a nest\n nest Commands to manage nests \n clutches (remote egg repositories)\n help Help about any command\n\n Flags:\n -h, --help=false: help for newt\n -l, --loglevel=\nWARN\n: Log level, defaults to WARN.\n -q, --quiet=false: Be quiet; only display error output.\n -s, --silent=false: Be silent; don\nt output anything.\n -v, --verbose=false: Enable verbose output when executing commands.\n\n\n Use \nnewt help [command]\n for more information about a command.", "title": "Install Newt on Mac" }, { @@ -237,7 +237,7 @@ }, { "location": "/newt/install/newt_mac/#2-install-go-the-programming-language", - "text": "Go language enviroment dictates a directory structure. Known in Go parlanace as workspace, it must contain three sibling directories with the directory names src, pkg and bin, as explained below. src contains Go source files organized into packages (one package per directory), pkg contains package objects, and bin contains executable commands. The GOPATH environment variable specifies the location of your workspace. To setup this workspace environment, create a 'dev' directory and then a 'go' directory under it. Set the GOPATH environment variable to this directory where you will soon clone the newt tool repository. $ cd $HOME\n $ mkdir -p dev/go \n $ cd dev/go\n $ export GOPATH=`pwd` (Note that you need to add export statements to ~/.bash_profile to export variables permanently. Don't forget to source the file for the change to go into effect.) $ vi ~/.bash_profile\n $ source ~/.bash_profile Next, using brew , install Go. When installed, Go offers you as a developer a language enviroment (to compile Go code), construct Go packages (to assemble Go packages) and import Go code (from github). In the next step, you will use the Go commands to import newt repo into your local Go environment. $ brew install go\n == \n ...\n ... \n == *Summary*\n \ud83c\udf7a /usr/local/Cellar/go/1.5.1: 5330 files, 273M Alternatively, you can download the Go package directly from (https://golang.org/dl/) instead of brewing it. Install it in /usr/local directory.", + "text": "Go language environment dictates a directory structure. Known in Go parlanace as workspace, it must contain three sibling directories with the directory names src, pkg and bin, as explained below. src contains Go source files organized into packages (one package per directory), pkg contains package objects, and bin contains executable commands. The GOPATH environment variable specifies the location of your workspace. To setup this workspace environment, create a 'dev' directory and then a 'go' directory under it. Set the GOPATH environment variable to this directory where you will soon clone the newt tool repository. $ cd $HOME\n $ mkdir -p dev/go \n $ cd dev/go\n $ export GOPATH=`pwd` (Note that you need to add export statements to ~/.bash_profile to export variables permanently. Don't forget to source the file for the change to go into effect.) $ vi ~/.bash_profile\n $ source ~/.bash_profile Next, using brew , install Go. When installed, Go offers you as a developer a language environment (to compile Go code), construct Go packages (to assemble Go packages) and import Go code (from github). In the next step, you will use the Go commands to import newt repo into your local Go environment. $ brew install go\n == \n ...\n ... \n == *Summary*\n \ud83c\udf7a /usr/local/Cellar/go/1.5.1: 5330 files, 273M Alternatively, you can download the Go package directly from (https://golang.org/dl/) instead of brewing it. Install it in /usr/local directory.", "title": "2. Install Go, the programming language" }, { @@ -252,7 +252,7 @@ }, { "location": "/newt/install/newt_linux/", - "text": "Install newt tool on Linux\n\n\n\n\nGetting your Linux box Ready\n\n\nIf you want to build the \nnewt\n tool from its source code, follow the following steps:\n\n\n1. Install git, libcurl\n\n\n $ sudo apt-get install git \n $ sudo apt-get install libcurl4-gnutls-dev \n\n\n\n\n\n\n\n2. Install Go, the programming language\n\n\n\n\n\n\nGo language enviroment dictates a directory structure. Known in Go parlanace as workspace, it must contain three sibling directories with the directory names src, pkg and bin, as explained below. \n\n\n\n\n\n\nsrc contains Go source files organized into packages (one package per directory),\n\n\n\n\n\n\npkg contains package objects, and\n\n\n\n\n\n\nbin contains executable commands.\n\n\n\n\n\n\nThe GOPATH environment variable specifies the location of your workspace. To setup this workspace environment, create a 'dev' directory and then a 'go' directory under it. Set the GOPATH environment variable to this directory w here you will soon clone the \nnewt\n tool repository.\n\n\n\n\n\n\n $ cd $HOME\n $ mkdir -p dev/go \n $ cd dev/go\n $ export GOPATH=`pwd`\n\n\n\n\n\n(Note that you need to add export statements to ~/.bash_profile to export variables permanently. Don't forget to source the file for the change to go into effect.)\n\n\n\n\n $ vi ~/.bash_profile\n $ source ~/.bash_profile\n\n\n\n\n\n\n\n\n\n\n\nNext, install Go. When installed, Go offers you as a developer a language enviroment (to compile Go code), construct Go packages (to assemble Go packages) and import Go code (from github). In the next step, you will use the Go commands to import \nnewt\n repo into your local Go environment.\n\n\nNote\n: The Newt tool requires Go version 1.5 or later. It uses the support for \"vendoring\" that was added in Go 1.5. Depending on the Ubuntu version you have, the following may install an earlier version. In that case, download the latest package of Go 1.5 or 1.6 from \nhttps://golang.org/dl/\n. You can search for more detailed instructions such as installing Go 1.6 on Ubuntu 14.04 which can be found at \nhttps://www.digitalocean.com/community/tutorials/how-to-install-go-1-6-on-ubuntu-14-04\n.\n\n\n\n\n\n\n $ sudo apt-get install golang \n\n\n\n\n\n \n\n\n3. Create local repository\n\n\n\n\nUse Go commands to copy the directory (currently the ASF incubator directory). Be patient as it may take a minute or two. Check the directories installed.\n\n\n\n\n $ go get mynewt.apache.org/newt/...\n\n\n\n\n\n\n\n\n\nCheck that newt.go is in place.\n\n\n\n\n $ ls $GOPATH/src/mynewt.apache.org/newt\n DISCLAIMER NOTICE newt newtvm viper\n LICENSE README.md newtmgr util yaml\n\n\n\n\n\n\n\n4. Build the Newt tool\n\n\n\n\nUse Go to run the newt.go program to build the \nnewt\n tool. The command \ngo install\n compiles and writes the resulting executable to an output file named \n newt\n, which is then installed, along with its dependencies, in $GOPATH/bin. If you get errors it is likely because of path resolution issues. Try \ngo build\n followed by \ngo install\n in that case.\n\n\n\n\n $ cd $GOPATH/src/mynewt.apache.org/newt/newt\n $ go install\n $ ls \n$GOPATH\n/bin/\n newt newtmgr newtvm\n\n\n\n\n\n\n\n\n\nAt this point, you can try using \nnewt\n. For example, check for the version number by typing 'newt version'. See all the possible commands available to a user of newt by typing 'newt -h'.\n\n\n\n\n(Note: If you are going to be modifying the \nnewt\n often and going to be compile the program every time you call it, you will want to store the command in a variable in your .bash_profile. So type in \nexport newt=\"go run $GOPATH/mynewt.apache.org/newt/newt/newt.go\"\n in your .bash_profile and execute it by calling \n$newt\n at the prompt instead of \nnewt\n. Essentially, \n$newt\n calls \ngo run\n which runs the compiled bi nary directly without producing an executable. Don't forget to reload the updated bash profile by typing \nsource ~/.bash_profile\n at the prompt! )\n\n\n $ newt version\n Newt version: 1.0\n $ newt -h\n Newt allows you to create your own embedded project based on the Mynewt\n operating system. Newt provides both build and package management in a\n single tool, which allows you to compose an embedded workspace, and set\n of projects, and then build the necessary artifacts from those projects.\n For more information on the Mynewt operating system, please visit\n https://www.github.com/mynewt/documentation.\n\n Please use the newt help command, and specify the name of the command\n you want help for, for help on how to use a specific command\n\n Usage:\n newt [flags]\n newt [command]\n\n Examples:\n newt\n newt help [\ncommand-name\n]\n For help on \nco mmand-name\n. If not specified, print this message.\n\n\n Available Commands:\n version Display the Newt version number.\n target Set and view target information\n egg Commands to list and inspect eggs on a nest\n nest Commands to manage nests \n clutches (remote egg repositories)\n help Help about any command\n\n Flags:\n -h, --help=false: help for newt\n -l, --loglevel=\nWARN\n: Log level, defaults to WARN.\n -q, --quiet=false: Be quiet; only display error output.\n -s, --silent=false: Be silent; don\nt output anything.\n -v, --verbose=false: Enable verbose output when executing commands.\n\n\n Use \nnewt help [command]\n for more information about a command.", + "text": "Install newt tool on Linux\n\n\n\n\nGetting your Linux box Ready\n\n\nIf you want to build the \nnewt\n tool from its source code, follow the following steps:\n\n\n1. Install git, libcurl\n\n\n $ sudo apt-get install git \n $ sudo apt-get install libcurl4-gnutls-dev \n\n\n\n\n\n\n\n2. Install Go, the programming language\n\n\n\n\n\n\nGo language environment dictates a directory structure. Known in Go parlanace as workspace, it must contain three sibling directories with the directory names src, pkg and bin, as explained below. \n\n\n\n\n\n\nsrc contains Go source files organized into packages (one package per directory),\n\n\n\n\n\n\npkg contains package objects, and\n\n\n\n\n\n\nbin contains executable commands.\n\n\n\n\n\n\nThe GOPATH environment variable specifies the location of your workspace. To setup this workspace environment, create a 'dev' directory and then a 'go' directory under it. Set the GOPATH environment variable to this directory where you will soon clone the \nnewt\n tool repository.\n\n\n\n\n\n\n $ cd $HOME\n $ mkdir -p dev/go \n $ cd dev/go\n $ export GOPATH=`pwd`\n\n\n\n\n\n(Note that you need to add export statements to ~/.bash_profile to export variables permanently. Don't forget to source the file for the change to go into effect.)\n\n\n\n\n $ vi ~/.bash_profile\n $ source ~/.bash_profile\n\n\n\n\n\n\n\n\n\n\n\nNext, install Go. When installed, Go offers you as a developer a language environment (to compile Go code), construct Go packages (to assemble Go packages) and import Go code (from github). In the next step, you will use the Go commands to import \nnewt\n repo into your local Go environment.\n\n\nNote\n: The Newt tool requires Go version 1.5 or later. It uses the support for \"vendoring\" that was added in Go 1.5. Depending on the Ubuntu version you have, the following may install an earlier version. In that case, download the latest package of Go 1.5 or 1.6 from \nhttps://golang.org/dl/\n. You can search for more detailed instructions such as installing Go 1.6 on Ubuntu 14.04 which can be found at \nhttps://www.digitalocean.com/community/tutorials/how-to-install-go-1-6-on-ubuntu-14-04\n.\n\n\n\n\n\n\n $ sudo apt-get install golang \n\n\n\n\n\n \n\n\n3. Create local repository\n\n\n\n\nUse Go commands to copy the directory (currently the ASF incubator directory). Be patient as it may take a minute or two. Check the directories installed.\n\n\n\n\n $ go get mynewt.apache.org/newt/...\n\n\n\n\n\n\n\n\n\nCheck that newt.go is in place.\n\n\n\n\n $ ls $GOPATH/src/mynewt.apache.org/newt\n DISCLAIMER NOTICE newt newtvm viper\n LICENSE README.md newtmgr util yaml\n\n\n\n\n\n\n\n4. Build the Newt tool\n\n\n\n\nUse Go to run the newt.go program to build the \nnewt\n tool. The command \ngo install\n compiles and writes the resulting executable to an output file named \nnewt\n, which is then installed, along with its dependencies, in $GOPATH/bin. If you get errors it is likely because of path resolution issues. Try \ngo build\n followed by \ngo install\n in that case.\n\n\n\n\n $ cd $GOPATH/src/mynewt.apache.org/newt/newt\n $ go install\n $ ls \n$GOPATH\n/bin/\n newt newtmgr newtvm\n\n\n\n\n\n\n\n\n\nAt this point, you can try using \nnewt\n. For example, check for the version number by typing 'newt version'. See all the possible commands available to a user of newt by typing 'newt -h'.\n\n\n\n\n(Note: If you are going to be modifying the \nnewt\n often and going to be compile the program every time you call it, you will want to store the command in a variable in your .bash_profile. So type in \nexport newt=\"go run $GOPATH/mynewt.apache.org/newt/newt/newt.go\"\n in your .bash_profile and execute it by calling \n$newt\n at the prompt instead of \nnewt\n. Essentially, \n$newt\n calls \ngo run\n which runs the compiled binary directly without producing an executable. Don't forget to reload the updated bash profile by typing \nsource ~/.bash_profile\n at the prompt! )\n\n\n $ newt version\n Newt version: 1.0\n $ newt -h\n Newt allows you to create your own embedded project based on the Mynewt\n operating system. Newt provides both build and package management in a\n single tool, which allows you to compose an embedded workspace, and set\n of projects, and then build the necessary artifacts from those projects.\n For more information on the Mynewt operating system, please visit\n https://www.github.com/mynewt/documentation.\n\n Please use the newt help command, and specify the name of the command\n you want help for, for help on how to use a specific command\n\n Usage:\n newt [flags]\n newt [command]\n\n Examples:\n newt\n newt help [\ncommand-name\n]\n For help on \n command-name\n. If not specified, print this message.\n\n\n Available Commands:\n version Display the Newt version number.\n target Set and view target information\n egg Commands to list and inspect eggs on a nest\n nest Commands to manage nests \n clutches (remote egg repositories)\n help Help about any command\n\n Flags:\n -h, --help=false: help for newt\n -l, --loglevel=\nWARN\n: Log level, defaults to WARN.\n -q, --quiet=false: Be quiet; only display error output.\n -s, --silent=false: Be silent; don\nt output anything.\n -v, --verbose=false: Enable verbose output when executing commands.\n\n\n Use \nnewt help [command]\n for more information about a command.", "title": "Install Newt on Linux" }, { @@ -272,7 +272,7 @@ }, { "location": "/newt/install/newt_linux/#2-install-go-the-programming-language", - "text": "Go language enviroment dictates a directory structure. Known in Go parlanace as workspace, it must contain three sibling directories with the directory names src, pkg and bin, as explained below. src contains Go source files organized into packages (one package per directory), pkg contains package objects, and bin contains executable commands. The GOPATH environment variable specifies the location of your workspace. To setup this workspace environment, create a 'dev' directory and then a 'go' directory under it. Set the GOPATH environment variable to this directory where you will soon clone the newt tool repository. $ cd $HOME\n $ mkdir -p dev/go \n $ cd dev/go\n $ export GOPATH=`pwd` (Note that you need to add export statements to ~/.bash_profile to export variables permanently. Don't forget to source the file for the change to go into effect.) $ vi ~/.bash_profile\n $ source ~/.bash_profile Next, install Go. When installed, Go offers you as a developer a language enviroment (to compile Go code), construct Go packages (to assemble Go packages) and import Go code (from github). In the next step, you will use the Go commands to import newt repo into your local Go environment. Note : The Newt tool requires Go version 1.5 or later. It uses the support for \"vendoring\" that was added in Go 1.5. Depending on the Ubuntu version you have, the following may install an earlier version. In that case, download the latest package of Go 1.5 or 1.6 from https://golang.org/dl/ . You can search for more detailed instructions such as installing Go 1.6 on Ubuntu 14.04 which can be found at https://www.digitalocean.com/community/tutorials/how-to-install-go-1-6-on-ubuntu-14-04 . $ sudo apt-get install golang", + "text": "Go language environment dictates a directory structure. Known in Go parlanace as workspace, it must contain three sibling directories with the directory names src, pkg and bin, as explained below. src contains Go source files organized into packages (one package per directory), pkg contains package objects, and bin contains executable commands. The GOPATH environment variable specifies the location of your workspace. To setup this workspace environment, create a 'dev' directory and then a 'go' directory under it. Set the GOPATH environment variable to this directory where you will soon clone the newt tool repository. $ cd $HOME\n $ mkdir -p dev/go \n $ cd dev/go\n $ export GOPATH=`pwd` (Note that you need to add export statements to ~/.bash_profile to export variables permanently. Don't forget to source the file for the change to go into effect.) $ vi ~/.bash_profile\n $ source ~/.bash_profile Next, install Go. When installed, Go offers you as a developer a language environment (to compile Go code), construct Go packages (to assemble Go packages) and import Go code (from github). In the next step, you will use the Go commands to import newt repo into your local Go environment. Note : The Newt tool requires Go version 1.5 or later. It uses the support for \"vendoring\" that was added in Go 1.5. Depending on the Ubuntu version you have, the following may install an earlier version. In that case, download the latest package of Go 1.5 or 1.6 from https://golang.org/dl/ . You can search for more detailed instructions such as installing Go 1.6 on Ubuntu 14.04 which can be found at https://www.digitalocean.com/community/tutorials/how-to-install-go-1-6-on-ubuntu-14-04 . $ sudo apt-get install golang", "title": "2. Install Go, the programming language" }, { @@ -367,7 +367,7 @@ }, { "location": "/os/get_started/vocabulary/", - "text": "Concepts\n\n\nThis page is meant to introduce you to some of the concepts inherent to \nthe Apache Mynewt Operating System, and \nNewt\n the tool that stitches a \nproject built on Apache Mynewt together.\n\n\nProject\n\n\nThe project is the base directory of your embedded software tree. It is a \nworkspace that contains a logical collection of source code, for one or \nmore of your applications. A project consists of the following items:\n\n\n\n\nProject Definition: defines project level dependencies, and parameters\n (located in \nproject.yml\n)\n\n\nPackages\n\n\n\n\nPackages\n are described in detail in the section below. \n\n\nHere is an example project definition file from the default Apache Mynewt \nproject: \n\n\n$ more project.yml \n\nsnip\n\nproject.name: \nmy_project\n\n\nproject.repositories:\n - apache-mynewt-core\n\n# Use github\ns distribution mechanism for core ASF libraries.\n# This provides mirroring automatically for us.\n#\nrepositor y.apache-mynewt-core:\n type: github\n vers: 0-latest\n user: apache\n repo: incubator-mynewt-core\n$ \n\n\n\n\n\nA couple of things to note in the project definition:\n\n\n\n\n\n\nproject.repositories\n: Defines the remote repositories that this project\nrelies upon.\n\n\n\n\n\n\nrepository.apache-mynewt-core\n: Defines the repository information for \nthe \napache-mynewt-core\n repository.\n\n\n\n\n\n\nRepositories are versioned collections of packages. \n\n\nProjects can rely on remote repositories for functionality, and the newt tool \nwill resolve those remote repositories, and download the correct version into \nyour local source tree. Newly fetched repositories are put in the \nrepos\n\ndirectory of your project, and can be referenced throughout the system by using\nthe \n@\n specifier. \n\n\nBy default, the \n@apache-mynewt-core\n repository is included in every \nproject. Apache Mynewt Core contains all the base functionality of the Apache \nMynewt Operating System, including the Real Time Kernel, Bluetooth Networking \nStack, Flash File System, Console, Shell and Bootloader.\n\n\nNOTE:\n Any project can be converted into a repository by providing it with a \n\nrepository.yml\n file and putting it up onto Github. More information\nabout repositories can be found in the Newt documentation.\n\n\nPackage\n\n\nA package is a collection items that form a fundamental unit in the Mynewt \nOperating System. Packages can be:\n\n\n\n\nApplications\n\n\nLibraries\n\n\nCompiler definitions\n\n\nTargets\n\n\n\n\nA package is identified by having a \npkg.yml\n file in it's base \ndirectory. Here is a sample \npkg.yml\n file for the blinky applicaton:\n\n\n$ more pkg.yml \n\nsnip\n\npkg.name: apps/blinky\npkg.type: app\npkg.description: Basic example application which blinks an LED.\npkg.author: \nApache Mynewt \[email protected]\n\npkg.homepage: \nhttp://mynewt.apache.org/\n\npkg.keywords:\n\npkg.deps:\n - \n@apache-mynewt-core/ libs/os\n\n - \n@apache-mynewt-core/hw/hal\n\n - \n@apache-mynewt-core/libs/console/full\n\n\n\n\n\n\nPackages have a few features worth noting:\n\n\n\n\nDependencies: Packages can rely upon other packages, and when they do\n they will inherit their functionality (header files, library definitions, etc.)\n\n\nAPIs: Packages can export named APIs, and they can require that certain \n APIs be present, in order to compile.\n\n\nFeatures: Packages can operate differently depending on what named features are \n present in the system. Packages can also export features to the rest of the \n Mynewt system.\n\n\n\n\nEverything that newt knows about within a project's directory is a package. This \nmakes it very clean and easy to write re-usable components, which can describe their \nDependencies and APIs to the rest of the system.\n\n\nTarget\n\n\nA target in Apache Mynewt is very similar to a target in \nmake\n. It is the collection\nof parameters that must be passed to Newt in order to generate a reproducable build. A \ntarget represents the top of the build tree, and any packages or parameters specified at \nthe target level, cascade down to all dependencies.\n\n\nTargets are also packages, and are stored in the \ntargets/\n directory at the base \nof your project. Most targets consist of: \n\n\n\n\napp\n: The application to build.\n\n\nbsp\n: The board support package to combine with that application\n\n\nbuild_profile\n: Either \ndebug\n or \noptimized\n. \n\n\n\n\nTargets can also have additional items specified, including: \n\n\n\n\ncflags\n: Any additional compiler flags you might want to specify to the build.\n\n\nfeatures\n: Any system level features you want to enable.\n\n\n\n\nIn order to create and manipulate targets, the \nnewt\n tool offers a set of helper commands,\nyou can find more information about these by issuing:\n\n\n$ newt target\n\nUsage: \n newt target [flags]\n newt target [command]\n\nAvailable Commands: \n show View target configuration variables\n set Set target configuration variable\n create Create a target\n delete Delete target\n copy Copy target\n vars Show variable names\n\nFlags:\n -h, --help=false: help for target\n\nGlobal Flags:\n -l, --loglevel=\nWARN\n: Log level, defaults to WARN.\n -o, --outfile=\n: Filename to tee log output to\n -q, --quiet=false: Be quiet; only display error output.\n -s, --silent=false: Be silent; don\nt output anything.\n -v, --verbose=false: Enable verbose output when executing commands.\n\nAdditional help topics:\n\n\nUse \nnewt help [command]\n for more information about a command.\n$", + "text": "Concepts\n\n\nThis page is meant to introduce you to some of the concepts inherent to \nthe Apache Mynewt Operating System, and \nNewt\n the tool that stitches a \nproject built on Apache Mynewt together.\n\n\nProject\n\n\nThe project is the base directory of your embedded software tree. It is a \nworkspace that contains a logical collection of source code, for one or \nmore of your applications. A project consists of the following items:\n\n\n\n\nProject Definition: defines project level dependencies, and parameters\n (located in \nproject.yml\n)\n\n\nPackages\n\n\n\n\nPackages\n are described in detail in the section below. \n\n\nHere is an example project definition file from the default Apache Mynewt \nproject: \n\n\n$ more project.yml \n\nsnip\n\nproject.name: \nmy_project\n\n\nproject.repositories:\n - apache-mynewt-core\n\n# Use github\ns distribution mechanism for core ASF libraries.\n# This provides mirroring automatically for us.\n#\nrepositor y.apache-mynewt-core:\n type: github\n vers: 0-latest\n user: apache\n repo: incubator-mynewt-core\n$ \n\n\n\n\n\nA couple of things to note in the project definition:\n\n\n\n\n\n\nproject.repositories\n: Defines the remote repositories that this project\nrelies upon.\n\n\n\n\n\n\nrepository.apache-mynewt-core\n: Defines the repository information for \nthe \napache-mynewt-core\n repository.\n\n\n\n\n\n\nRepositories are versioned collections of packages. \n\n\nProjects can rely on remote repositories for functionality, and the newt tool \nwill resolve those remote repositories, and download the correct version into \nyour local source tree. Newly fetched repositories are put in the \nrepos\n\ndirectory of your project, and can be referenced throughout the system by using\nthe \n@\n specifier. \n\n\nBy default, the \n@apache-mynewt-core\n repository is included in every \nproject. Apache Mynewt Core contains all the base functionality of the Apache \nMynewt Operating System, including the Real Time Kernel, Bluetooth Networking \nStack, Flash File System, Console, Shell and Bootloader.\n\n\nNOTE:\n Any project can be converted into a repository by providing it with a \n\nrepository.yml\n file and putting it up onto Github. More information\nabout repositories can be found in the Newt documentation.\n\n\nPackage\n\n\nA package is a collection items that form a fundamental unit in the Mynewt \nOperating System. Packages can be:\n\n\n\n\nApplications\n\n\nLibraries\n\n\nCompiler definitions\n\n\nTargets\n\n\n\n\nA package is identified by having a \npkg.yml\n file in it's base \ndirectory. Here is a sample \npkg.yml\n file for the blinky applicaton:\n\n\n$ more pkg.yml \n\nsnip\n\npkg.name: apps/blinky\npkg.type: app\npkg.description: Basic example application which blinks an LED.\npkg.author: \nApache Mynewt \[email protected]\n\npkg.homepage: \nhttp://mynewt.apache.org/\n\npkg.keywords:\n\npkg.deps:\n - \n@apache-mynewt-core/ libs/os\n\n - \n@apache-mynewt-core/hw/hal\n\n - \n@apache-mynewt-core/libs/console/full\n\n\n\n\n\n\nPackages have a few features worth noting:\n\n\n\n\nDependencies: Packages can rely upon other packages, and when they do\n they will inherit their functionality (header files, library definitions, etc.)\n\n\nAPIs: Packages can export named APIs, and they can require that certain \n APIs be present, in order to compile.\n\n\nFeatures: Packages can operate differently depending on what named features are \n present in the system. Packages can also export features to the rest of the \n Mynewt system.\n\n\n\n\nEverything that newt knows about within a project's directory is a package. This \nmakes it very clean and easy to write re-usable components, which can describe their \nDependencies and APIs to the rest of the system.\n\n\nTarget\n\n\nA target in Apache Mynewt is very similar to a target in \nmake\n. It is the collection\nof parameters that must be passed to Newt in order to generate a reproducible build. A \ntarget represents the top of the build tree, and any packages or parameters specified at \nthe target level, cascade down to all dependencies.\n\n\nTargets are also packages, and are stored in the \ntargets/\n directory at the base \nof your project. Most targets consist of: \n\n\n\n\napp\n: The application to build.\n\n\nbsp\n: The board support package to combine with that application\n\n\nbuild_profile\n: Either \ndebug\n or \noptimized\n. \n\n\n\n\nTargets can also have additional items specified, including: \n\n\n\n\ncflags\n: Any additional compiler flags you might want to specify to the build.\n\n\nfeatures\n: Any system level features you want to enable.\n\n\n\n\nIn order to create and manipulate targets, the \nnewt\n tool offers a set of helper commands,\nyou can find more information about these by issuing:\n\n\n$ newt target\n\nUsage: \n newt target [flags]\n newt target [command]\n\nAvailable Commands: \n show View target configuration variables\n set Set target configuration variable\n create Create a target\n delete Delete target\n copy Copy target\n vars Show variable names\n\nFlags:\n -h, --help=false: help for target\n\nGlobal Flags:\n -l, --loglevel=\nWARN\n: Log level, defaults to WARN.\n -o, --outfile=\n: Filename to tee log output to\n -q, --quiet=false: Be quiet; only display error output.\n -s, --silent=false: Be silent; don\nt output anything.\n -v, --verbose=false: Enable verbose output when executing commands.\n\nAdditional help topics:\n\n\nUse \nnewt help [command]\n for more information about a command.\n$", "title": "Concepts" }, { @@ -387,12 +387,12 @@ }, { "location": "/os/get_started/vocabulary/#target", - "text": "A target in Apache Mynewt is very similar to a target in make . It is the collection\nof parameters that must be passed to Newt in order to generate a reproducable build. A \ntarget represents the top of the build tree, and any packages or parameters specified at \nthe target level, cascade down to all dependencies. Targets are also packages, and are stored in the targets/ directory at the base \nof your project. Most targets consist of: app : The application to build. bsp : The board support package to combine with that application build_profile : Either debug or optimized . Targets can also have additional items specified, including: cflags : Any additional compiler flags you might want to specify to the build. features : Any system level features you want to enable. In order to create and manipulate targets, the newt tool offers a set of helper commands,\nyou can find more information about these by issuing: $ newt target\n\nUsage: \n newt target [flags]\n newt target [command]\n\nAvailable Commands: \n show View target configuration variables\n set Set target configuration variable\n create Create a target\n delete Delete target\n copy Copy target\n vars Show variable names\n\nFlags:\n -h, --help=false: help for target\n\nGlobal Flags:\n -l, --loglevel= WARN : Log level, defaults to WARN.\n -o, --outfile= : Filename to tee log output to\n -q, --quiet=false: Be quiet; only display error output.\n -s, --silent=false: Be silent; don t output anything.\n -v, --verbose=false: Enable verbose output when executing commands.\n\nAdditional help topics:\n\n\nUse newt help [command] for more information about a command.\n$", + "text": "A target in Apache Mynewt is very similar to a target in make . It is the collection\nof parameters that must be passed to Newt in order to generate a reproducible build. A \ntarget represents the top of the build tree, and any packages or parameters specified at \nthe target level, cascade down to all dependencies. Targets are also packages, and are stored in the targets/ directory at the base \nof your project. Most targets consist of: app : The application to build. bsp : The board support package to combine with that application build_profile : Either debug or optimized . Targets can also have additional items specified, including: cflags : Any additional compiler flags you might want to specify to the build. features : Any system level features you want to enable. In order to create and manipulate targets, the newt tool offers a set of helper commands,\nyou can find more information about these by issuing: $ newt target\n\nUsage: \n newt target [flags]\n newt target [command]\n\nAvailable Commands: \n show View target configuration variables\n set Set target configuration variable\n create Create a target\n delete Delete target\n copy Copy target\n vars Show variable names\n\nFlags:\n -h, --help=false: help for target\n\nGlobal Flags:\n -l, --loglevel= WARN : Log level, defaults to WARN.\n -o, --outfile= : Filename to tee log output to\n -q, --quiet=false: Be quiet; only display error output.\n -s, --silent=false: Be silent; don t output anything.\n -v, --verbose=false: Enable verbose output when executing commands.\n\nAdditional help topics:\n\n\nUse newt help [command] for more information about a command.\n$", "title": "Target" }, { "location": "/os/tutorials/tutorials/", - "text": "Tutorials\n\n\nIf the introduction to Mynewt has piqued your interest and you want to familiarize yourself with some of its functionality, this series of tutorials is for you. The lessons are aimed at the beginner. \n\n\nThe full list of tutorials can be seen in the navigation bar on the left. New ones are being constantly added and will show up there automatically.\n\n\nPrerequisites:\n\n\n\n\nYou have installed Docker container of Newt tool and toolchains or you have installed them natively on your machine\n\n\nYou have created a new project space (directory structure) and populated it with the core code repository (apache-mynewt-core) or know how to as explained in ../get_started/project_create.\n\n\n\n\nTutorial categories:\n\n\nThe tutorials fall into a few broad categories. Some examples in each category are listed below.\n\n\n\n\n\n\nMaking an LED blink (the \"Hello World\" equivalent in the electronics world)\n\n\n\n\nBlinky on Arduino Zero hardware\n\n\ nBlinky on Olimex/STM32F407ZGT6 Cortex-M4 hardware\n\n\nBlinky on STM32F3 discovery kit from ST Micro\n\n\nBlinky on nRF52 Development Kit from Nordic Semiconductor\n \nNote:\n This supports BLE.\n\n\n\n\n\n\n\n\nNavigating the code and adding functionality \n\n\n\n\nAdding more repositories to your project\n\n\nAdding a unit test for a package\n\n\nAdding task to manage multiple events\n\n\n\n\n\n\n\n\nBluetooth Low Energy\n\n\n\n\nRunning the example BLE app included in the repo\n\n\n\n\n\n\n\n\nUsing NewtMgr \n\n\n\n\nEnabling remote communication with a device running Mynewt OS\n\n\n\n\n\n\n\n\nSend us an email on the dev@ mailing list if you have comments or suggestions!\n If you haven't joined the mailing list, you will find the links \nhere\n.", + "text": "Tutorials\n\n\nIf the introduction to Mynewt has piqued your interest and you want to familiarize yourself with some of its functionality, this series of tutorials is for you. The lessons are aimed at the beginner. \n\n\nThe full list of tutorials can be seen in the navigation bar on the left. New ones are being constantly added and will show up there automatically.\n\n\nPrerequisites:\n\n\n\n\nYou have installed Docker container of Newt tool and toolchains or you have installed them natively on your machine\n\n\nYou have created a new project space (directory structure) and populated it with the core code repository (apache-mynewt-core) or know how to as explained in \nCreating Your First Project\n.\n\n\n\n\nTutorial categories:\n\n\nThe tutorials fall into a few broad categories. Some examples in each category are listed below.\n\n\n\n\n\n\nMaking an LED blink (the \"Hello World\" equivalent in the electronics world)\n\n\n\n\nBlinky on Arduino Zero hardware\n\ n\nBlinky on Olimex/STM32F407ZGT6 Cortex-M4 hardware\n\n\nBlinky on STM32F3 discovery kit from ST Micro\n\n\nBlinky on nRF52 Development Kit from Nordic Semiconductor\n \nNote:\n This supports BLE.\n\n\n\n\n\n\n\n\nNavigating the code and adding functionality \n\n\n\n\nAdding more repositories to your project\n\n\nAdding a unit test for a package\n\n\nAdding task to manage multiple events\n\n\n\n\n\n\n\n\nBluetooth Low Energy\n\n\n\n\nRunning the example BLE app included in the repo\n\n\n\n\n\n\n\n\nUsing NewtMgr \n\n\n\n\nEnabling remote communication with a device running Mynewt OS\n\n\n\n\n\n\n\n\nSend us an email on the dev@ mailing list if you have comments or suggestions!\n If you haven't joined the mailing list, you will find the links \nhere\n.", "title": "toc" }, { @@ -402,7 +402,7 @@ }, { "location": "/os/tutorials/tutorials/#prerequisites", - "text": "You have installed Docker container of Newt tool and toolchains or you have installed them natively on your machine You have created a new project space (directory structure) and populated it with the core code repository (apache-mynewt-core) or know how to as explained in ../get_started/project_create.", + "text": "You have installed Docker container of Newt tool and toolchains or you have installed them natively on your machine You have created a new project space (directory structure) and populated it with the core code repository (apache-mynewt-core) or know how to as explained in Creating Your First Project .", "title": "Prerequisites:" }, { @@ -477,7 +477,7 @@ }, { "location": "/os/tutorials/olimex/", - "text": "Blinky, your \"Hello World!\", on Olimex\n\n\nObjective\n\n\nLearn how to use packages from a default application repository of Mynewt to build your first \nHello World\n application (Blinky) on a target board. Once built using the \nnewt\n tool, this application will blink the LED lights on the target board. Fun stuff!\n\n\nThis tutorial shows you how to create a runtime image for an Olimex board to make its LED blink. Download the image to its flash memory and see the LED blink!\n\n\n\n\nWhat you need\n\n\n\n\nSTM32-E407 development board from Olimex. You can order it from \nhttp://www.mouser.com\n, \nhttp://www.digikey.com\n, and other places.\n\n\nARM-USB-TINY-H connector with JTAG interface for debugging ARM microcontrollers (comes with the ribbon cable to hook up to the board)\n\n\nUSB A-B type cable to connect the debugger to your personal computer\n\n\nPersonal Computer with Mac OS (Mac: OS X Yosemite Version 10.10.5) or Linux box (Ubuntu 14.10: Utopic U nicorn)\n\n\nAn account on Github repository and \ngit\n installed on your computer.\n\n\nIt is assumed you have already installed newt tool. \n\n\nIt is assumed you already installed native tools as described \nhere\n\n\n\n\nAlso, we assume that you're familiar with UNIX shells. Let's gets started!\n\n\n\n\nPrepare the Software\n\n\n\n\nMake sure the PATH environment variable includes the $HOME/dev/go/bin directory. \n\n\n\n\n\n\nCreate a project.\n\n\nCreate a new project to hold your work. For a deeper understanding, you can read about project creation in \n\nGet Started -- Creating Your First Project\n\nor just follow the commands below.\n\n\n $ mkdir ~/dev\n $ cd ~/dev\n $ newt new myproj\n Downloading project skeleton from apache/incubator-mynewt-blinky...\n Installing skeleton in myproj...\n Project myproj successfully created.\n\n $cd myproj\n\n $ newt install -v \n apache-mynewt-core\n Downloading repository description for apache-mynewt-core. .. success!\n ...\n apache-mynewt-core successfully installed version 0.7.9-none\n\n\n\n\n\n\n\nCreate targets\n\n\nChange directory to ~/dev/myproj directory and define the \nblinky\n target inside myproj, using the \nnewt\n tool. Starting with the target name, assign specific aspects of the project, as shown below, to pull the appropriate packages and build the right bundle or list for the board. For example, we set the build_profile, board support package (bsp), and app.\n\n\n $ newt target create blinky\n $ newt target set blinky build_profile=debug\n $ newt target set blinky bsp=@apache-mynewt-core/hw/bsp/olimex_stm32-e407_devboard\n $ newt target set blinky app=apps/blinky\n\n $ newt target create boot_olimex\n $ newt target set boot_olimex app=@apache-mynewt-core/apps/boot\n $ newt target set boot_olimex bsp=@apache-mynewt-core/hw/bsp/olimex_stm32-e407_devboard\n $ newt target set boot_olimex build_profile=optimized\n\n $ newt target show \n targets/blinky\n app=apps/blinky\n bsp=@apache-mynewt-core/hw/bsp/olimex_stm32-e407_devboard\n build_profile=debug\n targets/boot_olimex\n app=@apache-mynewt-core/apps/boot\n bsp=@apache-mynewt-core/hw/bsp/olimex_stm32-e407_devboard\n build_profile=optimized\n\n\n\n\n\n\n\nBuild the images\n\n\nNext, let's build the images for the above targets. Afer you build the target, you can find the executable \nblinky.elf\n in the project directory \n~/dev/myproj/bin/blinky/apps/blinky/.\n \n\n\n $ newt build blinky\n Compiling case.c\n Compiling suite.c\n ...\n Linking blinky.elf\n App successfully built:~/dev/myproj/bin/blinky/apps/blinky/blinky.elf\n $ ls ~/dev/myproj/bin/blinky/apps/blinky/\n blinky.elf blinky.elf.bin blinky.elf.cmd \n blinky.elf.lst blinky.elf.map\n\n $ newt build boot_olimex\n Building target targets/boot_olimex\n App successfully built: ~/dev/myproj/bin/boot_olimex/app s/boot/boot.elf\n\n\n\n\n\n\n\nSign and create the blinky application image\n\n\nYou must sign and version your application image to download it using newt to the board. Use the newt create-image command to perform this action. You may assign an arbitrary version (e.g. 1.0.0) to the image.\n\n\n$ newt create-image blinky 1.0.0\nApp image succesfully generated: ~/dev/myproj/bin/blinky/apps/blinky/blinky.img\nBuild manifest: ~/dev/myproj/bin/blinky/apps/blinky/manifest.json\n\n\n\n\n\n\n\nPrepare the hardware to boot from flash\n\n\n\n\nLocate the boot jumpers on the board.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nB1_1/B1_0 and B0_1/B0_0 are PTH jumpers. Note that because the markings on the board may not always be accurate, when in doubt, you should always refer to the manual for the correct positioning. Since the jumpers are a pair, they should move together, and as such, the pair is responsible for the boot mode when bootloader is present. \nTo locate the bootloader, the board searches in three places: User Flash Memory, System Memory or the Embedded SRAM. For this Blinky project, we will configure it to boot from flash by jumpering \nB0_0\n and \nB1_0\n.\n\n\n\n\n\n\nConnect USB-OTG#2 in the picture above to a USB port on your computer (or a powered USB hub to make sure there is enough power available to the board). \n\n\n\n\n\n\nThe red PWR LED should be lit. \n\n\n\n\n\n\nConnect the JTAG connector to the SWD/JTAG interface on the board. The other end of the cable should be connected to the USB port or hub of your computer.\n\n\n\n\n\n\n\n\nLet's Go!\n\n\n\n\nLoad the images\n\n\n\n\n$ newt -v load boot_olimex\nLoading image with: ~/dev/myproj/repos/apache-mynewt-core/hw/bsp/olimex_stm32-e407_devboard/olimex_stm32-e407_devboard_download.sh ~/dev/myproj/repos/apache-mynewt-core/hw/bsp/olimex_stm32-e407_devboard/ ~/dev/myproj/bin/boot_olimex/apps/boot/boot BASELIBC FS LIBC NFFS bootloader\nSuccessfully loaded image.\n\n$ newt -v load blinky\nLoading image with: ~/de v/myproj/repos/apache-mynewt-core/hw/bsp/olimex_stm32-e407_devboard/olimex_stm32-e407_devboard_download.sh ~/dev/myproj/repos/apache-mynewt-core/hw/bsp/olimex_stm32-e407_devboard/ ~/dev/myproj/bin/blinky/apps/blinky/blinky BASELIBC LIBC\nSuccessfully loaded image.\n\n\n\n\n\n\n\n\n\nVoil\u00e0! The LED should be blinking! Success!\n\n\n\n\n\n\nBut wait...not so fast.\n Let's double check that it is indeed booting from flash and making the LED blink from the image in flash. Pull the USB cable off the Olimex JTAG adaptor, severing the debug connection to the JTAG port. Next power off the Olimex board by pulling out the USB cable from the board. Wait for a couple of seconds and plug the USB cable back to the board. \n\n\nThe LED light will start blinking again. Success!\n\n\nNote #1:\n If you want to download the image to flash and a gdb session opened up, use \nnewt debug blinky\n. Type \nc\n to continue inside the gdb session.\n\n\n $ newt debug blinky\n Debugging with ~/dev/my proj/hw/bsp/olimex_stm32-e407_...\n Debugging ~/dev/myproj/project/blinky/bin/blinky/blinky.elf\n GNU gdb (GNU Tools for ARM Embedded Processors) 7.8.0.20150604-cvs\n Copyright (C) 2014 Free Software Foundation, Inc.\n License GPLv3+: GNU GPL version 3 \nhttp://gnu.org/licenses/gpl.html\n\n ...\n (info)\n ...\n target state: halted\n target halted due to debug-request, current mode: Thread \n xPSR: 0x01000000 pc: 0x08000250 msp: 0x10010000\n Info : accepting \ngdb\n connection from 3333\n Info : device id = 0x10036413\n Info : flash size = 1024kbytes\n Reset_Handler () at startup_STM32F40x.s:199\n 199 ldr r1, =__etext\n (gdb)\n\n\n\n\n\n\n\nNote #2:\n If you want to erase the flash and load the image again you may use the following commands from within gdb. \nflash erase_sector 0 0 x\n tells it to erase sectors 0 through x. When you ask it to display (in hex notation) the contents of the sector starting at location 'lma,' you sh ould see all f's. The memory location 0x8000000 is the start or origin of the flash memory contents and is specified in the olimex_stm32-e407_devboard.ld linker script. The flash memory locations is specific to the processor.\n\n\n (gdb) monitor flash erase_sector 0 0 4\n erased sectors 0 through 4 on flash bank 0 in 2.296712s\n (gdb) monitor mdw 0x08000000 16\n 0x08000000: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff \n (0x08000020: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff \n (0x08000000: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff \n (0x08000020: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff \n (gdb) monitor flash info 0\n\n\n\n\n\nConclusion\n\n\nCongratulations! You have now tried out a project on actual hardware. If this is your first time to embedded systems, this must feel like the best hands-on and low-level \"Hello World\" program e ver. \n\n\nGood, we have more fun tutorials for you to get your hands dirty. Be bold and try other Blinky-like \ntutorials\n or try enabling additional functionality such as \nremote comms\n on the current board.\n\n\nIf you see anything missing or want to send us feedback, please do so by signing up for appropriate mailing lists on our \nCommunity Page\n.\n\n\nKeep on hacking and blinking!", + "text": "Blinky, your \"Hello World!\", on Olimex\n\n\nObjective\n\n\nLearn how to use packages from a default application repository of Mynewt to build your first \nHello World\n application (Blinky) on a target board. Once built using the \nnewt\n tool, this application will blink the LED lights on the target board. Fun stuff!\n\n\nThis tutorial shows you how to create a runtime image for an Olimex board to make its LED blink. Download the image to its flash memory and see the LED blink!\n\n\n\n\nWhat you need\n\n\n\n\nSTM32-E407 development board from Olimex. You can order it from \nhttp://www.mouser.com\n, \nhttp://www.digikey.com\n, and other places.\n\n\nARM-USB-TINY-H connector with JTAG interface for debugging ARM microcontrollers (comes with the ribbon cable to hook up to the board)\n\n\nUSB A-B type cable to connect the debugger to your personal computer\n\n\nPersonal Computer with Mac OS (Mac: OS X Yosemite Version 10.10.5) or Linux box (Ubuntu 14.10: Utopic U nicorn)\n\n\nAn account on Github repository and \ngit\n installed on your computer.\n\n\nIt is assumed you have already installed newt tool. \n\n\nIt is assumed you already installed native tools as described \nhere\n\n\n\n\nAlso, we assume that you're familiar with UNIX shells. Let's gets started!\n\n\n\n\nPrepare the Software\n\n\n\n\nMake sure the PATH environment variable includes the $HOME/dev/go/bin directory. \n\n\n\n\n\n\nCreate a project.\n\n\nCreate a new project to hold your work. For a deeper understanding, you can read about project creation in \n\nGet Started -- Creating Your First Project\n\nor just follow the commands below.\n\n\n $ mkdir ~/dev\n $ cd ~/dev\n $ newt new myproj\n Downloading project skeleton from apache/incubator-mynewt-blinky...\n Installing skeleton in myproj...\n Project myproj successfully created.\n\n $cd myproj\n\n $ newt install -v \n apache-mynewt-core\n Downloading repository description for apache-mynewt-core. .. success!\n ...\n apache-mynewt-core successfully installed version 0.7.9-none\n\n\n\n\n\n\n\nCreate targets\n\n\nChange directory to ~/dev/myproj directory and define the \nblinky\n target inside myproj, using the \nnewt\n tool. Starting with the target name, assign specific aspects of the project, as shown below, to pull the appropriate packages and build the right bundle or list for the board. For example, we set the build_profile, board support package (bsp), and app.\n\n\n $ newt target create blinky\n $ newt target set blinky build_profile=debug\n $ newt target set blinky bsp=@apache-mynewt-core/hw/bsp/olimex_stm32-e407_devboard\n $ newt target set blinky app=apps/blinky\n\n $ newt target create boot_olimex\n $ newt target set boot_olimex app=@apache-mynewt-core/apps/boot\n $ newt target set boot_olimex bsp=@apache-mynewt-core/hw/bsp/olimex_stm32-e407_devboard\n $ newt target set boot_olimex build_profile=optimized\n\n $ newt target show \n targets/blinky\n app=apps/blinky\n bsp=@apache-mynewt-core/hw/bsp/olimex_stm32-e407_devboard\n build_profile=debug\n targets/boot_olimex\n app=@apache-mynewt-core/apps/boot\n bsp=@apache-mynewt-core/hw/bsp/olimex_stm32-e407_devboard\n build_profile=optimized\n\n\n\n\n\n\n\nBuild the images\n\n\nNext, let's build the images for the above targets. Afer you build the target, you can find the executable \nblinky.elf\n in the project directory \n~/dev/myproj/bin/blinky/apps/blinky/.\n \n\n\n $ newt build blinky\n Compiling case.c\n Compiling suite.c\n ...\n Linking blinky.elf\n App successfully built:~/dev/myproj/bin/blinky/apps/blinky/blinky.elf\n $ ls ~/dev/myproj/bin/blinky/apps/blinky/\n blinky.elf blinky.elf.bin blinky.elf.cmd \n blinky.elf.lst blinky.elf.map\n\n $ newt build boot_olimex\n Building target targets/boot_olimex\n App successfully built: ~/dev/myproj/bin/boot_olimex/app s/boot/boot.elf\n\n\n\n\n\n\n\nSign and create the blinky application image\n\n\nYou must sign and version your application image to download it using newt to the board. Use the newt create-image command to perform this action. You may assign an arbitrary version (e.g. 1.0.0) to the image.\n\n\n$ newt create-image blinky 1.0.0\nApp image successfully generated: ~/dev/myproj/bin/blinky/apps/blinky/blinky.img\nBuild manifest: ~/dev/myproj/bin/blinky/apps/blinky/manifest.json\n\n\n\n\n\n\n\nPrepare the hardware to boot from flash\n\n\n\n\nLocate the boot jumpers on the board.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nB1_1/B1_0 and B0_1/B0_0 are PTH jumpers. Note that because the markings on the board may not always be accurate, when in doubt, you should always refer to the manual for the correct positioning. Since the jumpers are a pair, they should move together, and as such, the pair is responsible for the boot mode when bootloader is present. \nTo locate the bootloader, the board searches in three places: User Flash Memory, System Memory or the Embedded SRAM. For this Blinky project, we will configure it to boot from flash by jumpering \nB0_0\n and \nB1_0\n.\n\n\n\n\n\n\nConnect USB-OTG#2 in the picture above to a USB port on your computer (or a powered USB hub to make sure there is enough power available to the board). \n\n\n\n\n\n\nThe red PWR LED should be lit. \n\n\n\n\n\n\nConnect the JTAG connector to the SWD/JTAG interface on the board. The other end of the cable should be connected to the USB port or hub of your computer.\n\n\n\n\n\n\n\n\nLet's Go!\n\n\n\n\nLoad the images\n\n\n\n\n$ newt -v load boot_olimex\nLoading image with: ~/dev/myproj/repos/apache-mynewt-core/hw/bsp/olimex_stm32-e407_devboard/olimex_stm32-e407_devboard_download.sh ~/dev/myproj/repos/apache-mynewt-core/hw/bsp/olimex_stm32-e407_devboard/ ~/dev/myproj/bin/boot_olimex/apps/boot/boot BASELIBC FS LIBC NFFS bootloader\nSuccessfully loaded image.\n\n$ newt -v load blinky\nLoading image with: ~/d ev/myproj/repos/apache-mynewt-core/hw/bsp/olimex_stm32-e407_devboard/olimex_stm32-e407_devboard_download.sh ~/dev/myproj/repos/apache-mynewt-core/hw/bsp/olimex_stm32-e407_devboard/ ~/dev/myproj/bin/blinky/apps/blinky/blinky BASELIBC LIBC\nSuccessfully loaded image.\n\n\n\n\n\n\n\n\n\nVoil\u00e0! The LED should be blinking! Success!\n\n\n\n\n\n\nBut wait...not so fast.\n Let's double check that it is indeed booting from flash and making the LED blink from the image in flash. Pull the USB cable off the Olimex JTAG adaptor, severing the debug connection to the JTAG port. Next power off the Olimex board by pulling out the USB cable from the board. Wait for a couple of seconds and plug the USB cable back to the board. \n\n\nThe LED light will start blinking again. Success!\n\n\nNote #1:\n If you want to download the image to flash and a gdb session opened up, use \nnewt debug blinky\n. Type \nc\n to continue inside the gdb session.\n\n\n $ newt debug blinky\n Debugging with ~/dev/m yproj/hw/bsp/olimex_stm32-e407_...\n Debugging ~/dev/myproj/project/blinky/bin/blinky/blinky.elf\n GNU gdb (GNU Tools for ARM Embedded Processors) 7.8.0.20150604-cvs\n Copyright (C) 2014 Free Software Foundation, Inc.\n License GPLv3+: GNU GPL version 3 \nhttp://gnu.org/licenses/gpl.html\n\n ...\n (info)\n ...\n target state: halted\n target halted due to debug-request, current mode: Thread \n xPSR: 0x01000000 pc: 0x08000250 msp: 0x10010000\n Info : accepting \ngdb\n connection from 3333\n Info : device id = 0x10036413\n Info : flash size = 1024kbytes\n Reset_Handler () at startup_STM32F40x.s:199\n 199 ldr r1, =__etext\n (gdb)\n\n\n\n\n\n\n\nNote #2:\n If you want to erase the flash and load the image again you may use the following commands from within gdb. \nflash erase_sector 0 0 x\n tells it to erase sectors 0 through x. When you ask it to display (in hex notation) the contents of the sector starting at location 'lma,' you s hould see all f's. The memory location 0x8000000 is the start or origin of the flash memory contents and is specified in the olimex_stm32-e407_devboard.ld linker script. The flash memory locations is specific to the processor.\n\n\n (gdb) monitor flash erase_sector 0 0 4\n erased sectors 0 through 4 on flash bank 0 in 2.296712s\n (gdb) monitor mdw 0x08000000 16\n 0x08000000: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff \n (0x08000020: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff \n (0x08000000: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff \n (0x08000020: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff \n (gdb) monitor flash info 0\n\n\n\n\n\nConclusion\n\n\nCongratulations! You have now tried out a project on actual hardware. If this is your first time to embedded systems, this must feel like the best hands-on and low-level \"Hello World\" program ever. \n\n\nGood, we have more fun tutorials for you to get your hands dirty. Be bold and try other Blinky-like \ntutorials\n or try enabling additional functionality such as \nremote comms\n on the current board.\n\n\nIf you see anything missing or want to send us feedback, please do so by signing up for appropriate mailing lists on our \nCommunity Page\n.\n\n\nKeep on hacking and blinking!", "title": "Blinky on Olimex" }, { @@ -517,7 +517,7 @@ }, { "location": "/os/tutorials/olimex/#sign-and-create-the-blinky-application-image", - "text": "You must sign and version your application image to download it using newt to the board. Use the newt create-image command to perform this action. You may assign an arbitrary version (e.g. 1.0.0) to the image. $ newt create-image blinky 1.0.0\nApp image succesfully generated: ~/dev/myproj/bin/blinky/apps/blinky/blinky.img\nBuild manifest: ~/dev/myproj/bin/blinky/apps/blinky/manifest.json", + "text": "You must sign and version your application image to download it using newt to the board. Use the newt create-image command to perform this action. You may assign an arbitrary version (e.g. 1.0.0) to the image. $ newt create-image blinky 1.0.0\nApp image successfully generated: ~/dev/myproj/bin/blinky/apps/blinky/blinky.img\nBuild manifest: ~/dev/myproj/bin/blinky/apps/blinky/manifest.json", "title": "Sign and create the blinky application image" }, { @@ -537,7 +537,7 @@ }, { "location": "/os/tutorials/STM32F303/", - "text": "Blinky, your \"Hello World!\", on STM32F303 Discovery\n\n\n\n\nObjective\n\n\nLearn how to use packages from a default application repository of Mynewt to build your first \nHello World\n application (Blinky) on a target board. Once built using the \nnewt\n tool, this application will blink the LED lights on the target board.\n\n\nCreate a project with a simple app that blinks an LED on the stmf303 \ndiscovery board. In the process import some external libraries into your project. Download the application to the target and watch it blink!\n\n\n\n\nWhat you need\n\n\n\n\nDiscovery kit with STM32F303VC MCU\n\n\nLaptop running Mac OSX. \n\n\nIt is assumed you have already installed newt tool. \n\n\nIt is assumed you already installed native tools as described \nhere\n\n\n\n\nAlso, we assume that you're familiar with UNIX shells. Let's gets started!\n\n\n\n\nCreate a project\n\n\nCreate a new project to hold your work. For a deeper understanding, you can read abou t project creation in \n\nGet Started -- Creating Your First Project\n\nor just follow the commands below.\n\n\nIf you've already created a project from another tutorial, you can re-use\nthat project.\n\n\n$ mkdir ~/dev\n$ cd ~/dev\n$ newt new myproj\nDownloading project skeleton from apache/incubator-mynewt-blinky...\nInstalling skeleton in myproj...\nProject myproj successfully created.\n\n$ cd myproj\n\n\n\n\n\nNote:\n Don't forget to change into the \nmyproj\n directory.\n\n\n\n\nImport External STM32F3 Library support\n\n\nThe STM32F303 support for Mynewt lives in an external repository. It's\nnecessary to add another repository to the project. To do this,\nedit the file \nproject.yml\n in the root directory of your project \nmyproj\n\n\nThis requires two changes to this file.\n\n\n\n\nYou must define the properties of the external repository that you want\nto add\n\n\nYou must include the repository in your project.\n\n\n\n\nEdit the file \nproject.yml\n with your favorite e ditor and add the \nfollowing repository details in the file (after the core \nrepository). This gives newt the information to contact the repository\nand extract its contents. In this case, the repository is on github in \nthe \nruntimeinc\n collection. Its name is \nmynewt-stm32f3\n and we will accept\nany version up to the latest. You can look at the contents \nhere\n.\n\n\nrepository.mynewt_stm32f3:\n type: github\n vers: 0-latest\n user: runtimeinc\n repo: mynewt_stm32f3\n\n\n\n\n\n\n\nIn the same file, add the following highlighted line to the \n\nproject.repositories\n variable. This tells newt to download the\n repository contents into your project. \n\n\nproject.repositories:\n - apache-mynewt-core\n\n - mynewt_stm32f3\n\n\n\n\n\n\n\nInstall dependencies\n\n\nNow you can install this into the project using:\n\n\n$ newt install -v \nDownloading repository description for apache-mynewt-core... success!\n...\napache-mynewt-core successfully installed versi on 0.7.9-none\n...\nDownloading repository description for mynewt_stm32f3... success!\nDownloading repository mynewt_stm32f3 \n...\nResolving deltas: 100% (65/65), done.\nChecking connectivity... done.\nmynewt_stm32f3 successfully installed version 0.0.0-none\n\n\n\n\n\n\n\nCreate targets\n\n\nCreate two targets to build using the stmf3 board support package and the \napp blinky example from mynewt. The output of these commands are not\nshown here for brevity. \n\n\nThe first target is the application image itself. The second\ntarget is the bootloader which allows you to upgrade your mynewt \napplications. \n\n\n$ newt target create stmf3_blinky\n$ newt target set stmf3_blinky build_profile=optimized\n$ newt target set stmf3_blinky bsp=@mynewt_stm32f3/hw/bsp/stm32f3discovery\n$ newt target set stmf3_blinky app=apps/blinky\n\n$ newt target create stmf3_boot\n$ newt target set stmf3_boot app=@apache-mynewt-core/apps/boot\n$ newt target set stmf3_boot bsp=@mynewt_stm32f3/hw/bsp/stm32 f3discovery\n$ newt target set stmf3_boot build_profile=optimized\n\n$ newt target show\n\ntargets/stmf3_blinky\n app=apps/blinky\n bsp=@mynewt_stm32f3/hw/bsp/stm32f3discovery\n build_profile=optimized\ntargets/stmf3_boot\n app=apps/boot\n bsp=@mynewt_stm32f3/hw/bsp/stm32f3discovery\n build_profile=optimized\n\n\n\n\n\n\n\nBuild the target executables\n\n\nTo build the images, use the \nnewt build\n command below.\n\n\n$ newt build stmf3_blinky\n ...\nArchiving stm32f3discovery.a\nLinking blinky.elf\nApp successfully built: ~/dev/myproj/bin/stmf3_blinky/apps/blinky/blinky.elf\n\n$ newt build stmf3_boot\nCompiling log_shell.c\nArchiving log.a\nLinking boot.elf\nApp successfully built: ~/dev/myproj/bin/stmf3_boot/apps/boot/boot.elf\n\n\n\n\n\n\n\nSign and create the blinky application image\n\n\nYou must sign and version your application image to download it using newt. Use\nthe \nnewt create-image\n command to perform this action. Here we assign this\nimage an ar bitrary version \n1.2.3\n.\n\n\n$ newt create-image stmf3_blinky 1.2.3\nApp image succesfully generated: ~/dev/myproj/bin/stmf3_blinky/apps/blinky/blinky.img\nBuild manifest:~/dev/myproj/bin/stmf3_blinky/apps/blinky/manifest.json\n\n\n\n\n\n\n\nConfigure the hardware\n\n\nThe STM32F3DISCOVERY board includes an ST-LINK/V2 embedded debug tool interface that will be used to program/debug the board. To program the MCU on the board, simply plug in the two jumpers on CN4, as shown in the picture in red. If you want to learn more about the board you will find the User Manual at \nhttp://www.st.com/st-web-ui/static/active/jp/resource/technical/document/user_manual/DM00063382.pdf\n\n\n\n\n\n\n\n\n\n\nDownload the Images\n\n\nUse the \nnewt load\n command to download the images to the target board.\n\n\n$ newt -v load stmf3_boot\n$ newt -v load stmf3_blinky\n\n\n\n\n\n\n\nWatch the LED blink\n\n\nCongratulations! You have built, downloaded, and run your first application using mynewt for the stm32f3 discovery board. One of the LEDs on the LED wheel should be blinking at 1 Hz.\n\n\nWe have more fun tutorials for you to get your hands dirty. Be bold and try other Blinky-like \ntutorials\n or try enabling additional functionality such as \nremote comms\n on the current board.\n\n\nIf you see anything missing or want to send us feedback, please do so by signing up for appropriate mailing lists on our \nCommunity Page\n.\n\n\nKeep on hacking and blinking!", + "text": "Blinky, your \"Hello World!\", on STM32F303 Discovery\n\n\n\n\nObjective\n\n\nLearn how to use packages from a default application repository of Mynewt to build your first \nHello World\n application (Blinky) on a target board. Once built using the \nnewt\n tool, this application will blink the LED lights on the target board.\n\n\nCreate a project with a simple app that blinks an LED on the stmf303 \ndiscovery board. In the process import some external libraries into your project. Download the application to the target and watch it blink!\n\n\n\n\nWhat you need\n\n\n\n\nDiscovery kit with STM32F303VC MCU\n\n\nLaptop running Mac OSX. \n\n\nIt is assumed you have already installed newt tool. \n\n\nIt is assumed you already installed native tools as described \nhere\n\n\n\n\nAlso, we assume that you're familiar with UNIX shells. Let's gets started!\n\n\n\n\nCreate a project\n\n\nCreate a new project to hold your work. For a deeper understanding, you can read abou t project creation in \n\nGet Started -- Creating Your First Project\n\nor just follow the commands below.\n\n\nIf you've already created a project from another tutorial, you can re-use\nthat project.\n\n\n$ mkdir ~/dev\n$ cd ~/dev\n$ newt new myproj\nDownloading project skeleton from apache/incubator-mynewt-blinky...\nInstalling skeleton in myproj...\nProject myproj successfully created.\n\n$ cd myproj\n\n\n\n\n\nNote:\n Don't forget to change into the \nmyproj\n directory.\n\n\n\n\nImport External STM32F3 Library support\n\n\nThe STM32F303 support for Mynewt lives in an external repository. It's\nnecessary to add another repository to the project. To do this,\nedit the file \nproject.yml\n in the root directory of your project \nmyproj\n\n\nThis requires two changes to this file.\n\n\n\n\nYou must define the properties of the external repository that you want\nto add\n\n\nYou must include the repository in your project.\n\n\n\n\nEdit the file \nproject.yml\n with your favorite e ditor and add the \nfollowing repository details in the file (after the core \nrepository). This gives newt the information to contact the repository\nand extract its contents. In this case, the repository is on github in \nthe \nruntimeinc\n collection. Its name is \nmynewt-stm32f3\n and we will accept\nany version up to the latest. You can look at the contents \nhere\n.\n\n\nrepository.mynewt_stm32f3:\n type: github\n vers: 0-latest\n user: runtimeinc\n repo: mynewt_stm32f3\n\n\n\n\n\n\n\nIn the same file, add the following highlighted line to the \n\nproject.repositories\n variable. This tells newt to download the\n repository contents into your project. \n\n\nproject.repositories:\n - apache-mynewt-core\n\n - mynewt_stm32f3\n\n\n\n\n\n\n\nInstall dependencies\n\n\nNow you can install this into the project using:\n\n\n$ newt install -v \nDownloading repository description for apache-mynewt-core... success!\n...\napache-mynewt-core successfully installed versi on 0.7.9-none\n...\nDownloading repository description for mynewt_stm32f3... success!\nDownloading repository mynewt_stm32f3 \n...\nResolving deltas: 100% (65/65), done.\nChecking connectivity... done.\nmynewt_stm32f3 successfully installed version 0.0.0-none\n\n\n\n\n\n\n\nCreate targets\n\n\nCreate two targets to build using the stmf3 board support package and the \napp blinky example from mynewt. The output of these commands are not\nshown here for brevity. \n\n\nThe first target is the application image itself. The second\ntarget is the bootloader which allows you to upgrade your mynewt \napplications. \n\n\n$ newt target create stmf3_blinky\n$ newt target set stmf3_blinky build_profile=optimized\n$ newt target set stmf3_blinky bsp=@mynewt_stm32f3/hw/bsp/stm32f3discovery\n$ newt target set stmf3_blinky app=apps/blinky\n\n$ newt target create stmf3_boot\n$ newt target set stmf3_boot app=@apache-mynewt-core/apps/boot\n$ newt target set stmf3_boot bsp=@mynewt_stm32f3/hw/bsp/stm32 f3discovery\n$ newt target set stmf3_boot build_profile=optimized\n\n$ newt target show\n\ntargets/stmf3_blinky\n app=apps/blinky\n bsp=@mynewt_stm32f3/hw/bsp/stm32f3discovery\n build_profile=optimized\ntargets/stmf3_boot\n app=apps/boot\n bsp=@mynewt_stm32f3/hw/bsp/stm32f3discovery\n build_profile=optimized\n\n\n\n\n\n\n\nBuild the target executables\n\n\nTo build the images, use the \nnewt build\n command below.\n\n\n$ newt build stmf3_blinky\n ...\nArchiving stm32f3discovery.a\nLinking blinky.elf\nApp successfully built: ~/dev/myproj/bin/stmf3_blinky/apps/blinky/blinky.elf\n\n$ newt build stmf3_boot\nCompiling log_shell.c\nArchiving log.a\nLinking boot.elf\nApp successfully built: ~/dev/myproj/bin/stmf3_boot/apps/boot/boot.elf\n\n\n\n\n\n\n\nSign and create the blinky application image\n\n\nYou must sign and version your application image to download it using newt. Use\nthe \nnewt create-image\n command to perform this action. Here we assign this\nimage an ar bitrary version \n1.2.3\n.\n\n\n$ newt create-image stmf3_blinky 1.2.3\nApp image successfully generated: ~/dev/myproj/bin/stmf3_blinky/apps/blinky/blinky.img\nBuild manifest:~/dev/myproj/bin/stmf3_blinky/apps/blinky/manifest.json\n\n\n\n\n\n\n\nConfigure the hardware\n\n\nThe STM32F3DISCOVERY board includes an ST-LINK/V2 embedded debug tool interface that will be used to program/debug the board. To program the MCU on the board, simply plug in the two jumpers on CN4, as shown in the picture in red. If you want to learn more about the board you will find the User Manual at \nhttp://www.st.com/st-web-ui/static/active/jp/resource/technical/document/user_manual/DM00063382.pdf\n\n\n\n\n\n\n\n\n\n\nDownload the Images\n\n\nUse the \nnewt load\n command to download the images to the target board.\n\n\n$ newt -v load stmf3_boot\n$ newt -v load stmf3_blinky\n\n\n\n\n\n\n\nWatch the LED blink\n\n\nCongratulations! You have built, downloaded, and run your first application using mynewt for the stm32f3 discovery board. One of the LEDs on the LED wheel should be blinking at 1 Hz.\n\n\nWe have more fun tutorials for you to get your hands dirty. Be bold and try other Blinky-like \ntutorials\n or try enabling additional functionality such as \nremote comms\n on the current board.\n\n\nIf you see anything missing or want to send us feedback, please do so by signing up for appropriate mailing lists on our \nCommunity Page\n.\n\n\nKeep on hacking and blinking!", "title": "Blinky on STM32F303" }, { @@ -582,7 +582,7 @@ }, { "location": "/os/tutorials/STM32F303/#sign-and-create-the-blinky-application-image", - "text": "You must sign and version your application image to download it using newt. Use\nthe newt create-image command to perform this action. Here we assign this\nimage an arbitrary version 1.2.3 . $ newt create-image stmf3_blinky 1.2.3\nApp image succesfully generated: ~/dev/myproj/bin/stmf3_blinky/apps/blinky/blinky.img\nBuild manifest:~/dev/myproj/bin/stmf3_blinky/apps/blinky/manifest.json", + "text": "You must sign and version your application image to download it using newt. Use\nthe newt create-image command to perform this action. Here we assign this\nimage an arbitrary version 1.2.3 . $ newt create-image stmf3_blinky 1.2.3\nApp image successfully generated: ~/dev/myproj/bin/stmf3_blinky/apps/blinky/blinky.img\nBuild manifest:~/dev/myproj/bin/stmf3_blinky/apps/blinky/manifest.json", "title": "Sign and create the blinky application image" }, { @@ -602,7 +602,7 @@ }, { "location": "/os/tutorials/nRF52/", - "text": "Blinky, your \"Hello World!\", on nRF52\n\n\n\n\nObjective\n\n\nLearn how to use packages from a default application repository of Mynewt to build your first \nHello World\n application (Blinky) on a target board. Once built using the \nnewt\n tool, this application will blink the LED lights on the target board.\n\n\nCreate a project with a simple app that blinks an LED on the nRF52 board from Nordic Semiconductors. Download the application to the target and watch it blink!\n\n\nNote that there are several versions of the nRF52 in the market. The boards tested with this tutorial are listed under \"Hardware needed\" below.\n\n\n\n\nHardware needed\n\n\n\n\nnRF52 Development Kit (one of the following)\n\n\nPreview Kit from Nordic - PCA 10036\n\n\nDev Kit from Nordic - PCA 10040\n\n\nEval Kit from Rigado - BMD-300-EVAL-ES\n\n\n\n\n\n\nLaptop running Mac OS\n\n\nIt is assumed you have already installed newt tool. \n\n\nIt is assumed you already installed native too ls as described \nhere\n\n\n\n\n\n\nInstall jlinkEXE\n\n\nIn order to be able to communicate with the SEGGER J-Link debugger on the dev board, you have to download and install the J-Link GDB Server software on to your laptop. You may download the \"Software and documentation pack for Mac OS X\" from \nhttps://www.segger.com/jlink-software.html\n. \n\n\n\n\nCreate a project.\n\n\nCreate a new project to hold your work. For a deeper understanding, you can read about project creation in \n\nGet Started -- Creating Your First Project\n\nor just follow the commands below.\n\n\n $ mkdir ~/dev\n $ cd ~/dev\n $ newt new myproj\n Downloading project skeleton from apache/incubator-mynewt-blinky...\n Installing skeleton in myproj...\n Project myproj successfully created.\n\n $ cd myproj\n\n $ newt install -v \n apache-mynewt-core\n Downloading repository description for apache-mynewt-core... success!\n ...\n apache-mynewt-core successfully installed version 0.7.9-none\n\n\n\n\n\n\n\nCreate the targets\n\n\nCreate two targets - one for the bootloader and one for the nrf52 board. \n\n\n\nNote: The correct bsp must be chosen for the board you are using. \n\n\n\n\nFor the Nordic Preview Dev Kit choose @apache-mynewt-core/hw/bsp/nrf52pdk (as shown below)\n\n\nFor the Nordic Dev Kit choose @apache-mynewt-core/hw/bsp/nrf52dk instead (in the highlighted lines)\n\n\nFor the Rigado Eval Kit choose @apache-mynewt-core/hw/bsp/bmd300eval instead (in the highlighted lines)\n\n\n\n\n$ newt target create blink_nordic\n$ newt target set blink_nordic app=apps/blinky\n\n$ newt target set blink_nordic bsp=@apache-mynewt-core/hw/bsp/nrf52pdk\n\n$ newt target set blink_nordic build_profile=debug\n\n$ newt target create nrf52_boot\n$ newt target set nrf52_boot app=@apache-mynewt-core/apps/boot\n\n$ newt target set nrf52_boot bsp=@apache-mynewt-core/hw/bsp/nrf52pdk\n\n$ newt target set nrf52_boot build_profile=optimized\n\n$ newt target show \ntargets/blink _nordic\n app=apps/blinky\n bsp=@apache-mynewt-core/hw/bsp/nrf52pdk\n build_profile=debug\ntargets/nrf52_boot\n app=@apache-mynewt-core/apps/boot\n bsp=@apache-mynewt-core/hw/bsp/nrf52pdk\n build_profile=optimized\n\n\n\n\n\n\n\nBuild the target executables\n\n\n$ newt build nrf52_boot\n...\nCompiling log_shell.c\nArchiving log.a\nLinking boot.elf\nApp successfully built: ~/dev/myproj/bin/nrf52_boot/apps/boot/boot.elf\n\n\n\n\n\n$ newt build blink_nordic\n...\nCompiling main.c\nArchiving blinky.a\nLinking blinky.elf\nApp successfully built: ~/dev/myproj/bin/blink_nordic/apps/blinky/blinky.elf\n\n\n\n\n\n\n\nSign and create the blinky application image\n\n\nYou must sign and version your application image to download it using newt to the board. Use the newt create-image command to perform this action. You may assign an arbitrary version (e.g. 1.0.0) to the image.\n\n\n$ newt create-image blink_nordic 1.0.0\nApp image succesfully generated: ~/dev/myproj/bin/blink_nor dic/apps/blinky/blinky.img\nBuild manifest: ~/dev/myproj/bin/blink_nordic/apps/blinky/manifest.json\n\n\n\n\n\n\n\nConnect the board\n\n\nConnect the evaluation board via micro-USB to your PC via USB cable.\n\n\n\n\nDownload to the target\n\n\nDownload the bootloader first and then the blinky executable to the target platform. Don't forget to reset the board if you don't see the LED blinking right away!\n\n\n$ newt -v load nrf52_boot\n$ newt -v load blink_nordic\n\n\n\n\n\n\n\nNote:\n If you want to erase the flash and load the image again, you can use JLinkExe to issue an \nerase\n command.\n\n\n$ JLinkExe -device nRF52 -speed 4000 -if SWD\n
<TRUNCATED>
