Presentation is loading. Please wait.

Presentation is loading. Please wait.

VisualDSP++ and Test Driven Development Prelaboratory assignment information.

Similar presentations


Presentation on theme: "VisualDSP++ and Test Driven Development Prelaboratory assignment information."— Presentation transcript:

1 VisualDSP++ and Test Driven Development Prelaboratory assignment information

2 6/20/2015 Concepts of TDD, M. Smith, ECE, University of Calgary, Canada 2 / 28 Concepts Stages in a conventional radio Stages in a software radio Goals for the “long term” project Building a VisualDSP project using TDD See web for more specific details Demo if time is available

3 6/20/2015 Concepts of TDD, M. Smith, ECE, University of Calgary, Canada 3 / 28 Test Driven Development Customer Tests – personally find these hard to do Not clear if there is yet “a real process available” Developer Tests – have found many advantages CUSTOMER DEVELOPER

4 6/20/2015 Concepts of TDD, M. Smith, ECE, University of Calgary, Canada 4 / 28 Software “AM” radio concept Antenna Pickup Local Oscillator Mixer Low pass Filter Rectifier Audio out RF STAGE IF STAGE AUDIO STAGE Most stages handled with high speed software Low pass Filter + amplifier

5 6/20/2015 Concepts of TDD, M. Smith, ECE, University of Calgary, Canada 5 / 28 Rectification algorithm Choices are C++ compiler in DEBUG mode int *RectifyDEBUG(int initial[ ], int final, int N); float *RectifyDEBUG (float initial[ ], float final, int N); C++ compiler in RELEASE mode int *RectifyRELEASE(int initial[ ], int final, int N); float *RectifyRELEASE(float initial[ ], float final, int N); “US” in ASSEMBLY mode int *RectifyASM(int initial[ ], int final, int N); float *RectifyASM(float initial[ ], float final, int N); “US” in OPTIMIZED ASSEMBLY mode int *RectifyOPTASM (int initial[ ], int final, int N); float *RectifyOPTASM (float initial[ ], float final, int N);

6 6/20/2015 Concepts of TDD, M. Smith, ECE, University of Calgary, Canada 6 / 28 Files and directories needed TDD and many tests files available on web ENCM515 TDD ActivateTestsmain.cpp Check web for updates TS201_char8_TDDLib_4Dec04.dlb TDD_include25Nov04.h TDD_Tests25Nov04.h TigerSHARC versions to come hardwareTDD.h datastoreTDD.h Rectify Rectify.h Rectifymain.cpp CustomerRectifymain.cpp TS201.ldf HalfWaveDebug.cpp Rectify.prj HalfWaveRelease.cpp HalfWaveASMint.asm HalfWaveASMfloat.asm RectifyTests HalfWaveDebugTests.cpp HalfWaveReleaseTests.cpp HalfWaveASMTests.cpp HalfWaveTimingTests.cpp Lab1Lab1Tests Lab2Lab2Tests LabX LabXTests

7 6/20/2015 Concepts of TDD, M. Smith, ECE, University of Calgary, Canada 7 / 28 First unit test RectifyTests/Lab1HalfWaveDebugTests.cpp (on Web) #include “../Rectify/Rectify.h”

8 6/20/2015 Concepts of TDD, M. Smith, ECE, University of Calgary, Canada 8 / 28 Running the tests or customer code Lab1/ Lab1main.cpp

9 6/20/2015 Concepts of TDD, M. Smith, ECE, University of Calgary, Canada 9 / 28 Running the customer product code Rectify/CustomerRectifymain.cpp #include “Rectify.h” int CustomerRectifymain(void);

10 6/20/2015 Concepts of TDD, M. Smith, ECE, University of Calgary, Canada 10 / 28 Test code –TDD/ActivateTestsmain.cpp Report all tests. Success and failures Report successes only

11 6/20/2015 Concepts of TDD, M. Smith, ECE, University of Calgary, Canada 11 / 28 Build a project -- Steps 1 and 2 Hold down CTRL Key

