|
Magnus Unemyr, May 27, 2015
11:42:01 AM
|
Embedded development is a lot more complicated than
PC development; the main reason being the low abstraction level
and the tight relation to the hardware implementation. One
particular pain point for new or inexperienced embedded
developers is interrupt handling.
Interrupts are events generated by the hardware.
Common causes for interrupts being triggered may be timers that
expire, communications interfaces that receive data bytes, DMA
transfers being completed, and so on. The question then
becomes how to develop interrupt handlers using the GNU/GCC
compiler for popular Cortex-M devices like STM32, Kinetis, LPC or
EFM32? Read our free eBook to learn more!
|
|
|
|
|
Magnus Unemyr, May 25, 2015
1:28:57 PM
|
The GNU GCC compiler and associated tools are of
very high quality nowadays, in particular for the ARM Cortex
cores. If you are a Cortex-M developer using popular device
families like STM32, Kinetis, EFM32 or LPC, you are in a good
position to use the GNU tools as your primary toolchain, as the
GCC compiler and its various commercial distributions have
excellent target support.
But what about code size optimizations? The GNU
compiler for ARM produces highly optimized machine code these
days. Still many developers report poor code size results with
the GNU compiler. Why is that? In almost all cases, the reason is
ARM developers new to the GNU GCC compiler do not know how to
configure it correctly. Our free checklist 7 steps to reduce GNU
GCC code-size show you how to do it right.
|
|
|
|
|
Magnus Unemyr, May 21, 2015
11:05:23 AM
|
Many embedded developers write their code in a
somewhat ad-hoc fashion, not really following a consistent coding
style; either formally defined by the company or otherwise.
Matters are even worse in multi-developer teams as every
developer writes the code in their own style unless a coding
style standard is enforced.
Code written in multiple inconsistent coding styles
do not improve readability, understandability or maintainability
of the code; embedded or not. This is why a C/C++ editor in
embedded IDE’s should include tools to define what coding style
you prefer, and also include features for auto-formatting. This
helps improve the software quality and ease maintenance. This is
how to do it.
|
|
|
|
|
Magnus Unemyr, May 19, 2015
2:13:00 PM
|
MISRA (The Motor Industry Software Reliability
Association) was established as a collaboration between various
vendors in the automotive industry, with the purpose to promote
best practices in developing safety-critical systems for road
vehicles and other types of embedded systems. Nowadays MISRA-C is
used for any embedded system, not necessarily safety-critical or
related to the automotive industry.
MISRA-C is a coding standard for the C programming
language, developed by MISRA. The purpose is to identify a subset
of the C language that improves safety, portability, reliability
and maintainability. MISRA-C contains many coding rules, which
limit the flexibility for how the source code can be written.
Following the MISRA-C coding standard ensures that unsafe or
unreliable coding constructs are not used, thus improving
software quality and reducing the time spent on debugging.
|
|
|
|
|
Magnus Unemyr, May 18, 2015
11:33:38 AM
|
Being the embedded tools sponsor to the Waterloo
Hybrid team, we are proud to share with you that they won the
first place at the Formula Hybrid SAE Competition at the New
Hampshire Motor Speedway recently!
Waterloo Hybrid was the first team to make it past
technical inspection and get on the race track. The team placed
first in both Autocross and Endurance and broke the record for
the farthest distance ever driven in Endurance with a total of 33
km.
|
|
|
|
|
Stephen Martin, May 17, 2015
3:30:00 AM
|
We are going...are you?
We're heading to Freescale Technology Forum, June
22-25 in Austin, Texas, where we’re showcasing Atollic TrueSTUDIO
development tools for Kinetis, i.MX and Vybrid.
The FTF training session courses give you access to
150+ technical session abstracts. The sessions are broken into
eight tracks, including automotive, smart home, healthcare,
industrial, networking, smart cities, software and more.
|
|
|
|
|
Magnus Unemyr, May 13, 2015
1:18:46 PM
|
Our free hard fault exception crash analyzis video
tutorial will teach you how to analyse and fix Cortex-M system
crashes which can be very difficult and time consuming. Hard
faults can occur due to division by zero, stack overruns, pointer
errors etc.
By using the methods and tools outlined in this
video, the root cause and location of hardfault system crashes in
popular Cortex-M based microcontrollers like STM32, Kinetis, LPC
etc. can be easily identified in seconds, rather than hours.
|
|
|
|
|
Magnus Unemyr, May 13, 2015
12:35:00 PM
|
Are you a skilled embedded developer, creating great
software for STM32? You are in good company. If so, this
blog article is for you. I have collected a number of tools and
techniques that can be used to help you write STM32 software in
an even better way, launching your embedded product more
timely and of higher quality.
What does it take to write great STM32 software?
Naturally, you need to know C or C++ and possibly a tad bit of
assembler as well. You also need to know your target device
and its device driver libraries as well. STMicroelectronics will
provide information on this. But when what? What are the “secret”
techniques used by really skilled STM32 developers? What
tips and tricks do they want to keep to themselves?
|
|
|
|
|
Magnus Unemyr, May 13, 2015
10:35:00 AM
|
In the last few years, I have met many embedded
developers at trade shows, seminars and the like. In many cases,
I hear sheer frustration about how difficult it is to develop
embedded systems if you come from a reasonably related
background, such as developing Windows or web applications on
PC’s. Feedback from our support team confirms many developers
share this frustration.
So why is it so difficult to learn embedded
development? And why is it the industry has not progressed more
to solve the high learning curve? You may want to pass this blog
post on to your boss, in case he does not understand the high
level of expertise required in your job.
|
|
|
|
|
Magnus Unemyr, May 9, 2015 7:59:53
AM
|
The question may appear ridiculous at first, as
everyone knows Apple have their own Xcode IDE that presumably is
used for the development of the OS and apps for iPhone, iPad and
the Apple Watch. A deeper analysis of the Apple Watch internals
do however show some interesting facts, making the question a lot
more sensible.
The new 26 x 28mm S1 system-in-a-package (APL0778)
is the heart of the Apple Watch, and it contains no less than 30
individual components. The processor is manufactured in Samsung’s
28nm low-power process, and the 5.2 x 6.2mm CPU is by far the
largest component in the package. But wait, there is an STM32
microcontroller in the Apple Watch too!
|
|
|
|
|