Blackfin Syntax Moves and Adds

Slides:



Advertisements
Similar presentations
Tutorial Essentially all the Blackfin instruction you need for all of ENCM511. The instructions are easy. Its knowing when to use them that is the difficult.
Advertisements

Assignment Overview Thermal oscillator One of the ENCM415 Laboratory 2 items Oscillator out GND +5V.
Blackfin BF533 EZ-KIT Control The O in I/O Activating a FLASH memory “output line” Part 2.
Building a simple loop using Blackfin assembly code M. Smith, Electrical and Computer Engineering, University of Calgary, Canada.
Review of Blackfin Syntax Moves and Adds 1) What we already know and have to remember to apply 2) What we need to learn.
More Example Blackfin Code Using the E-UNITTest Framework.
A Play Core Timer Interrupts Acted by the Human Microcontroller Ensemble from ENCM415.
Timers and Timing Signals Tutorial. 6/18/2015 Timer Control Copyright M. Smith, ECE, University of Calgary, Canada 2 / 31 Temperature Sensor -- Lab 3.
Understanding the Blackfin ADSP-BF5XX Assembly Code Format
Just enough information to program a Blackfin Familiarization assignment for the Analog Devices’ VisualDSP++ Integrated Development Environment.
Tutorial Essentially all the Blackfin instruction you need for all of ENCM511. The instructions are easy. Its knowing when to use them that is the difficult.
Chapter 2 Software Tools and Assembly Language Syntax.
A Play Core Timer Interrupts Acted by the Human Microcontroller Ensemble from ENCM511.
Generating “Rectify( )” Test driven development approach to TigerSHARC assembly code production Assembly code examples Part 1 of 3.
Lab. 2 Overview Move the tasks you developed in Lab. 1 into the more controllable TTCOS operating system Manual control of RC car.
Moving Arrays -- 1 Completion of ideas needed for a general and complete program Final concepts needed for Final Review for Final – Loop efficiency.
Blackfin Array Handling Part 1 Making an array of Zeros void MakeZeroASM(int foo[ ], int N);
Lab. 2 Overview. Echo Switches to LED Lab1 Task 7 12/4/2015 TDD-Core Timer Library, Copyright M. Smith, ECE, University of Calgary, Canada 2 / 28.
A first attempt at learning about optimizing the TigerSHARC code TigerSHARC assembly syntax.
Building a simple loop using Blackfin assembly code If you can handle the while-loop correctly in assembly code on any processor, then most of the other.
A Play Core Timer Interrupts Acted by the Human Microcontroller Ensemble from ENCM415.
Assignment 4 / Lab. 3 Convert C++ ISR to ASM AND GET IT TO WORK Doing Assignment 4 / Lab. 3 the Test Driven Development way.
Chapter 5- Assembling , Linking, and Executing Programs
Example Addiu $t1 $r0 3 Addiu $t1 $t1 5 Addiu $t1 $t1 7.
Tutorial Essentially all the Blackfin instruction you need for all of ENCM511. The instructions are easy. Its knowing when to use them that is the difficult.
Microprocessor and Assembly Language
Developing a bicycle speed-o-meter
Design of the Control Unit for Single-Cycle Instruction Execution
Moving Arrays -- 1 Completion of ideas needed for a general and complete program Final concepts needed for Final Review for Final – Loop efficiency.
Lab. 2 Overview – Earlier Tasks Prelaboratory T1, T3, T4 and T5
and Executing Programs
Software and Hardware Circular Buffer Operations
Lab. 2 Overview.
Generating the “Rectify” code (C++ and assembly code)
Generating “Rectify( )”
A Play Core Timer Interrupts
Computer Programming Machine and Assembly.
Design of the Control Unit for One-cycle Instruction Execution
The planned and expected
Trying to avoid pipeline delays
Generating a software loop with memory accesses
Handling Arrays Completion of ideas needed for a general and complete program Final concepts needed for Final.
ECE 3430 – Intro to Microcomputer Systems
Lab. 2 – More details – Later tasks
Moving Arrays -- 1 Completion of ideas needed for a general and complete program Final concepts needed for Final Review for Final – Loop efficiency.
Assembly Language Review
Using Arrays Completion of ideas needed for a general and complete program Final concepts needed for Final.
A Play Lab. 2 Task 8 Core Timer Interrupts
Assembly Language Review
Handling Arrays Completion of ideas needed for a general and complete program Final concepts needed for Final.
Tutorial Essentially all the Blackfin instruction you need for all of ENCM511. The instructions are easy. Its knowing when to use them that is the difficult.
Getting serious about “going fast” on the TigerSHARC
Explaining issues with DCremoval( )
Lab. 4 – Part 2 Demonstrating and understanding multi-processor boot
Independent timers build into the processor Basis for Lab. 2
Handling Arrays Completion of ideas needed for a general and complete program Final concepts needed for Final.
The branch instruction
Developing a bicycle speed-o-meter
Independent timers build into the processor
Developing a bicycle speed-o-meter
Blackfin BF533 EZ-KIT Control The O in I/O
Lab. 2 Overview Move the tasks you developed in Lab. 1 into the more controllable TTCOS operating system.
Developing a bicycle speed-o-meter
Building a simple loop using Blackfin assembly code
Understanding the TigerSHARC ALU pipeline
A first attempt at learning about optimizing the TigerSHARC code
Working with the Compute Block
Computer Organization and Assembly Language
JavaScript 101 Lesson 8: Loops.
Blackfin Syntax Stores, Jumps, Calls and Conditional Jumps
Presentation transcript:

