DS-MDK combines the Eclipse-based DS-5 IDE and Debugger with CMSIS-Pack technology and uses Software Packs to extend device support for devices based on 32-bit ARM® Cortex®-A processors or heterogeneous systems based on 32-bit ARM Cortex-A and ARM Cortex-M processors. Software Packs for NXP’s i.MX6 and i.MX7 are available now. Support for other devices including classic Cortex-M based microcontrollers will be available in the future.
This webinar shows how DS-MDK helps you to create, manage, and debug bare-metal programs and Linux applications on heterogeneous systems.
DS-MDK: Development Solution for Heterogeneous Systems
The DS-5 IDE provides project management for Cortex-M and Linux application development based on Eclipse CDT and can be extended with third-party plug-ins. The DS-MDK specific extensions cover several image viewers and the CMSIS Pack Manager that provides access to the CMSIS framework, software components, and their documentation.
Typically, the Cortex-M device in a heterogeneous system executes from resource limited TCM (Tightly Coupled Memory). The ARM Compiler 5generates the smallest code for Cortex-M based processors, which helps to achieve the best performance on such systems.
Simultaneous Application Debug
The DS-5 Debugger can verify all software applications that execute in the heterogeneous computer system. Complete system visibility is enabled using multiple simultaneous debug connections:
- The Cortex-M application is debugged using a ULINKpro debug unit. Users can analyze the microcontroller application using RTOS aware-debugging and peripheral views.
- The Cortex-A Linux kernel is also debugged using a ULINKpro debug unit. The debugger lists kernel threads and processes and shows pending breakpoints on loadable modules and shared libraries.
- The Cortex-A Linux application is debugged via gdbserver. The debugger supports multi-threaded application debugging and shows pending breakpoints on loadable modules and shared libraries.
Benefits of Heterogeneous Systems
Heterogeneous systems combine high computing power with fast, efficient I/O performance for application software and deterministic real-time I/O. The Cortex-A application processor runs a feature-rich operating system, such as Linux, and has the computing power for demanding applications. The energy-efficient Cortex-M processor typically executes a real-time operating system (RTOS) that provides fast start-up times. They can be permanently ‘on’ in battery-powered systems. The two processor systems typically exchange information via a fast, interrupt driven inter-process communication and shared memory.