12 6/20/2015 Concepts of TDD, M. Smith, ECE, University of Calgary, Canada 12 / 28 Build a project – Steps 3, 4, 5, 6

13 6/20/2015 Concepts of TDD, M. Smith, ECE, University of Calgary, Canada 13 / 28 Build a project – Steps 8, 9, 10

14 6/20/2015 Concepts of TDD, M. Smith, ECE, University of Calgary, Canada 14 / 28 Adding files to project

15 6/20/2015 Concepts of TDD, M. Smith, ECE, University of Calgary, Canada 15 / 28 Build and run commands Build THIS file Build ANY CHANGED files (Use most of the time for speed reasons) Build ALL files Run the program Halt the program

16 6/20/2015 Concepts of TDD, M. Smith, ECE, University of Calgary, Canada 16 / 28 Runs “slowly” in single cycle accurate Simulator mode Run on “real board” in ICT320 using Summit ICE JTAG

17 6/20/2015 Concepts of TDD, M. Smith, ECE, University of Calgary, Canada 17 / 28 Some useful project menu options About every 10 builds or when things “just are not going right” Clean Update dependencies Rebuild ALL

18 6/20/2015 Concepts of TDD, M. Smith, ECE, University of Calgary, Canada 18 / 28 RectifyTests/HalfWaveDebug.cpp “works” but contains a hidden bug #include “Rectify/Rectify.h”

19 6/20/2015 Concepts of TDD, M. Smith, ECE, University of Calgary, Canada 19 / 28 Integer array tests ZERO-LENGTH ARRAY Unspecified requirement – shown as part of test functionality Function return pointer = NULL if error condition present

20 6/20/2015 Concepts of TDD, M. Smith, ECE, University of Calgary, Canada 20 / 28 Fast generation of “Release Code/Tests” Save a version of RectifyTests/ HalfWaveDebugTests.cpp as RectifyTests/ HalfWaveReleaseTests.cpp Use editor to change function names from XXXDebug to XXXRelease Save a version of Rectify/ HalfWaveDebug.cpp as Rectify/ HalfWaveRelease.cpp Use editor to change function names from XXXDebug to XXXRelease

21 6/20/2015 Concepts of TDD, M. Smith, ECE, University of Calgary, Canada 21 / 28 Fast generation of Release code/tests Add RectifyTests/ HalfWaveReleaseTests.cpp and Rectify/ HalfWaveRelease.cpp to project Compile and link to make sure that they work Need to change “compile option” for Rectify/ HalfWaveRelease.cpp to optimized

22 6/20/2015 Concepts of TDD, M. Smith, ECE, University of Calgary, Canada 22 / 28 Steps for changing options of “one file” to “optimized / release mode”

23 6/20/2015 Concepts of TDD, M. Smith, ECE, University of Calgary, Canada 23 / 28 Float and assembly language tests -- Cut and paste versions of integer tests

24 6/20/2015 Concepts of TDD, M. Smith, ECE, University of Calgary, Canada 24 / 28 Speed tests – integer code versions

25 6/20/2015 Concepts of TDD, M. Smith, ECE, University of Calgary, Canada 25 / 28 Concepts covered Stages in a conventional radio Stages in a software radio Goals for the “long term” project Concept of test driven development Digital rectification Tests for integer array rectification Tests for float array rectification (C++ compiler) Tests for rectification in assembly code More details of test driven development

26 6/20/2015 Concepts of TDD, M. Smith, ECE, University of Calgary, Canada 26 / 28 Time for a demo Need 1 student volunteer

27 6/20/2015 Concepts of TDD, M. Smith, ECE, University of Calgary, Canada 27 / 28 Concepts Stages in a conventional radio Stages in a software radio Goals for the “long term” project Building a VisualDSP project using TDD See web for more specific details Demo if time is available


Download ppt "VisualDSP++ and Test Driven Development Prelaboratory assignment information."

Similar presentations


Ads by Google