Logo
Qualcomm

Senior Software Design

Qualcomm, Boulder, Colorado, United States, 80301


Qualcomm CR&D is looking for an experienced software developer to work within an existing team to add firmware support for machine learning Edge and Datacenter use cases. The development target is Qualcomm’s next generation high-performance inference accelerator.

LOCATION: Boulder, ColoradoCandidate should have a background in embedded software development such as:

board support packagesdevice driver developmentRTOSsecure boottrust-zonelow-speed peripheral interfaces (I2C/SPI/UART)chipset power blocksclock tree managementPCIe and efficient data movement using DMA.Critical Skills and Aptitude:Experience in unit testing for C/C++ developmentExperience with development in C/C++ including debug and testing, preferable using GNU/LLVM tools) on embedded platforms using stop-mode debug tools such as JTAG/SWDExperience working with BSP development including device driver development, board-bring-up, RTOS’s, secure boot & trust zoneExperience with development of peripheral drivers.Knowledge of RTOS, SoC architecture (core, cache, memory, bus architecture, IOs, etc.) and common hardware blocks and multi-threaded programmingExperience with Source Code and Configuration management tools such as git/GerritWillingness to work in a structured software development environment with ability to work on low-level implementation (code & test)Willingness to work in a high-caliber international/multi-site teamGood English communication (written and verbal) and positive interpersonal skillsThe ideal candidate will have/demonstrate the following:Familiar with high speed interfaces such as PCIe and LPDDRFamiliar with implementing systems with high reliability expectations such as use of ECC, PCI AER fields.Familiar with low speed interfaces such as I2C, SPI, SPMI, AVSBus & PMBusFamiliar working with software running on Qualcomm’s QuRT RTOS (ARM Cortex-A CPU’s and Hexagon DSPs)Familiar with Qualcomm’s Core Software infrastructure e.g. Glink, QDSS, SOC power control algorithms such as dynamic frequency/voltage scaling.Experience working with and familiarity with important SOC building blocks like interrupt controller & timersSoftware development and debug tools including compilers, profilers, source control systems, emulators, JTAG and serial debuggers, and logic analyzers