Expertise

Expertise and Experience in the Development of Embedded Systems and Industrial Software

Sometimes, all it takes is the famous jigsaw piece or an unbiased view from the outside to revive a project and to save time and nerves. MicroConsult has a wide spectrum of expertise and experience with embedded systems development and industrial microelectronic applications. On this basis, we have helped several thousand developers take the next decisive step towards project success.


Our Strong Point:
Our support is not limited to finding solutions for tricky project tasks. Our Training and Coaching experience enables us to explain complex coherences in an intelligible way and thus create a basis for you to master these challenges yourself in future.


Expertise and Experience:
EDA, microcontrollers, microprocessors, bus systems (CAN, LIN, FlexRay, USB), driver development, application development (embedded systems, Windows, RTOS, Unix, Linux, embedded Linux), operating systems (RTOS, Windows, Unix, Linux, embedded Linux), networks (LAN, WAN, TCP/IP, IPv6, VoIP, NGN, IMS), object-oriented development (OOA, OOD, OOP), model-based development (UML, SysML, MDA, MDD), inspection, test, formal verification, software development process, embedded software engineering, development processes, project management, requirements engineering and management.

Services Overview:

 

Selection and Use of Tools, Methods and Processes

Tools are always great - on paper. But we all know that they have strong points and also shortcomings most which become apparent when things come to a head. We know many tools and their users and applications in the embedded industry. In addition, we have established excellent contact with tool manufacturers, granting us access to invaluable information. Sometimes, it is just the famous tick that you set in the right checkbox, at a spot you never thought would work, that saves you hours or even days of work.

Tool Types:

