Internet Explorer is not a supported browser for TI.com. For the best experience, please use a different browser.
Video Player is loading.
Current Time 0:00
Duration 7:27
Loaded: 0%
Stream Type LIVE
Remaining Time 7:27
 
1x
  • Chapters
  • descriptions off, selected
  • en (Main), selected

    Hello, everyone. My name is Kernal Pargov and I'm an Applications Engineer at Texas Instruments. Today, I'll be talking about the 2D Graphics Accelerator called GC320. In this video, I'll be showing the features that are supported by GC320, all the software components that are available, and I'll be running a unittest to showcase one of the features of GC320.

    Here, I have an AM57xx block diagram. In this picture, there are many IPs, such as MPU, GPU, DSP, IVA, IPU1, IPU2, but we'll be talking about BB2D, or also known as, advanced bit blitter 2D graphics accelerator or GC320. This core is from the Vivante Corporation and it is available across the AM57 SoC family.

    GC320 supports a variety of features, such as rotation, whether it's 90 degrees, 180, 270. It also supports color conversion, YUV to RGB, alpha blending, multi source blit, bit blit, and stretch blit. Shortly, I'll be showing how to run a unittest that demonstrates the rotation feature.

    There are a total of three software components that are available on git.ti.com. One is the kernel driver for GC320. Then, you have the user space libraries. And lastly, we have the collection of unit-tests. For my test setup, I'll be using an AM572 GPEVM. And on my Linux machine, I've installed the latest Processor SDK. And I'll also clone the unit test project from the Git repository.

    There are a couple of software modifications that the user should be aware of before building the unittest. First, I've shared my build script because it sets the necessary variables needed to compile the unittest. Second, the users need to modify a makefile to set the correct path for the LIB GAL Util library.

    In my current directory, I have two folders. I have the TI GC320 test, which contains the collection of unit tests, and I have the latest Processor SDK. In order to compile the unittest, we need to define a cross-compiler. And we'll be using the cross-compiler that comes with the latest processor SDK.

    Also, I have a targetNFS folder because we'll be copying files from the unittest to the GPEVM. And having an NFS setup makes the transfer of file process easier. But you can also use an SD card to perform the same steps since the target NFS folder contains the same directory structure as the root FS partition on the SD card.

    Next, I'm going to navigate to the TI GC320 folder. And in this directory, I've already added my build script. Before we run the script, we need to navigate to the folder tests/src/test/hal/common/UnitTest and modify the file, make file.Linux.def. For my test setup, I've already made the necessary changes required.

    I've already commented out the line that makes incorrect reference to the LIB GAL Utils. And the next line, I've added the correct path. Once all the software modifications are made, we'll run the build script and copy four key items to the AM572 GPEVM. The first item is the main test executable called galRunTest2. Next, is the test case that we're trying to run. In our case, it's called libgal2DRotation001.

    Next, we'll copy the resource folder. This folder contains all the images required by the test case. And lastly, we're going to copy the libgalUtil, our user space library. Now, notice for the destination directory, I have written SD_CARD/rootfs or targetNFS. It doesn't matter which approach you are using. You just need to copy the files to the appropriate directory, which is under usr/bin/GC320/tests/unit_test.

    Next, I'm going to navigate to the top directory which contains my build script. Once in the directory, I'll execute the script. After a successful build, I'm next going to copy the four items that I previously talked about. The first item that I'll be copying to the GPEVM is the galRunTest2. Now, we're going to copy the second item on our list, which is the test case Rotation001.

    Once we navigate to the folder, unitsgal2D, we'll see a collection of unittests. Before this video, I'll only be showing the rotation feature. Inside the rotation folder, we see a variety of tests cases demonstrating the feature. But I'll only be running the test case 001.

    After successfully copying the file, now, I will copy the resource folder to the directory targetNFS, usr/bin/GC320/tests/unit_test. The last item on our list is to copy the libgalUtil.so to the AM57 GPEVM. In order to run the test, we'll first power on the GPEVM. Then, we'll navigate to the directory, usr/bin/GC320/tests/unit_test, insert the appropriate GC320 module, and export the LD_LIBRARY_PATH.

    Using step five, we can finally run our rotation 001 test. And the resulting image will be stored in the result directory. After powering on the board, we'll navigate to the appropriate GC320 directory. Inside the directory, we should see all the files we copied in our recent steps.

    Next, we'll insert the GC320 module followed by the LD_LIBRARY_PATH. After setting the library path, we can finally run the test. In order to run the test, we first specify the test executable, galRunTest2. Then, we specify which tests that we're running. So in our case is rotation 001. And then, we specify the configuration file, which is galTestCommonCFG.

    After successfully running the test, we should notice a result directory being created. Inside the result directory, there will be a resulting image file, which will contain the final output of the test rotation 001. The rotation 001 test takes two source images from the resource folder and creates one final destination image. It uses one of the source image as a background for the destination image. And then, it performs rotation on the second source image and copies it to the destination image.

    For a more advanced example, please refer to the video graphics test link as it demonstrates various video processing, graphics, and display capabilities using VIP, GC320, XGX, and DSS. For comments, questions, or feature requests, please post them on E2E forums. Thanks for your time in viewing this video. And for more videos and training, please visit TI YouTube channel or training.ti.com.

    This video is part of a series