DevAlert 2.0, which is now immediately available from Percepio, is a major upgrade to our edge observability platform. The upgrade provides much improved diagnostic capabilities, including core dumps for Arm Cortex-M devices. This allows remote inspection of crashes, errors or security anomalies in full detail, including the function call stack, parameters and variables and with source code display.
As the first segment of a three-part series on JTAG, this post will give an overview of JTAG to set up some more in-depth discussions on debugging and JTAG Boundary-Scan. We will dive into the intricacies of the interface, such as the Test Access Port (TAP), key registers, instructions, and JTAG’s finite state machine. Like Interrupt? Subscribe to get our latest posts straight to your inbox.
Every developer wants universally applicable tools for their embedded development. However, hardware (processor type) and software (RTOS) architecture can limit the choice, making it a decision for the second-best rather than the best tool – even if you are in the mainstream. This is one of the reasons why Software Development Kits (SDKs) are becoming increasingly popular – even more so if they are easy to use and deploy.
If you’ve ever wanted to plot data acquired on your embedded target, this article is for you. It explores common use cases for real-time data visualization using STMViewer. Say goodbye to manual, time-consuming, and error-prone data collection and display methods to speed up your debugging process.
A little more than a month ago, we released the free Tracealyzer SDK – a toolkit that allows other embedded software vendors to integrate Tracealyzer recording in their own software. At that time, the development team at PX5 in California were already hard at work combining Tracealyzer with their PX5 RTOS, and yesterday they released the integration. Built with Percepio’s SDK, in a just a few weeks.
The first step to making reliable IoT devices is understanding that they are inherently unreliable. They will never work 100% of the time. This is partially because we firmware engineers will never write perfect code. Even if we did, our devices need to operate through various networks and gateways, such as cellular modems, mobile phone Bluetooth applications, Wi-Fi routers, cloud backends, and more, and each of these may introduce unreliability.