SlideShare a Scribd company logo
F11	
Session	-	IoT	Development	
4/28/17	1:00	PM	
	
	
	
	
	
	
Intel®	Curie™	Open	Developer	Kit	
(ODK):	A	Primer—Part	2	
	
Presented	by:	
	
Oliver	Chen	
Intel	
	
	
	
Brought	to	you	by:		
		
	
	
	
	
350	Corporate	Way,	Suite	400,	Orange	Park,	FL	32073		
888---268---8770	··	904---278---0524	-	info@techwell.com	-	https://www.techwell.com/
Oliver	Chen	
Intel	
	
Maker,	mentor,	and	educator,	Oliver	Chen	is	a	twenty-two	year	Intel	veteran	
currently	working	as	a	software	engineer	in	Intel's	Maker	and	Innovator	Group.	
He	encourages	the	broader	adoption	of	embedded	systems	for	the	Internet	of	
Things	by	working	with	makers	and	startups	on	rapid	prototyping	with	the	Intel	
Galileo,	Edison,	Curie	module-based	Arduino101,	and	newly	introduced	Joule.	For	
Season	1	of	America's	Greatest	Makers	reality	show,	he	directly	mentored	the	
startup	teams—	ASEAH,	Powerbobber,	and	Motivate	Me—and	the	$1	Million	
winning	team	Grush.
4/10/17	
1	
Makers and
Innovators
Curie Open Developer
Kit
IOT Dev+Test
CODK
•  Introduction
•  First Time M-Tree Setup
•  Proof of Life - ASCIITable
•  Convert-sketch – Blink
2
•  Create Your Own Project
•  Pattern Matching Library
•  Factory Reset
•  Case Study
4/10/17	
2	
3
Software … Tools … Documentation for developers to build boards based on the
Intel Curie module and turn them into products.
Three firmware source trees available :
•  A Tree – Arduino101 firmware, Arduino core libraries and tools
•  Z Tree – Zephyr firmware that targets Arduino101 as host Core
•  M Tree – Mix of A and Z trees. Firmware based on Zephyr on the Quark, and
user code with Arduino class libraries on the ARC
The M Tree brings:
•  Arduino class libraries
•  Dual core option of running code on Quark
•  Debugging using GDB
Curie Open Developer Kit (CODK) Introduction
4
Basic
functionality
and speed
Arduino
IDE
Heavy
compute
CODK
Complex
debug
EnvironmentArduino
IDE
ISSM
x86 Quark
CODK
EnvironmentISSM
ISSM
Yes
No Yes
No
CMD Line GUI CMD Line GUI
Z-tree M-tree
Insufficient
Sufficient
Curie software decision tree
•  Arduino IDE and ISSM- primary options for contestants
•  Arduino IDE for basics
•  ISSM for anything needing multiple cores or debugging
•  CODK- still available for
•  Those who want to do their own IDE integration
•  Prefer command line
•  Just want extra debugging
4/10/17	
3	
5
Basic
functionality
and speed
Arduino
IDE
Heavy
compute
CODK
Complex
debug
EnvironmentArduino
IDE
ISSM
x86 Quark
CODK
EnvironmentISSM
ISSM
Sufficient
Yes
No Yes
Insufficient
No
CMD Line GUI CMD Line GUI
Z-tree M-tree
MotivateMe
PowerBobber
Grush
ASEAH
NWTN
HandsOn
Project Breakdown
•  Arduino IDE- MotivateMe and PowerBobber only
needed basics
•  CODK M – HandsOn could have debugged their
wireless gloves
•  Z-tree- Grush wanted an embedded o/s
•  M-tree- ASEAH and NWTN would have used multiple
cores and x86 functionality
6
Connect Arduino101/tinyTILE
Arduino101 uses standard USB 2.0 A to B plug
tinyTILE uses micro USB
Compile Firmware/Software
Setup your environment for development by running in a new terminal:
export CODK_DIR=~/CODK/CODK-M
source ~/CODK/zephyr/zephyr-env.sh
This needs to be run in any new terminal before you compile.
Change directories to the top level directory for CODK-M in the terminal
session:
cd ~/CODK/CODK-M
The default top-level makefile builds the ASCIITable example.
Compile x86 in terminal session: make compile-x86
Compile ARC in terminal session: make compile-arc
First Time M Tree Setup
$ export CODK_DIR=$(pwd) $ source ../zephyr/zephyr-env.sh
export CODK_DIR=~/CODK/CODK-M
source ~/CODK/zephyr/zephyr-env.sh
cd ~/CODK/CODK-M
make compile-x86
make compile-arc
4/10/17	
4	
7
Update BLE firmware
Each Arduino101 with factory settings will need to update BLE
firmware for M-Tree by running in terminal session: make upload-ble-
dfu
Some error messages are benign. Loading bar should reach
100%.
You only do this again on the same board if it has been reset to factory
settings
Flash using USB/DFU
Flash x86 binary image in terminal session : make upload-x86-dfu
Some error messages are benign. Loading bar should reach
100%.
Flash ARC binary image in terminal session: make upload-arc-dfu
Some error messages are benign. Loading bar should reach
100%.
First Time M Tree Setup
$ export CODK_DIR=$(pwd) $ source ../zephyr/zephyr-env.sh
make upload-ble-dfu
make upload-x86-dfu
make upload-arc-dfu
8
This example will output an ASCIITable for
proof of life on the Arduino101 or the tinyTILE.
Connect the board to the computer if
necessary
Verify serial port ttyACM0 is found
In the terminal session: dmesg | grep tty
You should see for example ttyACM0 referenced
Use serial port terminal program CuteCom
In the terminal session: cutecom &
If not installed: sudo apt-get install cutecom
In CuteCom, change the name to your serial device
for example /dev/ttyACM0
Proof of Life - ASCIITable
$ export CODK_DIR=$(pwd) $ source ../zephyr/zephyr-env.sh
dmesg| grep tty
cutecom &
4/10/17	
5	
9
Run commands to compile the ASCIITable example
in a terminal window
Not necessary if continuing from M-Tree setup
export CODK_DIR=~/CODK/CODK-M
source ~/CODK/zephyr/zephyr-env.sh
cd ~/CODK/CODK-M
make compile-x86
make compile-arc
Run commands to execute the ASCIITable
example in terminal window you used to compile.
cd $CODK_DIR/arc/examples/ASCIITable
make upload SERIAL_PORT=/dev/ttyACM0
May have benign error
Proof of Life - ASCIITable
$ export CODK_DIR=$(pwd) $ source ../zephyr/zephyr-env.sh
cd $CODK_DIR/arc/examples/ASCIITable
make upload SERIAL_PORT=/dev/ttyACM0
10
Wait for 10 seconds after the upload
and select Open Device in the
CuteCom terminal
You should see this
Select Close Device and quit
Proof of Life - ASCIITable
$ export CODK_DIR=$(pwd) $ source ../zephyr/zephyr-env.sh
4/10/17	
6	
11
This example will flash an on board LED for proof of life on
the Arduino101. This will only work on the Arduino101
because the tinyTILE does not have the LED built in.
Connect the board to the computer if necessary
Verify serial port ttyACM0 is found
In a new terminal session: dmesg | grep tty
You should see for example ttyACM0 referenced
Run commands to compile the Blink example in a
terminal window
Not necessary if continuing from M-Tree setup or
ASCIItable
export CODK_DIR=~/CODK/CODK-M
source ~/CODK/zephyr/zephyr-env.sh
Convert-Sketch - Blink
$ export CODK_DIR=$(pwd) $ source ../zephyr/zephyr-env.sh
dmesg| grep tty
cutecom &
12
Run commands to execute the Blink example in terminal
window you used to compile: cd $CODK_DIR/arc/examples/Blink
The make convert-sketch command will create the cpp file:
make convert-sketch SKETCH=Blink.ino
Blink Makefile can be used for other examples. Edit content
and add libraries with LIBDIRS. Simple will have it empty:
LIBDIRS = $(ARDUINOIDE_DIR)/libraries/WiFi/src 
$(ARDUINOSW_DIR)/corelibs/libraries/SPI/src
The make compile will generate the executable to be
uploaded: make compile
make upload SERIAL_PORT=/dev/ttyACM0
The LED on pin 13 should turn off and on every second
Convert-Sketch – Blink
$ export CODK_DIR=$(pwd) $ source ../zephyr/zephyr-env.sh
cd $CODK_DIR/arc/examples/Blink
make convert-sketch SKETCH=Blink.ino
make upload-arc-dfu
make compile
make upload SERIAL_PORT=/dev/ttyACM0
4/10/17	
7	
13
Run commands to execute the Blink example in new
terminal window: cd $CODK_DIR
The make project command will create the necessary files
for your project: make project PROJ_DIR=my_project
Source the generated env.sh:
source my_project/env.sh
This sets CODK_DIR, ARC_PROJ_DIR, X86_PROJ_DIR and
sources the zephyr environment at $CODK_DIR/../zephyr/
zephyr-env.sh, so you don't need to do these things now
when working in my_project; just source env.sh.
Your are now ready to code and compile in my_project/arc
and my_project/x86
Create Your Own Project
$ export CODK_DIR=$(pwd) $ source ../zephyr/zephyr-env.sh
cd $CODK_DIR
make project PROJ_DIR=my_project
source my_project/env.sh
14
You can use the content of the Intel pattern matching engine repository in the A tree and
in the M tree, and create pattern matching application examples.
Clone the GitHub repository:
git clone https://github.com/01org/Intel-Pattern-Matching-Technology
Store the content of the repository under CODK-A/arc/libraries or CODK-M/arc/libraries.
Copy the makefile from another example sketch (for example Blink) and paste in the
pattern matching example folder.
Edit the makefile to indicate the path to Intel pattern matching library. For example
sketch a_SimplePatternMatching:
LIBDIRS = $(ARDUINOSW_DIR)/libraries/Intel-Pattern-Matching-Technology/src
Pattern Matching Library
$ export CODK_DIR=$(pwd) $ source ../zephyr/zephyr-env.sh
4/10/17	
8	
15
From within the CODK-A directory or the CODK-M directory, run the following command
to convert a pattern matching example sketch and build the application:
cd $CODK_DIR/arc/libraries/Intel-Pattern-Matching-Technology/examples/
a_SimplePatternMatching
make convert-sketch SKETCH=a_SimplePatternMatching.ino
make compile
make upload SERIAL_PORT=/dev/ttyACM0
Pattern Matching Library
$ export CODK_DIR=$(pwd) $ source ../zephyr/zephyr-env.sh
16
To factory reset the Arduino101/tinyTILE,
connect the board and execute the
following commands in a terminal window:
cd ~/arduino101-factory_recovery-flashpack
./flash_dfu.sh
There may be benign errors.
Factory Reset
$ export CODK_DIR=$(pwd) $ source ../zephyr/zephyr-env.sh
cd ~/arduino101-factory_recovery-flashpack
./flash_dfu.sh
4/10/17	
9	
17
Installation is already done on hosts:
https://software.intel.com/en-us/node/675543
Troubleshooting

