# Legacy Hexagon SDK

## What's new in Hexagon SDK v3.5.4?

Source: [https://docs.qualcomm.com/doc/80-77512-2/topic/legacy-release-notes-wrapper.html](https://docs.qualcomm.com/doc/80-77512-2/topic/legacy-release-notes-wrapper.html)

This release builds upon the Hexagon SDK 3.5.3 and includes:

- Adds CFI fix in QAIC to resolve stack overflow issue
- Resolves lsb\_release error from QAIC Makefile
- Includes the fix for thread-safety issues in rpcmem init and deinit calls
- General bug fixes

## What's new in Hexagon SDK v3.5.2?

Source: [https://docs.qualcomm.com/doc/80-77512-2/topic/legacy-release-notes-wrapper.html](https://docs.qualcomm.com/doc/80-77512-2/topic/legacy-release-notes-wrapper.html)

This release builds upon the Hexagon SDK 3.5.1 and includes:

- Introduces support for Bitra target
- Removes the need to strip out Cygwin from the system PATH when setting up SDK
                environment
- Includes security fixes in QAIC generated code
- General bug fixes

## What's new in Hexagon SDK v3.5.1?

Source: [https://docs.qualcomm.com/doc/80-77512-2/topic/legacy-release-notes-wrapper.html](https://docs.qualcomm.com/doc/80-77512-2/topic/legacy-release-notes-wrapper.html)

This release builds upon the Hexagon SDK 3.5.0 and includes:

- Introduces support for SM8250, SAIPAN, RENNEL, CYPRESS targets
- Incorporates Hexagon Tools release 8.3.07
- Incorporates Halide Tools release 2.2.03
- Incorporates Hexagon NN release 2.10.1
- Incorporated new Qurt Kernel release 3.2.06
- Added Support Qualcomm Hexagon Libraries (QHL)
- Introduces CMake based libraries cross compile support for Hexagon Platform
- Added image\_dspq library for enqueuing image processing tasks through asyncdspq on
                DSP
- Add unsupported variants info in capi\_v2\_gain\_cpp example
- Add mini-dm support for both Ubuntu16 and Ubuntu18
- Enable remote debugger on SM7250 and SM6250
- Add simulator support for HAP\_mem API
- Added 64bit variants of sysMonApp and sysMonAppLE executables
- Converted all the SDK examples and libs to glue free
- General bug fixes

## What's new in Hexagon SDK v3.5.0?

Source: [https://docs.qualcomm.com/doc/80-77512-2/topic/legacy-release-notes-wrapper.html](https://docs.qualcomm.com/doc/80-77512-2/topic/legacy-release-notes-wrapper.html)

This release builds upon the Hexagon SDK 3.4.3 and includes:

- Introduces support for SM8250 target
- Incorporates Hexagon Tools release 8.3.04
- Introduces Android NDK r19c tools support
- Incorporates Halide Tools release 2.2.02
- Incorporates Hexagon NN release 2.9.5
- Updates Eclipse CDT to Photon
- Introduces CMake support in Benchmark\_v65 example
- Introduces Remote debugger support on SM8250
- Updates syMon\_DSP\_Profiler\_V2.apk with SM8250 support
- Updates HTML based sysmon\_parser utilities with SM8250 support
- Updates sysMonApp with Android Q support - need to run from /data/local/tmp/
- Introduces build support for hard-float and soft-float ABI in UbuntuARM 32 bit
                variants
- Updates all example and dependencies to remove /glue folder dependency
- Stack size of Run\_main\_on\_hexagon target version is configurable now similar to
                run\_main\_on\_hexagon of simulator
- Exposes new HAP\_power\_destroy API
- Introduces support for PD dump
- General bug fixes
- Known Issues with Hexagon IDE CDT upgrade

## What's new in Hexagon SDK v3.4.3?

Source: [https://docs.qualcomm.com/doc/80-77512-2/topic/legacy-release-notes-wrapper.html](https://docs.qualcomm.com/doc/80-77512-2/topic/legacy-release-notes-wrapper.html)

This release builds upon the Hexagon SDK 3.4.2 and includes:

- Introduces support for SM6125 and QCS403 targets
- Incorporates Hexagon NN release 2.6
- Removes adsp\_ps dependency on libstdc++ and updates install\_adsp\_ps.py for Android-P builds
    - adsp\_ps is an android application that allows the caller to query the DSP
                        for a list of running FastRPC processes, please see /docs/adsp\_ps.html for
                        more details about adsp\_ps
- Exposes apps\_mem\_share\_map() and apps\_mem\_share\_munmap() in apps\_mem.h located at /incs
    - Updated apps\_mem.h located at /incs with apps\_mem\_share\_map() and
                        apps\_mem\_share\_unmap() to map the buffers on DSP using an APPS fd
- Introduces a new capiV2 example (capi\_v2\_gain\_cpp) for C++11/14 support
- Updates capiV2 audio events
- Updates voice IMC module config file
- General bug fixes
    - Fixes Hexagon IDE bug related to compilation of Hexagon projects created
                        with Hexagon Project wizard for arch v62 and above

## What's new in Hexagon SDK v3.4.2?

Source: [https://docs.qualcomm.com/doc/80-77512-2/topic/legacy-release-notes-wrapper.html](https://docs.qualcomm.com/doc/80-77512-2/topic/legacy-release-notes-wrapper.html)

This release builds upon the Hexagon SDK 3.4.1 and includes:

- Support for SM7150
- Halide Tools release 2.2
- Hexagon Tools release 8.3.02 which introduces automatic vectorization support for
                HVX
- Hexagon NN release 2.5
- Hexagon Trace analyzer to process Hexagon ETM Traces
- General bug fixes/Documentation updates

## What's new in Hexagon SDK v3.4.1?

Source: [https://docs.qualcomm.com/doc/80-77512-2/topic/legacy-release-notes-wrapper.html](https://docs.qualcomm.com/doc/80-77512-2/topic/legacy-release-notes-wrapper.html)

This release builds upon the Hexagon SDK 3.3.3 and includes:

- Support for SM8150, SM6150, QCS405
- Halide version 2.1.04
- Hexagon LLVM version 8.2.07
- Support for Signature-free compute processing
- Hexagon NN library and examples allowing to run Neural Networks on the Hexagon
                DSP
- Audio H2XML tool
- Qprintf library that extends printf support to assembly language and HVX register
                types
- Simplified command-line on-target debugging

Snapdragon devices supported by this release include Simulator, SDM630, SDM660 (CDSP),
            SDM820, SDM835, SDM845 (ADSP and CDSP), SDM670 (ADSP and CDSP), SDM710, QCS605, SM8150,
            SM6150, QCS405.

## What's new in Hexagon SDK v3.3.3?

Source: [https://docs.qualcomm.com/doc/80-77512-2/topic/legacy-release-notes-wrapper.html](https://docs.qualcomm.com/doc/80-77512-2/topic/legacy-release-notes-wrapper.html)

This release builds upon the Hexagon SDK 3.3.2 and includes:

- Signer update for the OpenSSL 1.1.0
- Android NDK full installation + scripts
- Bug fixes

Snapdragon devices supported by this release include Simulator, SDM630, SDM660 (CDSP),
            SDM820, SDM835, SDM845 (ADSP and CDSP), SDM670 (ADSP and CDSP).

## What's new in Hexagon SDK v3.3.2?

Source: [https://docs.qualcomm.com/doc/80-77512-2/topic/legacy-release-notes-wrapper.html](https://docs.qualcomm.com/doc/80-77512-2/topic/legacy-release-notes-wrapper.html)

Hexagon SDK 3.3.2 introduces support for SDM845. This release build upon the Hexagon
        SDK 3.2 and adds features, capabilities and improvements listed below.

- Hexagon architectures supported by this release: v60, v60-HVX, v61, v62, v62-HVX,
                v65, v65-HVX.
- Snapdragon devices supported by this release: Simulator, SDM630, SDM660 (CDSP),
                SDM820, SDM835, SDM845 (ADSP and CDSP), SDM670 (ADSP and CDSP).
- sysMon DSP Profiler allows collection of DSP metrics & statistics that help in
                analyzing performance of the SW running on the DSP - things like, MPPS used, DDR/AXI
                BW usage, various clock speeds while running the SW, cache hits/misses, etc.
- Support for LLDB is included allowing users, via USB connection between development
                workstation and reference board, perform common debugging operations such as
                single-stepping through the code, using breakpoints, and inspecting register or
                memory contents. The debugger is accessible from the SDK IDE (Eclipse) or from the
                command line.
- Incorporates LLVM Tools release 8.1.04 - see tools release notes for detailed info:
    - Link time optimizations (LTO) - better performance and code size by giving
                        compiler a larger scope for optimization. Compiler works one file at the
                        time, but with LTO it optimizes across all the files in the build. Observed
                        25% code size reduction but your mileage can vary.
    - [Thread Local Storage (TLS)](https://en.wikipedia.org/wiki/Thread-local_storage) -
                        declare a variable with 1 instance per thread.
    - Integrated assembler speeds up compilation time.
- QuRT Secure Resource Manager will allows system resources (drivers) to be used in
                both the normal and secure context (DRM for example) without having to explicitly
                enforce separation between contexts.
- QuRT HVX Preemption enables saving and restoring of HVX registers when context
                switch takes place due to process preemption.
- We are including support for [Halide](http://halide-lang.org/), which is a is a programming language for vision
                processing. Halide is designed as a dialect of C++. This allows programmers who are
                familiar with C++ to start authoring Halide programs. The Halide toolset - available
                as part of the Hexagon SDK and the Hexagon LLVM toolset - contains a Halide compiler
                that targets the Hexagon DSP and Hexagon Vector eXtensions (HVX) architecture.
- Enablement for Machine Learning - this release, paired up with Hexagon Neural
                Network Libraries available [here](https://wiki.codeaurora.org/xwiki/bin/+Qualcomm+Hexagon+NN+Offload+Framework/) provide a starting point for
                sophisticated Machine Learning use cases with ops optimized for Hexagon
                architecture.
- New Libraries:
    - qmath library - offers non-IEEE-compliant HVX-vectorized floating point
                        arithmetic, conversion to/from arrays of float or double, utility library
                        for helping to convert a floating point implementation to a fixed point
                        implementation.
    - qdebug library - utility library for printing out scalar and HVX register
                        contents from C and assembly.
    - Asynchronous communication APIs - we are introducing a library that can
                        enable asynchronous communication between CPU and DSP. The asynchronous
                        message queue is included in the Hexagon SDK as “asyncdspq” as a user space
                        library and does not require system-level changes on SDM845 or later. More
                        details, including API descriptions, are included in the “Asynchronous DSP
                        Message Queue” document accompanying the Hexagon SDK.
- Documentation improvements.

**Known issues**

- Inspecting the contents of a scalar register with qdebug might on occasions corrupt
                the contents of vector registers. This bug will be corrected in the next SDK
                release.

**Troubleshooting installer issues**

- java.lang.IllegalArgumentException: Malformed \uxxxx encoding.

    The PS1 environment variable is responsible for the appearance of the command
                    prompt in the console. The letter 'u' represents the user that is logged-in.
                    When the PS1 environment variable includes a 'u', the installer confuses it with
                    a Unicode character and the installation fails. You can change PS1 value as
                    follows and re run the installer: export PS1=“&gt;”

## What's new in Hexagon SDK v3.2?

Source: [https://docs.qualcomm.com/doc/80-77512-2/topic/legacy-release-notes-wrapper.html](https://docs.qualcomm.com/doc/80-77512-2/topic/legacy-release-notes-wrapper.html)

Hexagon SDK 3.2 is primarily meant for SDM660 support.

- Support for SDM660
- Updated camera streaming example
- Updated benchmark example to support v60
- Updated makefiles to support flags to off-load to different DSPs
- Updated sysmon
    - Support for SDM660

## What's new in Hexagon SDK v3.1?

Source: [https://docs.qualcomm.com/doc/80-77512-2/topic/legacy-release-notes-wrapper.html](https://docs.qualcomm.com/doc/80-77512-2/topic/legacy-release-notes-wrapper.html)

Hexagon SDK 3.1 is mainly meant to support C++ 11/14. Hexagon toolset, qurt and other
        libraries have been updated to support this feature. An example to showcase this feature has
        also been added.

**New features**

- Support for SDM835 (MSM8998)
- Updated Hexagon toolset (version 8.0.08), which supports C++ 11/14
- Updated qurt libs
- Support to 8.0 variants
- Support to LE targets (Note: LE toolset is not released as part of this SDK. You
                will need to install it separately)
- Added an example for computation domains support
- CV
    - Added new Computer Vision HVX example ‘benchmark’ for MSM8998
        - Added new Computer Vision HVX examples 'dilate5x5\_v60', 'gemm' for
                                MSM8996 and MSM8998
- Added rpcperf epplication to measure the overhead associated with FastRPC with
                various buffer sizes
- Bug fixes mini-dm (Windows)
- Multiple device support in mini-dm (Linux)
- Document updates and fixes
- Hexagon IDE bug fixes

**Features not supported**

- Remote debugger support is not available for 8996/8998 in this version of SDK

**Installer updates**

- Minimal NDK support. This SDK can be used if you are using the standard build system
                options provided in the SDK and variants. If you need anything more, you might have
                to install full NDK from Google
- Installer\_Dependencies.py script helps in installing SDK dependencies in case the
                installer fails to download

## What's new in Hexagon SDK v3.0?

Source: [https://docs.qualcomm.com/doc/80-77512-2/topic/legacy-release-notes-wrapper.html](https://docs.qualcomm.com/doc/80-77512-2/topic/legacy-release-notes-wrapper.html)

- Support for Qualcomm® Snadragon™ 820 (8096) (Note: For previous generation
                    chipsets, please use SDK 2.x)
- Support of 7.2 and 7.4 Hexagon toolsets
- Support for v62 and v64 Hexagon architectures
- Audio/Voice
    - CAPI V2 Voice wakeup example, CAPI V2 Speaker Protection example, Dummy
                            ECSN example, Voice IMC example
    - Updates to Audio/Voice unit test frameworks
- Added Machine learning examples (k-means, linear regression)
- Added new Computer Vision examples for integral image and histogram
                    computation
- Updates to camera streaming examples. Added simulation example for
                    HVX\_add\_constant
- First release of Hexagon Profiler (sysmon) in SDK
- First release of unit test profiling library
- Features not supported
    - Remote debugger support is not available for 8996/8998 in this version
                            of SDK
    - Audio/Voice integration support on simulator is no longer supported
- Installer updates
    - Selectable SDK components Installation
    - Reduced installation time
    - Error logging

## What's new in Hexagon SDK v2.0?

Source: [https://docs.qualcomm.com/doc/80-77512-2/topic/legacy-release-notes-wrapper.html](https://docs.qualcomm.com/doc/80-77512-2/topic/legacy-release-notes-wrapper.html)

- Support for the Snapdragon 810 (8094)
- Computational offload to a 2nd DSP (Use the modem DSP for non-modem
                    functions)
- Audio calibration (Set/Get parameters) from Android Java application
- Audio CAPI\_V2 support
- APPI to CAPI\_V2 migration guide
- Framework to support heterogeneous computing for image processing
- Lots more free memory to load bigger dynamic modules
- Support for the LLVM compiler
- Android Position Independent Executable (PIE) support
- 64 bit native Android application support
- Get your serial number from the Android UI
- Discover com ports connected to Qualcomm HS-HSB devices
- Auto-discover ION heap, used by calculator examples
- Extract pcm samples from a mini-dm log
- Support for run-time message logging (Runtime FARF)
- Simulated test framework for Snapdragon 810 (8094)
- Memory architecture documentation
- QuRT example projects
- Support for running QuRT in simulation for unit testing
- Added Voice workflow recommendation for static integration and dynamic
                    loading

## Hexagon SDK v2.0 Add-On for HVX

Source: [https://docs.qualcomm.com/doc/80-77512-2/topic/legacy-release-notes-wrapper.html](https://docs.qualcomm.com/doc/80-77512-2/topic/legacy-release-notes-wrapper.html)

- LLVM Ver. 7.2.X Hexagon Tools
- Hexagon Series 600 DSP processor Simulation Environment
- Camera Streaming, videpost processing
- DSP FastCV libraries upgraded tsupport HVX Functionality
- Debugger verification script
- RTOS update tsupport V60 architecture

Last Published: Jul 10, 2024

[Previous Topic
Release Notes](https://docs.qualcomm.com/bundle/publicresource/80-77512-2/topics/release-notes-wrapper.md)