Debugging the dual-core NXP i.MX RT600 with the one and only SEGGER J-Link

The i.MX RT600 MCU family from NXP is an interesting one. Not only do the i.MX RT600 devices feature a 300-MHz Arm Cortex-M33 processor core, but they also include a 600-MHz Cadence Tensilica HiFi4 DSP processor core. This makes the i.MX RT600 devices very suitable for audio playback and voice user interface applications.

However, having these two totally different CPU cores with very different development environments on the same chip also presents some unique challenges. For example: How do you establish and maintain debug sessions with both cores at the same time, with the same probe, in two different IDEs / debuggers? You can do it with the SEGGER J-Link – and ONLY with the SEGGER J-Link. This article shows you how it’s done.

Extending AppWizard-generated GUIs with emWin Widgets

AppWizard is a great tool for designing GUIs with our emWin embedded graphics library. Features like the intuitive editor, the integrated resource management, and the ability to add behavior to the screen objects by adding interactions make it easy to get started with emWin. But you can create even more advanced graphics solutions by extending […]

Profiling and Code coverage on RISC-V using simulation

We recently licensed our Floating point library for RISC-V to a large international corporation. They asked not only for our functional verification suite, but also for a verification of the verification suite. A code coverage report showing that the entire code had been executed. While we know that all lines and every instruction have been […]

How to do Gauges in AppWizard – Part I

Recently, we at SEGGER released AppWizard, our new GUI design tool for our emWin embedded graphics library. It is now available as part of the emWin PRO package (v6.10 and later). The initial version of AppWizard contains a variety of objects and widgets, such as sliders, rotaries, images, switches, buttons, and more. Getting started with […]

SEGGER in times of the coronavirus / COVID-19

The idea of this blog is to give readers a glimpse of the plans and inner workings at SEGGER, what we’re working on, what we’re thinking, what’s going on, and what’s cooking. These days, unfortunately, that includes dealing with the coronavirus. I think everybody by now understands that this virus is not just a regular […]

The SEGGER Compiler

At SEGGER, we use our own tools to establish an internal feedback loop. This is extremely helpful in creating and fine-tuning our products. A significant amount of engineering time and effort is put into making our IDE Embedded Studio better and better, every day. Embedded Studio is easy to download and install, cross-platform, very fast, […]

Floating-point face-off, part 2: Comparing performance

I used to think that floating-point was not for Embedded Systems. Too slow, too much code overhead and rounding is always a problem. It turns out that while scaled integers still have a performance benefit, floating-point computations can be done with a surprisingly high performance these days on modern Embedded CPUs. This is true not […]

Finding the right (Q)SPI Flash for your project

Not all SPI Flashes are created equal SPI Flashes have become very popular as an inexpensive way to add nonvolatile storage (flash memory) to an Embedded System. They come in various capacities, so increasing memory is fast and easy. Any microcontroller can interface to them via SPI or QSPI peripheral interfaces, or simple general purpose […]