Arm introduces Open-CMSIS-Pack and Keil Studio Cloud for MCU software development

Keil Studio Cloud Beta

Arm has just announced two new initiatives that aim to boost the productivity embedded, IoT, ML, and MCU software developers: the Open-CMSIS-Pack project and Keil Studio Cloud. The Open-CMSIS-Pack Project The Cortex Microcontroller Software Interface Standard (CMSIS) packs have been around for years providing a vendor-independent hardware abstraction layer for microcontrollers, mostly Cortex-M based, but others too, and currently support close to 9000 different microcontrollers. I always assumed CMSIS was open-source as the source code is available in Github under an Apache 2.0 license. But apparently, not all components are, and Arm has now announced the Open-CMSIS-Pack project that will move part of CMSIS into the open project in collaboration with the Linaro IoT and Embedded Group. Linaro, Arm, and other partners like STMicro and NXP will initially focus their work on command-line tools and CMake workflows, with the ultimate goal of making the CMSIS-Pack technology into a true open […]

Crowbits Master Kit Tutorial – Part 2: ESP32 intrusion scanner and visual programming

Crowbits Intrusion Scanner

I started Crowbits Master Kit review last month by checking out the content, user manual, and some of the possible projects for the ESP32 educational kit including a 2G phone and a portable game console. For the second part of the review, I’ll go through one of the lessons in detail, namely the intrusion scanner to show the whole process and how well (or not) it works. Let’s go to Lesson 5 directly, although I’d recommend going through the first lessons that provide details about the hardware and visual programming basics using Letscode program, which is basically a custom version of Scratch for Crowbits The user manual introduces the project, explains it is to detect intruders, and lists the learning goals as we’ll learn how to control the servo and play music on the Crowbits kit. Kit Assembly But first, we’ll have some assembly to do, in a similar way […]

BHI260AP is an AI smart sensor with built-in IMU by Bosch Sensortec

BHI260AP AI smart sensor

BHI260AP AI smart sensor integrates a 6-axis IMU, a 32-bit customizable programmable microcontroller, and various software functionalities. The AI smart sensor has embedded AI with on-sensor applications such as fitness tracking, navigation, machine learning analytics, and orientation estimation. The dimensions of the miniaturized AI smart sensor are 4.1mm x 3.6mm x 0.83 mm. Hardware Features of BHI260AP AI Smart Sensor ARC EM4 CPU includes ARCv2 16/32 bit instruction set working up to a frequency of 3.6 MHz. The core also integrates Floating Point Unit (FPU) and Memory Protection Unit (MPU) with 4 channel micro DMA controller. CPU has two modes of AI functioning at 25Hz and 50Hz with 249µA and 386µA of current consumption respectively. Integrated sensor (6-DoF IMU) includes 16-bit 3 axis accelerometer and 16-bit 3 axis gyroscope. The sensor works at an operating voltage of 1.8 V with a standby current value of 8µA, hence the power consumption […]

KB-IDE Open Source IDE Supports ESP-IDF, Arduino, and Visual Programming for ESP32 Boards

KBIDE

We’ve previously written about MakerAsia when covering their KBX Extension case for Kidbright ESP32 educational board. The company has now launched a new product, but it’s not an hardware platform, and instead KB-IDE is an open IDE (Integrated Development Environment) ESP32 boards. The IDE is suitable whatever your level from kids getting started with supports visual programming, to Arduino programming, and even the official Espressif ESP-IDF framework for more experienced makers. The IDE comes with with a Board Manager, a Plugins System and works with any Arduino Library out of the box. Made with Vue.js framework, KB-IDE is open source with the code available on Github.  You can install a binary release, or build it from source for Windows, Linux, or Mac OS. Since it’s open source, it’s also expandable so makers can customize it, for instance by adding new architectures (AVR and ARM are already planned), new boards,  creating […]

Microsoft now Supports ARM64 Apps in Visual Studio 15.9, Microsoft Store

Visual Studio ARM64

The first “proper” Windows Arm laptops became available earlier this year, but they disappointed most people due to their high price and relatively poor performance. They only really make sense for people who need LTE connectivity and very long battery life (over 20 hours). Price will likely stay elevated for the foreseeable future, but at least performance will increase thanks to faster processors such as Qualcomm Snapdragon 850 processor found in Lenovo Yoga C630 WOS Laptop ($849.99 and up once available), and the rumored sm8180 laptop processor that may be, or not, announced on December 4-6 during Snapdragon Tech Summit. Hardware is one thing, but software is also important. As far as I understand, while UWP (Universal Windows Platform) apps already supported native 32-ARM compilation , legacy Win32 apps relied on x86 “emulation” / binary translation, which may slowdown performance. But Windows users may also get some software optimization soon, […]

A Tale of Many Divisions – Naive Prime Factorization Across a Handful of Architectures

Compiler Explorer Dissassembly

CNXSoft: Another guest post by blu where he looks at how a small piece of code involving divisions behaves on different architectures. Once upon a time (i.e. the other week) I was giving tips to my 5th-grader how to efficiently compute least common multiples, when it struck me I could do better ‒ I could write a prime factorizer that could be useful to the elementary-school-goers in this house, as well as to the people checking the formers’ homeworks. Moreover, a naive prime factorizer could show kids how computers would carry out algorithms taught in class. There was also a bit of curiosity involved ‒ last time I wrote a prime factorizer I was in high school, and the language was Applesoft BASIC, so 30 years later, armed with a modern C++ arsenal and a supercomputer (by late ‘80s standards), I wondered what one might come up with today, approaching […]

Zero-overhead Destructors in C

CNXSoft: This is another guest by Blu, this time about C programming, and specifically destructors in C programming language If you asked seasoned C++ developers what their favorite features in the C++ language might be, chances are that destructors would be on everybody’s shortlist. As many other C++ developers, I too tend to do my occasional share of C, and if there’s one feature I dearly miss in C that is destructors ‒ precisely in their capacity of automating the release of resources at the right moment. But first a disclaimer is in order: many people call simple application of destructors ‘RAII’ ‒ ‘Resource Acquisition Is Initialization’; I find this acronym unnecessarily awkward and obfuscating an otherwise straightforward concept, so you won’t see this acronym through the end of this text. Instead, I’ll be using ‘end-of-scope’ action. Traditionally, in the language of C end-of-scope (more often end-of-function) actions are achieved […]

Visual Studio 2017 with an Embedded Linux Arm Device

Toradex-Embedded-Linux

This is a non-sponsored guest post written by Marc Goodner: Principal Program Manager, Microsoft, and Jeremias Cordoba: Innovation Engineer, Toradex. Today many embedded devices run some flavor of Linux as their primary operating system. This poses a challenge to developers who run Windows on their development machine. This article explains a new way to use the latest Visual Studio for C++ development on an embedded Arm Devices from a Windows Host PC using containers for the build environment. The device we are deploying to is from the Toradex Colibri Family of System on Modules using the NXP i.MX 6ULL SoC, which features an Arm Cortex A-7. As a demo project, we will connect a Bluetooth Sensor with the Toradex Colibri Module. Please note that Visual Studio support for this case is in an early state, you will see improvements from Microsoft and Toradex in the coming months. Prerequisites Colibri i.MX 6ULL […]

Youyeetoo X1 x86 SBC