More Related Content

PDF
Intel® Curie™ Open Developer Kit (ODK): A Primer—Part 1
PDF
Getting Started with iBeacons (Designers of Things 2014)
PDF
One Shellcode to Rule Them All: Cross-Platform Exploitation
PDF
Composer for busy developers - DPC13
PDF
FreeBSD on Cavium ThunderX System on a Chip
PDF
Composer: putting dependencies on the score
PDF
Vincent Ruijter - ~Securing~ Attacking Kubernetes
PPTX
Lessons from running potentially malicious code inside Docker containers
Intel® Curie™ Open Developer Kit (ODK): A Primer—Part 1
Getting Started with iBeacons (Designers of Things 2014)
One Shellcode to Rule Them All: Cross-Platform Exploitation
Composer for busy developers - DPC13
FreeBSD on Cavium ThunderX System on a Chip
Composer: putting dependencies on the score
Vincent Ruijter - ~Securing~ Attacking Kubernetes
Lessons from running potentially malicious code inside Docker containers

Similar to Intel® Curie™ Open Developer Kit (ODK): A Primer—Part 2 (20)

PPTX
Running Docker in Development & Production (DevSum 2015)
PPTX
Running .NET on Docker
PPTX
Lab Handson: Power your Creations with Intel Edison!
PDF
IoT Getting Started with Intel® IoT Devkit
PPTX
Real World Experience of Running Docker in Development and Production
PDF
Lab Zero Lunchdown: Deploying Elixir and Phoenix Applications
PDF
stackconf 2022: Cluster Management: Heterogeneous, Lightweight, Safe. Pick Three
PDF
DPDK in Containers Hands-on Lab
PPTX
Начало работы с Intel IoT Dev Kit
PPT
Developing new zynq based instruments
PPTX
Architecting .NET Applications for Docker and Container Based Deployments
PDF
Delivering Docker & K3s worloads to IoT Edge devices
PPT
Springboard & OpenCV
ODP
OpenCV 2.2.0 for Android
PDF
Developing and Deploying PHP with Docker
PDF
Composer, putting dependencies on the score
PDF
Dependencies Managers in C/C++. Using stdcpp 2014
PDF
JDO 2019: Tips and Tricks from Docker Captain - Łukasz Lach
PDF
Was is Docker? Or: Docker for Software Developers
PPTX
Docker Introductory workshop
Running Docker in Development & Production (DevSum 2015)
Running .NET on Docker
Lab Handson: Power your Creations with Intel Edison!
IoT Getting Started with Intel® IoT Devkit
Real World Experience of Running Docker in Development and Production
Lab Zero Lunchdown: Deploying Elixir and Phoenix Applications
stackconf 2022: Cluster Management: Heterogeneous, Lightweight, Safe. Pick Three
DPDK in Containers Hands-on Lab
Начало работы с Intel IoT Dev Kit
Developing new zynq based instruments
Architecting .NET Applications for Docker and Container Based Deployments
Delivering Docker & K3s worloads to IoT Edge devices
Springboard & OpenCV
OpenCV 2.2.0 for Android
Developing and Deploying PHP with Docker
Composer, putting dependencies on the score
Dependencies Managers in C/C++. Using stdcpp 2014
JDO 2019: Tips and Tricks from Docker Captain - Łukasz Lach
Was is Docker? Or: Docker for Software Developers
Docker Introductory workshop
Ad

More from TechWell (20)

PDF
Failing and Recovering
PDF
Instill a DevOps Testing Culture in Your Team and Organization
PDF
Test Design for Fully Automated Build Architecture
PDF
System-Level Test Automation: Ensuring a Good Start
PDF
Build Your Mobile App Quality and Test Strategy
PDF
Testing Transformation: The Art and Science for Success
PDF
Implement BDD with Cucumber and SpecFlow
PDF
Develop WebDriver Automated Tests—and Keep Your Sanity
PDF
Ma 15
PDF
Eliminate Cloud Waste with a Holistic DevOps Strategy
PDF
Transform Test Organizations for the New World of DevOps
PDF
The Fourth Constraint in Project Delivery—Leadership
PDF
Resolve the Contradiction of Specialists within Agile Teams
PDF
Pin the Tail on the Metric: A Field-Tested Agile Game
PDF
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
PDF
A Business-First Approach to DevOps Implementation
PDF
Databases in a Continuous Integration/Delivery Process
PDF
Mobile Testing: What—and What Not—to Automate
PDF
Cultural Intelligence: A Key Skill for Success
PDF
Turn the Lights On: A Power Utility Company's Agile Transformation
Failing and Recovering
Instill a DevOps Testing Culture in Your Team and Organization
Test Design for Fully Automated Build Architecture
System-Level Test Automation: Ensuring a Good Start
Build Your Mobile App Quality and Test Strategy
Testing Transformation: The Art and Science for Success
Implement BDD with Cucumber and SpecFlow
Develop WebDriver Automated Tests—and Keep Your Sanity
Ma 15
Eliminate Cloud Waste with a Holistic DevOps Strategy
Transform Test Organizations for the New World of DevOps
The Fourth Constraint in Project Delivery—Leadership
Resolve the Contradiction of Specialists within Agile Teams
Pin the Tail on the Metric: A Field-Tested Agile Game
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
A Business-First Approach to DevOps Implementation
Databases in a Continuous Integration/Delivery Process
Mobile Testing: What—and What Not—to Automate
Cultural Intelligence: A Key Skill for Success
Turn the Lights On: A Power Utility Company's Agile Transformation
Ad

