Tag Archives: AVR32

IAR Systems introduces static code analysis in Atmel AVR32 tools


The latest version of IAR Systems’ toolchain integrates C-STAT as well as stack usage analysis and parallel build.


IAR Systems, a leading provider of software tools for embedded systems, has revealed several major updates to its complete embedded development toolchain IAR Embedded Workbench for Atmel AVR32. The latest version, 4.30, introduces the add-on product C-STAT for completely integrated static code analysis, as well as stack usage analysis and shortened build times through parallel build.

ew-top

Static analysis finds potential issues in code by delving deeper on the source code level, given that errors such as memory leaks, access violations, arithmetic errors and array and string overruns can cause security issues and affect the overall performance and quality of a product. By using static analysis, developers can identify these errors early on, and ultimately, minimize their impact on the finished product and the project timeline. Aside from improving the code quality, the analysis can assist in aligning with industry coding standards. C-STAT is a powerful static analysis tool that checks compliance with rules as defined by the coding standards MISRA C:2004, MISRA C++:2008 and MISRA C:2012, as well as hundreds of rules based on for example CWE (the Common Weakness Enumeration) and CERT C/C++. Users can easily select which rule-set and which individual rules to check the code against, and the analysis results are provided directly in the IAR Embedded Workbench IDE.

c-stat-top

The new version also adds stack usage analysis. The stack is a fundamental property of an embedded system and a proper setup of the stack is essential to system stability and reliability. However, calculating the stack space is notoriously hard, making worst case maximum stack depth very useful information as it greatly simplifies estimates of how much stack an application will require. With stack usage analysis enabled in IAR Embedded Workbench, a stack usage section will be added to the linker map file with listings of the maximum stack depth for each call graph root. The analysis process can be customized to take into account such constructs as calls via function pointers and recursion. The output can optionally be generated in XML format for post processing.

template-monitor-b-perspective-micrum

In the compiler, parallel build has been introduced to help accelerate project times. The user can easily set the compiler to run in several parallel processes and make better use of the available processor cores in the PC. This feature can have a major impact on reducing the build times of the compiler.

As many of you are well aware, IAR Systems provides a plethora of powerful development tools for Atmel 8-bit and 32-bit families. And, IAR Embedded Workbench for AVR32 is a complete C/C++ compiler and debugger toolchain that creates the fastest, most compact code in the industry. Interested? Head over to its official page here to learn more.

Building an Atmel-powered AVR32 “box”

Written by Stuart Cording

Those of us who are part of a certain generation likely had their first programming experience with one of the many Z80 based personal computers from the 1980s. The experiences of people using Atmel-powered Arduino boards today are similar to that of the 80s generation back then: working on easy to program, capable machines that can be interconnected with world around us.

Alex Borst, a Maker who lives in Germany, has developed a hardware platform based on Atmel’s AVR32 microcontroller that he calls the “AVR32 Box.” Featuring an AT32UC3A0512 microcontroller, a CPLD, 512kBytes extra SRAM, a TFT display and making use of the USB host controller and audio DAC integrated on the AVR32, this hardware configuration initially allowed his kids to listen to MP3s in the car.

avrbox2

Later on, Alex made some minor hardware changes, adding support for a PS/2 keyboard, video output and headphones. The hardware was ready for further experiments!

Using the Atmel software development tools, he developed some of the classic games we all enjoyed playing (when we weren’t trying to write our own code!) – PacMan and Asteroids to name just a few. It was then that Alex had a Maker’s spark of inspiration: would it be possible to relive those long-lost memories of his former experience with the Amstrad/Schneider CPC personal computer?

Several months later, Alex not only succeeded in getting a Z80 emulator to run on his “AVR32 Box,” but managed to get the CPC’s operating system and BASIC interpreter running too, all at the original operating speed.

Many hardware features of the original CPC are implemented, such as support for sound and USB stick access to replace the original floppy disk drive,

avrbox6

Alex notes that some original CPC software fails to run due to missing exotic CPC hardware or the need to achieve the higher 640×200 pixel resolution that the “AVR32 Box” hardware doesn’t support.

Despite this, Alex takes great pride in his achievement and said in his email to us “It is really amazing what can be done with an AVR32, it’s a great controller!”

If you would like to learn more or contact Alex, you can contact him at dev4fun@albotronic.de.

Apple plans on giant touchscreens in your car

I recently came across an article about how Apple is planning to have your automobile use giant touch screens to interact with the driver. Atmel is well-known for its microcontrollers, but we are also big on touch screen chips, like our new maxTouch T-series. The parts use the high-performance AVR core engineers love. This is why they can run big screens like the one Apple is talking about. The parts can do both self-capacitance and mutual capacitance. They work well with gloves, even thick ones.

mitsubishi_touch_sensitive_display

This Mitsubishi curved touch screen uses projection and lasers, complexity that XSense will eliminate.

But what really got me thinking was the thought that stylists will not want boring flat screens. Atmel’s XSense touchscreen is a perfect solution to boring flat panels. We just got qualified for high-volume production by a major electronics OEM at the Colorado factory. I suspect the car folks are beating on the door as well.

You can get a feeling for what XSense can when you look at this video we did last year.

But if you want to see something really beautiful, check out this video of the near future with formable touchscreens:

Here is a re-cut of that beautiful futuristic video.

Now with all that pretty video, perhaps I should put in a little note to my fellow engineers. The deal with XSense is that it uses a microscopic copper mesh instead of ITO (indium-tin-oxide). ITO is brittle, so you can’t bend it. But also remember that it is an oxide, and if you remember sophomore chemistry, oxides don’t conduct. So the XSense mesh is not only bendable, it is far more conductive than ITO. This makes for higher performance. When used with a touch controller chip, it can detect more accurately and much faster. Hover, glove tolerance, all kinds of user interface improvements occur. There are competing technologies that use silver ink, but remember, although silver is more conductive than copper by 7%, the ink is not as conductive, nor, in my opinion, as repeatable and as durable.

Indium-tin-oxide

Note that this slab of indium tin oxide from the Kurt J. Lesker Company is not transparent. You can only see through an ITO touch screen because the film is so thin, which also makes it highly resistive.

The cool thing about XSense is that it can’t be a wire mesh that interferes with the miniscule sub-pixels in a modern LCD. So there is some cool intellectual property in the shape of the mesh so it does not make moiré patterns on the screen. Oh, I forgot to mention, the copper mesh is so small, the panel passes more light than an ITO touch screen.

So, XSense is formable, flexible, higher-performing, and more transmissive. See why we love it? I hope to visit the factory in Colorado soon, where I can see the panels coming off the end of the line. I will keep you posted.

Having fun with Atmel’s AVR32 microcontroller

We all know that Atmel’s versatile AVR32 microcontroller lineup can be used for a wide range of serious applications.

But what if you wanted some R&R time with the microcontroller? As the program Joshua, programmed by Professor Falken in WarGames famously asked: “Shall we play a game?”

I know I would. And although playing “Global Thermonuclear War” with a link to WOPR is probably not an option, there are at least two other titles that are – as you can see in the videos below.

The first game lacks sound (the audio track is obviously overlaid), although it is definitely fun to watch. The second – Space Pong – is somewhat more interactive and does appear to boast real-time audio.

What’s that you say? Digital games simply aren’t your thing? Well then, how about a nice physical game of chess with the ATMega32-powered Buttercup?