A computer monitor sitting on top of a desk.

Our Services

Providing hardware and software design services for flash based MCUs (Micro Controller Units) targeting the industrial, automotive and consumer markets. Our software services/products include peripheral drivers, RTOS ports and FLASH loaders for single and multicore MCUs.

  • Infineon
  • AURIX™ TriCore™ Microcontroller all TC2xx (GEN1)/ TC3xx (GEN2) variants (in-depth)
  • TRAVEO™ T2G
  • NXP
  • S32K
  • LPC, K32
  • i.MX (ETHERNET/CAN)
  • STM32F/L
  • Microchip
  • ATMEL AVR

Hardware

We provide schematic capture and layout services to the industrial and automotive markets. Our team has delivered ECUs (Electronic Control Units) for FLASH-based MCU and “flash less” Microprocessor Units for SBC embedded platforms. All hardware platform deliveries include full functional test coverage. Our hardware team specializes in ETHERNET network solutions based on Microchip, Marvell and FPGA IP. Hardware design portfolio includes soft core CPUs (NIOS®/MicroBlaze).

A close up of the electronic board of a computer
A diagram of the various levels of learning.

Software Drivers

WTD drivers are well documented, standardized, configurable and designed for portability between MCU (buildable without platform peripherals). Driver modules configuration and interfaces are architected as objects, delivered in open C99 language source code. Two coding standard options available; MISRA C (see compliance matrix) and WTD (available upon request).   

Our team provides custom drivers services, tailored to an organization’s specific requirement. Additionally, we offer AUTOSAR BSW (Basic SoftWare) configuration and integration services including custom CDD (Complex Device Driver) development. Over the years, MCU vendors have been offering devices rich in resources such as ROM, RAM, multi-cores, multiple domains and busses, peripherals, and highly configurable PIN MUXs. As a result, software development teams must ensure their modules do not inadvertently access, violate, safety critical resources (work with your functional safety team for; IEC 61508/ISO 26262 ASIL compliance). Therefore, FFI (Freedom From Interference) is now an upfront concern and must be identified before application development begins. Over the years, keeping up with these changes, we have honed our skills in architecting (partitioning and protecting) application memory maps via configuration of the MPU [(Memory Protection Unit) when available] and the power of the linker scripts.

WTD Standard SYSTEM and DRIVER Modules

SYSTEM MCU Micro Controller Unit; Start-Up, clock configuration, FLASH/RAM, power
SYSTEM WDT Watch Dog Timer
SYSTEM STM System Timer Module; System TICK timer, Application timer (blocking/non-blocking [one-time and periodic])
SYSTEM IPC Inter Processor Communication; Multi-Core MCUs only, RTOS: Extensions to "Message Queue"
MEMORY  FLASH (App) FLASH, Internal partitions; Loader/App/Freedom From Interference
MEMORY  FLASH (Data) FLASH; EEPROM/Emulated EEPROM
MEMORY RAM Random Access Memory; partition/Freedom From Interference
MEMORY DMA Direct Memory Access; Data transfer (MCU dependant)
COMMUNICATIONS UART Universal Asynchronous Receiver Transmitter; Serial Communications support
COMMUNICATIONS   I2C Inter-Integrated Circuit; Master/Slave and Multi-Master
COMMUNICATIONS SPI Serial Peripheral Interface; Master and Slave (MCU dependant)
COMMUNICATIONS   CAN Controller Area Network; Classic/FD and Partial Networking Support
COMMUNICATIONS   ETHERNET MAC; Media Access Controller PHY; Physical Layer Transceiver for integration to third party stack. (IEE1588 v.2 HSR/PRP redundancy sw stack available)
I/O GPIO General Purpose Input/Output PIN configuration
I/O Output Compare Purpose pulse train generation/Hot line event triggering
I/O Input Capture Purpose; logic level external event triggering, pulse/period measurement, external event counting
I/O PWM Pulse Width Modulation; Variable (logic level) Frequency and Duty Cycle output pulse train generation
I/O ADC Analog to Digital Converter; Measuring (Input) voltage/current
I/O DAC Digital to Analog Converter (MCU dependant)
I/O PMIC Power Management Integrated Circuit (System power monitoring (internal/external))

For detailed Driver description, refer to products page.

FLASH LOADER

WTD FLASH Loaders are independent of the application and can reside anywhere in FLASH (dependent on MCU FLASH banks and section size).  Our Loader applications are first to execute after any reset and dependent on the path will enter one of; verify application integrity (execute application/error) state or WAIT in Loader state.   The FLASH Loader application is configurable allowing for; encrypted application loading, client authentication, dual image (A/B bank switching) management, physical communication layer and available CLI shell for debugging.  Additionally, the FLASH Loader can handle segmented loading functions, reducing update times for partitioned applications.  Our protocol is designed for standard physical communications such as UART, CAN/CANFD and ETHERNET.  To ease integration, we provide the CLIENT side (Compliant to Protocol) “C” based source code as part of the Loader delivery.

For the automotive market, we provide loading applications compliant to UDS (ISO 14229-1) session layer services for; ISO 15765-2 DoCAN, ISO 13400-2 DoIP and ISO 17987-2 LIN.

A close up of the electronics on a board
A close up of the inside of an electronic board

ARM® Cortex®-M

As all major MCU manufactures portfolios include ARM® core devices, WTD hardware/software development teams regularly deliver projects based on these devices. Please download our ‘How to Set up’ the GCC/Eclipse based free tool chain documents. There are two parts.

Exercise 1; BASICS How to set up Eclipse/ARM GCC free tool (using NXP® LPCXpresso board for LPC824):

Exercise 2; ADVANCED Using NXP® MCUXpresso Software Development Kit (SDK) and MCUXpresso Config Tool targeting LPCXpresso board for LPC824:

TOOLS

At WTD design we use qualified tools ensuring our customers sources are optimized for MCU performance and our hardware design files are delivered in industry standard formats.

Interested in working with us? Get in touch.