Recently uploaded (20)

PPTX
history of c programming in notes for students .pptx
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
Digital Systems & Binary Numbers (comprehensive )
PPTX
ai tools demonstartion for schools and inter college
PDF
System and Network Administration Chapter 2
PPTX
Computer Software and OS of computer science of grade 11.pptx
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PPTX
L1 - Introduction to python Backend.pptx
PPTX
Transform Your Business with a Software ERP System
PPTX
Reimagine Home Health with the Power of Agentic AI​
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
medical staffing services at VALiNTRY
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
top salesforce developer skills in 2025.pdf
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
Design an Analysis of Algorithms I-SECS-1021-03
history of c programming in notes for students .pptx
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
VVF-Customer-Presentation2025-Ver1.9.pptx
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Digital Systems & Binary Numbers (comprehensive )
ai tools demonstartion for schools and inter college
System and Network Administration Chapter 2
Computer Software and OS of computer science of grade 11.pptx
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
L1 - Introduction to python Backend.pptx
Transform Your Business with a Software ERP System
Reimagine Home Health with the Power of Agentic AI​
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
medical staffing services at VALiNTRY
Wondershare Filmora 15 Crack With Activation Key [2025
Softaken Excel to vCard Converter Software.pdf
top salesforce developer skills in 2025.pdf
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Design an Analysis of Algorithms I-SECS-1021-03

Intel® Curie™ Open Developer Kit (ODK): A Primer—Part 2

  • 3. 4/10/17 1 Makers and Innovators Curie Open Developer Kit IOT Dev+Test CODK •  Introduction •  First Time M-Tree Setup •  Proof of Life - ASCIITable •  Convert-sketch – Blink 2 •  Create Your Own Project •  Pattern Matching Library •  Factory Reset •  Case Study
  • 4. 4/10/17 2 3 Software … Tools … Documentation for developers to build boards based on the Intel Curie module and turn them into products. Three firmware source trees available : •  A Tree – Arduino101 firmware, Arduino core libraries and tools •  Z Tree – Zephyr firmware that targets Arduino101 as host Core •  M Tree – Mix of A and Z trees. Firmware based on Zephyr on the Quark, and user code with Arduino class libraries on the ARC The M Tree brings: •  Arduino class libraries •  Dual core option of running code on Quark •  Debugging using GDB Curie Open Developer Kit (CODK) Introduction 4 Basic functionality and speed Arduino IDE Heavy compute CODK Complex debug EnvironmentArduino IDE ISSM x86 Quark CODK EnvironmentISSM ISSM Yes No Yes No CMD Line GUI CMD Line GUI Z-tree M-tree Insufficient Sufficient Curie software decision tree •  Arduino IDE and ISSM- primary options for contestants •  Arduino IDE for basics •  ISSM for anything needing multiple cores or debugging •  CODK- still available for •  Those who want to do their own IDE integration •  Prefer command line •  Just want extra debugging
  • 5. 4/10/17 3 5 Basic functionality and speed Arduino IDE Heavy compute CODK Complex debug EnvironmentArduino IDE ISSM x86 Quark CODK EnvironmentISSM ISSM Sufficient Yes No Yes Insufficient No CMD Line GUI CMD Line GUI Z-tree M-tree MotivateMe PowerBobber Grush ASEAH NWTN HandsOn Project Breakdown •  Arduino IDE- MotivateMe and PowerBobber only needed basics •  CODK M – HandsOn could have debugged their wireless gloves •  Z-tree- Grush wanted an embedded o/s •  M-tree- ASEAH and NWTN would have used multiple cores and x86 functionality 6 Connect Arduino101/tinyTILE Arduino101 uses standard USB 2.0 A to B plug tinyTILE uses micro USB Compile Firmware/Software Setup your environment for development by running in a new terminal: export CODK_DIR=~/CODK/CODK-M source ~/CODK/zephyr/zephyr-env.sh This needs to be run in any new terminal before you compile. Change directories to the top level directory for CODK-M in the terminal session: cd ~/CODK/CODK-M The default top-level makefile builds the ASCIITable example. Compile x86 in terminal session: make compile-x86 Compile ARC in terminal session: make compile-arc First Time M Tree Setup $ export CODK_DIR=$(pwd) $ source ../zephyr/zephyr-env.sh export CODK_DIR=~/CODK/CODK-M source ~/CODK/zephyr/zephyr-env.sh cd ~/CODK/CODK-M make compile-x86 make compile-arc
  • 6. 4/10/17 4 7 Update BLE firmware Each Arduino101 with factory settings will need to update BLE firmware for M-Tree by running in terminal session: make upload-ble- dfu Some error messages are benign. Loading bar should reach 100%. You only do this again on the same board if it has been reset to factory settings Flash using USB/DFU Flash x86 binary image in terminal session : make upload-x86-dfu Some error messages are benign. Loading bar should reach 100%. Flash ARC binary image in terminal session: make upload-arc-dfu Some error messages are benign. Loading bar should reach 100%. First Time M Tree Setup $ export CODK_DIR=$(pwd) $ source ../zephyr/zephyr-env.sh make upload-ble-dfu make upload-x86-dfu make upload-arc-dfu 8 This example will output an ASCIITable for proof of life on the Arduino101 or the tinyTILE. Connect the board to the computer if necessary Verify serial port ttyACM0 is found In the terminal session: dmesg | grep tty You should see for example ttyACM0 referenced Use serial port terminal program CuteCom In the terminal session: cutecom & If not installed: sudo apt-get install cutecom In CuteCom, change the name to your serial device for example /dev/ttyACM0 Proof of Life - ASCIITable $ export CODK_DIR=$(pwd) $ source ../zephyr/zephyr-env.sh dmesg| grep tty cutecom &
  • 7. 4/10/17 5 9 Run commands to compile the ASCIITable example in a terminal window Not necessary if continuing from M-Tree setup export CODK_DIR=~/CODK/CODK-M source ~/CODK/zephyr/zephyr-env.sh cd ~/CODK/CODK-M make compile-x86 make compile-arc Run commands to execute the ASCIITable example in terminal window you used to compile. cd $CODK_DIR/arc/examples/ASCIITable make upload SERIAL_PORT=/dev/ttyACM0 May have benign error Proof of Life - ASCIITable $ export CODK_DIR=$(pwd) $ source ../zephyr/zephyr-env.sh cd $CODK_DIR/arc/examples/ASCIITable make upload SERIAL_PORT=/dev/ttyACM0 10 Wait for 10 seconds after the upload and select Open Device in the CuteCom terminal You should see this Select Close Device and quit Proof of Life - ASCIITable $ export CODK_DIR=$(pwd) $ source ../zephyr/zephyr-env.sh
  • 8. 4/10/17 6 11 This example will flash an on board LED for proof of life on the Arduino101. This will only work on the Arduino101 because the tinyTILE does not have the LED built in. Connect the board to the computer if necessary Verify serial port ttyACM0 is found In a new terminal session: dmesg | grep tty You should see for example ttyACM0 referenced Run commands to compile the Blink example in a terminal window Not necessary if continuing from M-Tree setup or ASCIItable export CODK_DIR=~/CODK/CODK-M source ~/CODK/zephyr/zephyr-env.sh Convert-Sketch - Blink $ export CODK_DIR=$(pwd) $ source ../zephyr/zephyr-env.sh dmesg| grep tty cutecom & 12 Run commands to execute the Blink example in terminal window you used to compile: cd $CODK_DIR/arc/examples/Blink The make convert-sketch command will create the cpp file: make convert-sketch SKETCH=Blink.ino Blink Makefile can be used for other examples. Edit content and add libraries with LIBDIRS. Simple will have it empty: LIBDIRS = $(ARDUINOIDE_DIR)/libraries/WiFi/src $(ARDUINOSW_DIR)/corelibs/libraries/SPI/src The make compile will generate the executable to be uploaded: make compile make upload SERIAL_PORT=/dev/ttyACM0 The LED on pin 13 should turn off and on every second Convert-Sketch – Blink $ export CODK_DIR=$(pwd) $ source ../zephyr/zephyr-env.sh cd $CODK_DIR/arc/examples/Blink make convert-sketch SKETCH=Blink.ino make upload-arc-dfu make compile make upload SERIAL_PORT=/dev/ttyACM0
  • 9. 4/10/17 7 13 Run commands to execute the Blink example in new terminal window: cd $CODK_DIR The make project command will create the necessary files for your project: make project PROJ_DIR=my_project Source the generated env.sh: source my_project/env.sh This sets CODK_DIR, ARC_PROJ_DIR, X86_PROJ_DIR and sources the zephyr environment at $CODK_DIR/../zephyr/ zephyr-env.sh, so you don't need to do these things now when working in my_project; just source env.sh. Your are now ready to code and compile in my_project/arc and my_project/x86 Create Your Own Project $ export CODK_DIR=$(pwd) $ source ../zephyr/zephyr-env.sh cd $CODK_DIR make project PROJ_DIR=my_project source my_project/env.sh 14 You can use the content of the Intel pattern matching engine repository in the A tree and in the M tree, and create pattern matching application examples. Clone the GitHub repository: git clone https://github.com/01org/Intel-Pattern-Matching-Technology Store the content of the repository under CODK-A/arc/libraries or CODK-M/arc/libraries. Copy the makefile from another example sketch (for example Blink) and paste in the pattern matching example folder. Edit the makefile to indicate the path to Intel pattern matching library. For example sketch a_SimplePatternMatching: LIBDIRS = $(ARDUINOSW_DIR)/libraries/Intel-Pattern-Matching-Technology/src Pattern Matching Library $ export CODK_DIR=$(pwd) $ source ../zephyr/zephyr-env.sh
  • 10. 4/10/17 8 15 From within the CODK-A directory or the CODK-M directory, run the following command to convert a pattern matching example sketch and build the application: cd $CODK_DIR/arc/libraries/Intel-Pattern-Matching-Technology/examples/ a_SimplePatternMatching make convert-sketch SKETCH=a_SimplePatternMatching.ino make compile make upload SERIAL_PORT=/dev/ttyACM0 Pattern Matching Library $ export CODK_DIR=$(pwd) $ source ../zephyr/zephyr-env.sh 16 To factory reset the Arduino101/tinyTILE, connect the board and execute the following commands in a terminal window: cd ~/arduino101-factory_recovery-flashpack ./flash_dfu.sh There may be benign errors. Factory Reset $ export CODK_DIR=$(pwd) $ source ../zephyr/zephyr-env.sh cd ~/arduino101-factory_recovery-flashpack ./flash_dfu.sh
  • 11. 4/10/17 9 17 Installation is already done on hosts: https://software.intel.com/en-us/node/675543 Troubleshooting