Post Go back to editing

Using Tessy unit testing framework with CCES

Hi,

I'm working on a project using an ADSP-BF703 with the CCES IDE (currently have 2.9.0 installed). I have Tessy v4.1.15 (recommended here: https://ez.analog.com/dsp/software-and-development-tools/cces/f/q-a/67902/is-there-any-add-ins-available-in-cces-for-unit-testing/111879#111879 ) set up to perform unit testing on the firmware in a simulator environment.

I was able to get my project imported and built within the Tessy environment. The issue that I've run into, which I'm hoping to get help with, is that that running test cases is extraordinarily slow. A simple test case (testing one function (~30LoC) with 7 test steps) takes upwards of 5 minutes to execute. This  makes the tool essentially unusable for any real testing.

Most of the slow down seems to come from the TESSY CROSSCORE Adapter software. The initial process to build and link the test application using blackfin compiler in Tessy works fine. After building, the Tessy console prints "Starting TESSY CROSSCORE Adapter." at which point it just hangs for 5+ minutes. During this process, the CPU usage for Java (which I believe is running the Tessy crosscore adapter) and Tessy are both at essentially 0%. Eventually, Tessy does finish executing the test, and produces a test report / etc showing expected behavior.

In the Tessy environment options, I have this program set as the TpsdkServer:

C:\Analog Devices\CrossCore Embedded Studio 2.9.0\Eclipse\plugins\com.analog.crosscore.tpsdkserver_2.9.0.201903112034.jar

My target platform is "ADSP-BF703 Functional-Sim" and my target configuration is "ChipFactory Simulator"

Does anyone have any experience with this issue, or using Tessy with CCES in general? I currently have the entire firmware loaded into a single Tessy module, which might be contributing to the poor performance, but I would't expect it to be this bad.

Thanks,

Alex Nolan

  • Update: I enabled low level logging and it appears that Tessy is in continuous communication with debugger for the duration of the test case execution - maybe it's the simulator itself which is very slow. I will attempt to run the test cases on target hardware using an ICE-2000 probe to see if that is any more performant.

    I also tested creating a module with just one file and stubbing all external references, but the performance was only about 30% better (still very significant amount of time to run one simple test).

  • Hi Alex,

    We recommend you to contact our third party developers regarding TESSY tool.
    www.razorcat.eu/index.html

    Regards,
    Nishanthi.V

  • Mostly just posting in case anyone comes across this in the future:

    Running on target hardware wasn't much faster, and has the added risk that there may be some comms issue with the debugger probe during test execution.

    I followed up with RazorCat support and they suggested enabling "Comm File Suppression" in the Tessy Environment editor. Enabling this option brought test time down significantly (most tests take ~1 minute to compile + execute using the ChipFactory sim, which is acceptable).

    Unrelated to the original post, but I also created a way to interact with ADSP-BF hardware registers when using Tessy with the Blackfin simulator. You can take the header file included in CCES which defines all MM registers, and replace each reference to a register address with a variable. I created a utility to perform the conversion automatically and generate a new header file where all register values can be read/set in Tessy.

    https://github.com/ajn96/TessyRegisterConverter

    -Alex