Blackfin Syntax Moves and Adds What we already know and have to remember to apply What we need to learn

Assembly code “stub” Each function written in assembly code has the same general look The necessary #include files and Section name Declaration of the function as “global” combined with labels for start and end of function Setting size of link operation and using LINK instruction to save the return address Unlink used with JUMP(P0) instruction to cause the function to return “to calling program” R0 used for return parameter Required code with Documentation of code 8/9/2019 Timer Control -- Lab.3, Copyright M. Smith, ECE, University of Calgary, Canada

Example 1 -- stub code 8/9/2019 Timer Control -- Lab.3, Copyright M. Smith, ECE, University of Calgary, Canada

Store/Write code 8/9/2019 Timer Control -- Lab.3, Copyright M. Smith, ECE, University of Calgary, Canada

Load/read 8/9/2019 Timer Control -- Lab.3, Copyright M. Smith, ECE, University of Calgary, Canada

Move Register 8/9/2019 Timer Control -- Lab.3, Copyright M. Smith, ECE, University of Calgary, Canada

Conditional move register 8/9/2019 Timer Control -- Lab.3, Copyright M. Smith, ECE, University of Calgary, Canada

Half register moves Zero extended Sign extended 8/9/2019 Timer Control -- Lab.3, Copyright M. Smith, ECE, University of Calgary, Canada

What does zero extended and sign extended mean? 1 1 1 1 0 In all bits 1 1 1 1 0 In all bits “sign bit” In all bits 1 1 1 1 1 In all bits 1 1 1 1 0 In all bits 8/9/2019 Timer Control -- Lab.3, Copyright M. Smith, ECE, University of Calgary, Canada

32 bit adds 8/9/2019 Timer Control -- Lab.3, Copyright M. Smith, ECE, University of Calgary, Canada

16 bit adds VIDEO two 16-bit Adds At same time 8/9/2019 Timer Control -- Lab.3, Copyright M. Smith, ECE, University of Calgary, Canada

Some assign statement Load immediate 8/9/2019 Timer Control -- Lab.3, Copyright M. Smith, ECE, University of Calgary, Canada

Some assign statement Load immediate 8/9/2019 Timer Control -- Lab.3, Copyright M. Smith, ECE, University of Calgary, Canada

8/9/2019 Timer Control -- Lab.3, Copyright M. Smith, ECE, University of Calgary, Canada

8/9/2019 Timer Control -- Lab.3, Copyright M. Smith, ECE, University of Calgary, Canada

Safe way of doing immediate loads 8/9/2019 Timer Control -- Lab.3, Copyright M. Smith, ECE, University of Calgary, Canada