The code in src/wf_example illustrates the use of WFI or WFE calls that put the calling ARM core into clock gating mode to save power.

Similar documents
LTC Data Converter Board For The Arrow SoCKit Linux Application User s Guide

Freescale Semiconductor Inc. Vybrid DS-5 Getting Started Guide Rev 1.0

HPS SoC Boot Guide - Cyclone V SoC Development Kit

Bare Metal User Guide

Intel SoC FPGA Embedded Development Suite User Guide

Designing with ALTERA SoC Hardware

Intel SoC FPGA Embedded Development Suite (SoC EDS) Release Notes

Altera SoC Embedded Design Suite User Guide

Pengwyn Documentation

Altera SoC Embedded Design Suite User Guide

Zynq-7000 Platform Software Development Using the ARM DS-5 Toolchain Author: Simon George and Prushothaman Palanichamy

Heterogeneous multi-processing with Linux and the CMSIS-DSP library

Copyright 2014 Xilinx

DS-5 ARM. Getting Started with DS-5. Version 5.6. Copyright 2010, 2011 ARM. All rights reserved. ARM DUI 0478F (ID071411)

Kinetis SDK Freescale Freedom FRDM-KL03Z Platform User s Guide

Cyclone V SoC PCI-Express Root Port Example Design. Application Note

Getting Started with FreeRTOS BSP for i.mx 7Dual

Designing with ALTERA SoC

Introduction to Embedded System Design using Zynq

Freescale Semiconductor gcc linaro toolchain, Rev

Getting Started with Kinetis SDK (KSDK) v.1.2

Labs instructions for Enabling BeagleBone with TI SDK 5.x

Nios II Embedded Design Suite Release Notes

Intel Stratix 10 SoC FPGA Boot User Guide

Imperas Guide to using Virtual Platforms. Platform / Module Specific Information for mips.ovpworld.org / BareMetalMipsSingle. Imperas Software Limited

Project Documentation

RELEASE NOTES. GNU Toolchain for Atmel ARM Embedded Processors. Introduction

MV 4412 Android 4.0 Compilation

Zephyr Kernel Installation & Setup Manual

Getting Started with Kinetis SDK (KSDK) v.1.3

Lab2 - Bootloader. Conventions. Department of Computer Science and Information Engineering National Taiwan University

Lab11 - Bare Metal Programming. Department of Computer Science and Information Engineering National Taiwan University

VORAGO VA108x0 GCC IDE application note

Partial Reconfiguration with the Arria 10 HPS

Embedded Systems Programming

As CCS starts up, a splash screen similar to one shown below will appear.

Getting Started with MCUXpresso SDK

NXP i.mx 6 UltraLite Evaluation Kit Edge MicroServer Installation and Setup Guide. Version 1.0

ChipScope Inserter flow. To see the Chipscope added from XPS flow, please skip to page 21. For ChipScope within Planahead, please skip to page 23.

Estimating Accelerator Performance and Events

Designing with Nios II Processor for Hardware Engineers

BlazePPS (Blaze Packet Processing System) CSEE W4840 Project Design

MV V310 Android 4.0 Compilation

Debugging Nios II Systems with the SignalTap II Logic Analyzer

DS2 Products Auto-Update Tool BSP

ARM DS-5. Using the Debugger. Copyright 2010 ARM. All rights reserved. ARM DUI 0446A (ID070310)

Santa Fe (MAXREFDES5#) MicroZed Quick Start Guide

NovTech Evaluation Board NOVPEK CVLite

Cyclone V SoC HPS Release Notes

Hands-On with STM32 MCU Francesco Conti

μc/probe on the element14 BeagleBone Black

Lesson 7 Programming Embedded Galileo, Raspberry Pi, BeagleBone and mbed Platforms

Multi-core microcontroller design with Cortex-M processors and CoreSight SoC

ARM. Streamline. Performance Analyzer. Using ARM Streamline. Copyright 2010 ARM Limited. All rights reserved. ARM DUI 0482A (ID100210)

IoT with Intel Galileo Gerardo Carmona. makerobots.tk

1-1 SDK with Zynq EPP

SBC-S32V234 QUICK START GUIDE (QSG)

Section 2: Getting Started with a FPU Demo Project using EK-LM4F232

**Note that this must be run from a PC on the same network segment as the NetBotz device, and the NetBotz device MUST be connected to the network.

AN301, Spring 2017, V 1.0 Ken Havens

Tutorial on Basic Android Setup


Imperas Guide to using Virtual Platforms. Platform / Module Specific Information for imperas.ovpworld.org / ArmuKernelDual. Imperas Software Limited

Building U-Boot in CodeWarrior ARMv8

FX SERIES. Programmer s Guide. Embedded SDK. MN000540A01 Rev. A

ARM DS-5. Getting Started Guide. Version Copyright ARM Limited or its affiliates. All rights reserved.

Zynq-7000 All Programmable SoC: Embedded Design Tutorial. A Hands-On Guide to Effective Embedded System Design

Virtual Machine Support

Using STM32 discovery kits with open source tools. STLINK development team

Armstrap Documentation

μc/probe on the element14 BeagleBone Black

CS520 Setting Up the Programming Environment for Windows Suresh Kalathur. For Windows users, download the Java8 SDK as shown below.

Xinu on Intel Galileo User Manual

xpress Release Notes

Intel Stratix 10 SoC FPGA Boot User Guide

REX-RED Community Android 4.3

MBN52832DK Rev A User Guide

How to utilize the CM-9 source

Intel FPGA SDK for OpenCL

Broadcom BCM943364WCD1 C-SDK Setup Guide. Version 1.0

DS-5 Workshop: Debug, Trace and Performance Analysis on the Arrow SoCKit board:

Matrix-710. Linux-Ready Cortex-A5 Industry IoT Gateway. Hardware Guide. Version: Nov.

ECEN 449: Microprocessor System Design Department of Electrical and Computer Engineering Texas A&M University

Profiling Applications and Creating Accelerators

Speeding AM335x Programmable Realtime Unit (PRU) Application Development Through Improved Debug Tools

MCUXpresso SDK USB Stack User s Guide

Oracle VM Template for MySQL Enterprise Edition =========================================================================== ===

Getting Started with Freescale MQX RTOS for Kinetis SDK and ARM GCC

Blackfin cross development with GNU Toolchain and Eclipse

WSM-BLE241 DK Rev C User Guide

Python Boot Manager PC Interface for loading Python scripts 30/08/07

«Real Time Embedded systems» Cyclone V SOC - FPGA

Avnet Zynq Mini Module Plus Embedded Design

pcduino V3B XC4350 User Manual

Parallella Linux - quickstart guide. Antmicro Ltd

NovTech Evaluation Board NOVPEK CVLite

Software Quality is Directly Proportional to Simulation Speed

Linux Strace tool user guide

DSP/BIOS LINK. DM6446/DM6467/DM6467T Media Processor LNK 110 USR 1.64

HyperBus Memory Controller (HBMC) Tutorial

Transcription:

Introduction The code in src/wf_example illustrates the use of WFI or WFE calls that put the calling ARM core into clock gating mode to save power. This project makes use of the "Sparrow" baremetal/amp build framework. ===================================================================== Source Files src/wf_example/main.c src/wf_example/wf_example.c "sleeps." => Set up CPUs and kick things off. => Run "heartbeats" on each CPU with intermittent ===================================================================== Building the Example 1. Unzip this archive. 2. Navigate to the top level directory. 3. Open an embedded command shell. 4. Set the environment variable for CROSS_COMPILE 5. Optionally set VERBOSE=true 6. Run "make wf_example" 7. A "sparrow.axf" file is created in bin/wf_example. Example build flow captured below: **if you are using SoC EDS 13.1, then use the following command as your cross compiler ** > export CROSS_COMPILE=arm-none-eabi- **if you are using SoC EDS 14.0, then use the following command as your cross compiler ** > export CROSS_COMPILE=arm-altera-eabi- ~/work/sparrow_wfe/wfi_wfe_usage > export VERBOSE=true ~/work/sparrow_wfe/wfi_wfe_usage > make wf_example

mkdir -p bin/wf_example mkdir -p gen/wf_example python src/sparrow/sparrow.py src/wf_example/layout.py -C gen/wf_example/layout.c -H gen/wf_example/layout.h arm-none-eabi-gcc -march=armv7-a -mtune=cortex-a9 -mcpu=cortex-a9 -mfpu=neon -mfloatabi=hard -marm -c -I src/sparrow -I src/qcom -I hwlib/include -I gen/wf_example -DARM -g - fno-builtin -std=c99 -DALT_INT_PROVISION_VECTOR_SUPPORT=0 -I src/sparrow -I src/qcom -I hwlib/include -I gen/wf_example -DARM -DASM -o bin/wf_example/startup.o src/sparrow/startup.s... <Many more files built here>... *** Created bin/wf_example/sparrow.bin *** arm-none-eabi-objdump -DS bin/wf_example/sparrow.axf >bin/wf_example/sparrow.txt python src/sparrow/sparrow.py src/wf_example/layout.py -p >bin/wf_example/sparrow.map python src/sparrow/sparrow.py src/wf_example/layout.py -boots gen/wf_example/boot.script PATH=/home/brendan/.local/bin:/opt/altera/13.1b162/quartus/bin:/opt/altera/13.1b162/quartus/s opc_builder/bin:/opt/altera/13.1b162/embedded/host_tools/altera/preloadergen:/opt/altera/13.1b1 62/embedded/host_tools/altera/mkpimage:/opt/altera/13.1b162/embedded/host_tools/altera/devic e_tree:/opt/altera/13.1b162/embedded/host_tools/gnu/h-i686-pc-linuxgnu/bin:/opt/altera/13.1b162/embedded/host_tools/mentor/gnu/arm/baremetal/bin:/opt/altera/13. 1b162/embedded/host_tools/python/bin:/opt/altera/13.1b162/embedded/ds- 5/bin:/home/brendan/.local/bin:/usr/local/bin:/usr/local/sbin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/gam es:/usr/local/games:prebuilt mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n "bootscript" -d gen/wf_example/boot.script bin/wf_example/u-boot.scr > /dev/null =================================================================== Running the Example In order to run the design example, you have to load the generated binary (sparrow.axf) onto the board by using Eclipse DS-5 application. Please make sure the SD card already contains the SD image. **If you want to know how to write the SD card image onto an SD card, please refer to the GSRD User Manual in rocketboards.org. 1. Connect the Cyclone V SoC Development kit to your local host PC and power-up the board. **Do not slot the SD card into the board yet.**

2. Open the DS-5 application and click on the Debug view in the upper right part of Eclipse as shown below: 3. In the Debug Tab, right click and select Debug Configurations 4. On the new screen, right click DS-5 Debugger -> New 5. On the connection tab, select Altera -> Cyclone V SoC (Dual Core) -> Bare Metal Debug -> Debug Cortex-A9_0 6. Click Debug to connect to the board. 7. Run a terminal program. Putty console is a good choice if you are Window OS user. i.) Determine which serial port you were assigned. ii.) Go to Control Panel -> Hardware and Sound -> Devices and Printers -> Device Manger -> Ports (COM & LPT) :

iii.) In Putty Configuration, Select Serial (near the bottom) and use these options. iv.) Click Open 8. Now, slot the SD card into the board and perform warm reset. 9. Pause the U-boot by pressing "Enter." The Putty console should show the screen as below:

10. In the DS-5 program, click pause :

11. Issue the loadfile command in the Commands tab: loadfile "<Directory of Power Optimization design file>\bin\wf_example\sparrow.axf" 12. Click the Play button:

13. Then enter go 0x40 in the Putty Console: 14. Lastly, the Putty Console shows the following screen if the design run successfully: 15. Use the warm reset button to get back to a U-boot prompt.