Assemblers, CASE tools (UML, SysML), compilers (C, C++, embedded C++, Java, embedded Java, C#, .NET, WPF), graphic modeling (UML, SysML), graphic programming (LabVIEW, MATLAB, Simulink), debuggers, EDA, emulators, measuring, signal generation, testing

Tool Suppliers:

Agilent, ARM, Atego, EASYCODE, GNU, Hitex, IAR, IBM, iSYSTEM, Keil, Lauterbach, The MathWorks, Mentor Graphics (Verilog, VHDL), Microsoft, MID, National Instruments, PLS, Synopsis (Verilog, VHDL)

Methods:

OOA, OOD, OOP, MDA, MDD, SA, SA/RT, SD

Processes:

COMET, COPES, ROPES, RUP, USDP, V-Model, extreme programming

Process Models:

Scrum, agile development

[back to top]

Hardware-near Programming of Microcontrollers and Microprocessors

The complexity of modern processors raises many questions, and often the devil is in the detail. What is required for the initialization of cores, interrupt controllers, peripherals, debug functions, cache, MPU, MMU, embedded emulation devices, etc.? How do you get a grip on the unmanageable amount of registers, configuration bits or coupled functions with the available tools? What do you have to consider when your are porting existing software?

Moreover, there are new multicore microcontrollers with their ever increasing complexity. Can existing singlecore software be ported? Which new challenges will embedded developers face in this context?

Microcontrollers, Microprocessors, DSP:

 

Infineon microcontrollers:

 

TriCore family:
AURIX: TC21xL, TC22xL, TC23xL, TC26xD, TC27xT, TC29xT
AUDO:
TC1798/TC1793/TC1791/TC1784/TC1782/TC1728/TC1724 (AUDO MAX)
TC1797/TC1767/TC1736 (AUDO Future)
TC1796/TC1766/TC1762 (AUDO Next Generation)

 

32-bit industrial microcontrollers based on ARM® Cortex™:
XMC1000, XMC4000

 

16-bit microcontrollers:
XC2700 family (powertrain)
XC2300 family (safety)
XC2200 family (body)
XE166 family
C166 family

 

8-bit microcontrollers:
XC800-I family (industrial & multimarket)
XC800-A family (automotive)

 

Freescale/ST Microelectronics PowerArchitecture microcontrollers:
SPC/MPC56xx family

 

Kinetis ARM® Cortex™ microcontrollers

 

MX application processors:

i.MX35, i.MX53, i.MX6

 

Atmel:

AT91SAM7, AT91SAM9, AT91SAM11 Smart ARM® based microcontrollers
AVR32 32-bit MCU/DSP AT32AP7000
SAM4S

 

NXP:

LPC21xx ARM7 based 32-bit microcontroller family

LPC22xx ARM7 based 32-bit microcontroller family

LPC23xx ARM7 based 32-bit microcontroller family

LPC24xx ARM7 based 32-bit microcontroller family

LPC28xx ARM7 based 32-bit microcontroller family

LPC29xx ARM9 based 32-bit microcontroller family

LPC31xx ARM9 based 32-bit microcontroller family

LPC32xx ARM9 based 32-bit microcontroller family

LH7A400 ARM9 based 32-bit microcontroller family

 

STMicroelectronics:

STR710, STR730, STR750 ARM7 based 32-bit microcontroller family

STR910FA ARM9 based 32-bit microcontroller family

STM32F10x/ STM32F20x Cortex™-M3 based 32-bit microcontroller family

STM32F40x/ STM32F20x Cortex™-M4 based 32-bit microcontroller family

 

Texas Instruments: TMS470 ARM7TDMI® based microcontrollers

 

Freescale:

MAC7100 ARM7 based microcontroller family

i.MX21 ARM926EJ-S based multimedia applications processor

i.MX31, iMX35 ARM1136JF-S based multimedia applications processor

i.MX37, ARM1176JZF-S based applications processor

i.MX515 Cortex™-A8 based multimedia applications processor

 

Intel: XScale® processor

 

Toshiba:

TMPM3xx Cortex™-M3 based 32-bit microcontroller family

TMPA9xx ARM926EJ-S based 32-bit microcontroller family

Manufacturers:

ARM, Atmel, Freescale, Infineon, Intel, NXP, Renesas, Texas Instruments, Toshiba, STMicroelectronics

Tools:

Debuggers, in-circuit emulators, assemblers, compilers, logic analyzers, simulation

Tool Suppliers:

Agilent, Altium, ARM, Atego, Atmel, Atollic, GNU, Hitex, hse, IAR, IBM, Infineon, iSYSTEM, Keil, Lauterbach, The MathWorks, Mentor Graphics (Verilog, VHDL), Microsoft, National Instruments, PLS, Synopsis (Verilog, VHDL), Tasking


[back to top]

Selection and Use of Operating Systems and RTOS

Which operating system fulfils my requirements and how do I use it correctly? Many different operating systems are available in the market. And there are numerous decision criteria - some of them are mutually exclusive. The decision in favor of an operating system does not have to be made often, but it has long lasting consequences. There are many ways of utilizing the functionality of an operating system or adapting this functionality to a hardware platform. We are familiar with many operating systems and their use in many different applications, and we will be happy to bring our experience to your projects.

Operating Systems and RTOS:

Linux, Unix, embedded Linux, Windows CE, Windows NT, Windows XP, Vx-Works, EUROS, RTX, ARTX, OSE, FreeRTOS , RL-ARM

Operating System Suppliers:

ENEA, EUROS, Keil, Microsoft, Red Hat, Wind River


[back to top]

Application and Script Programming

There are many ways of implementing software, and often enough, you are spoilt for choice. We can help you make the right decision. Based on many years of Training and Coaching experience, we know programming languages and tools back to front, and we also know the pros and cons of their use. There are many tricks and dodges that can make your life easier - but there are also traps and snares to get caught in, and we will do our best to help you avoid them.

Tools:

Microsoft Visual Studio, Eclipse, Doxygen, NDoc, CVS, Brackets

Languages:

C, C++, Java, embedded Java, embedded C, embedded C++, C#, WPF, Visual Basic, Perl, Tcl/Tk, Python, HTML, JavaScript

Tool Suppliers:

Atego, Borland, GNU, IBM, Microsoft, SUN; freeware

Methods:

Aspect oriented programming, design pattern, UML


[back to top]

Inspection and Test

Higher system complexity requires more extensive inspection and testing. Success is based on suitable test strategies, test methods and test automation using the right tools. A view from the outside can evoke the decisive impulse when your project gets stuck.

Tools:

Debuggers, emulators, signal generators, measurement systems, static analysis tools, test automation systems

Tool Suppliers:

Hitex, IPL, Lauterbach, pls, National Instruments, Parasoft

Methods:

Static verification, classification tree method, equivalent classes, limit analysis, review, Fagan inspection, walk-through


[back to top]

Analysis and Design for Systems and Software, Re-engineering

These processes carry substantial risks and, at the same time, the highest potential in projects. The design of sustainable architecture models, re-engineering of existing software systems, porting of existing code and its integration in new software architectures are the main switch points in projects.

Tools:

Artisan Studio, Doxygen, Enterprise Architect, Rational Rose, Rhapsody, Visio

Tool Suppliers:

Atego, IBM, Microsoft, SPARX Systems; freeware

Methods:

Code analysis, OOA, OOD, MDA, MDD, modeling, re-engineering, reverse engineering, refactoring


[back to top]

Introduction and Optimization of Development Processes,
from Requirements to the Finished Product

No matter which project stage is affected by a problem, we know suitable tools, methods and process models to help you on - for system, hardware and software development: requirements analysis, analysis, design, implementation, module/unit test, integration, integration test, system test (verification, validation, test), documentation management, change and configuration management, project management, tool and environment management

Tools:

Artisan Studio, CVS, DOORS, Enterprise Architect, Requisite Pro, Rhapsody

Tool Suppliers:

Atego, IBM, SPARX Systems; freeware

Process Elements:

Phases, milestones, core workflows, supporting workflows, activities, artifacts, roles, process documentation

Processes:

COMET, COPES, ROPES, RUP, USDP, V model, extreme programming

Process Models:

Scrum, agile development

[back to top]

 


 

 

OFFICIAL TRAINING PARTNER OF:

 

 

 

 

Accredited by the German Testing Board: