Category Archives: Uncategorized

Embedded GCC Libraries: newlib vs. nanolib

C/C++ compilers include a set of standard functions to be linked with user programs. They are called libc and libc++ respectively. For GCC, they are also called glibc and glibc++ (in the rest of this post, I would use glibc … Continue reading

Posted in Uncategorized | Leave a comment

2018-Q4 GNU Embedded ARM objcopy “64-bit address… out of range” Error

From time to time, we refresh the GNU Embedded ARM compiler (GCC) in our JumpStart C++ with the latest stable GNU release. Earlier in 2019, we refreshed GCC to the 2018-Q4 release. Surprisingly, our testing showed a failure immediately: objcopy.exe: … Continue reading

Posted in Uncategorized | Leave a comment

Removing Bootloader Protection On The AdaFruit Metro / Arduino Zero / SAMD21

The Microchip/Atmel SAMD21G18A is a powerful Cortex M0+ based MCU with 256K flash and 32K of SRAM. It’s used in the Arduino Zero as well as the Adafruit Metro and Feather lines of development boards, and is becoming a popular … Continue reading

Posted in Uncategorized | Leave a comment

Cortex-M Debug Pods

In this article, we will examine some of the more popular Cortex-M hardware debug pods (also called debug probes), which are hardware devices necessary for debugging firmware on a Cortex-M based MCU. Overview of Debugging In the “good old days”, … Continue reading

Posted in Uncategorized | Leave a comment

Cortex Compiler: Vendor SDK

A strength of Cortex-M based MCUs is that the core CPU is designed by ARM Inc., while silicon vendors license the core design and then put their own I/O peripherals around it. With all major MCU vendors supporting the Cortex … Continue reading

Posted in Uncategorized | Leave a comment

Happy Holidays and 18% Off Until End of the Year

Hello, in 2018 we saw some exciting developments at ImageCraft. To celebrate, we are offering 18% off until end of the year. Use coupon code BYE2018 when you check out. Follow the instructions here: https://imagecraft.com/buy/how-to-use-coupon-code

Posted in Uncategorized | Leave a comment

Interrupt Handlers and Tasks in REXIS

REXIS is both ImageCraft’s RTOS and a component of the JumpStart IoT Connectivity Suite. It’s easy to use and also supports multiple APIs for IPC (Inter-Process Communication). In this post, we aim to show how easy it is to write … Continue reading

Posted in Uncategorized | Leave a comment

Firmware Security

Most modern MCU have some kind of readout protection of the flash. Unfortunately, there’s only the minimal level of protection of your firmware IP. The TL;DR version is that serious crackers can etch the physical shielding off, and then read … Continue reading

Posted in Uncategorized | Leave a comment

Embedd.com Reviews Our Book “C for Everyone”

Check it out! https://www.embedded.com/electronics-blogs/break-points/4442163/C-For-Everyone

Posted in Uncategorized | Leave a comment

JumpStart C++ for Cortex 9.05.00 Released

We now support semihosting! http://imagecraft.com/download/demo-softwaredirect download link: https://imagecraft.com/pub/iccv9cortex_demo.exe 9.05.00 2018/10/04– IDE and JDB DebuggerAdded Semihosting support. This redirects printf calls when the program is under debugger control to the ADT’s semihosting output window. See help file for detail.– IDEEnabled support … Continue reading

Posted in Uncategorized | Leave a comment