A very nice and relaxing vacation week in Austria comes to its end. It was fascinating to see how nature changes by altitude: the lower areas had big and ‘expensive’ flowers, while in the higher areas they were much smaller and had to survive a much harsher environment.
I have good friends in Texas which think that there are no mountains in the Alps: at the time when they visited Switzerland, there were no mountains visible because of low clouds :-(. So their believe is that all the mountains I show are created with Photoshop! To prove that they are wrong (or that I indeed have good Photoshop skills), a collection of mountains from the Austrian mountain tours the past week:
Lakes are the gems of the Alps. Most lakes have been carved out by glaciers during the last ice age, around 10’000 years ago. Their beauty depends on the view-point, angle and position of the sun during the day. So here is a view collection of wonderful lakes from this week:
The weather cleared up, after some rain in the morning. Getting up early for hiking on beautiful trails, including climbing parts in the southern Zugspitz mountain area. My training level is very low as I had no practice this year yet due all the work load. With the result that at the end of the day, I’m very tired with my muscles burning. But I’m full of memories from this wonderful day in the mountains. And this got topped with a beautiful golden sunset. Instead sharing pictures from the tour, I share pictures from the end of the day…
It was a day with rain and clouds in the mountains. In the evening, when we returned to the bottom of the valley, the clouds broke up and a wonderful rainbow marked the end of that day.
Hiking through the Austrian Alpine regions let me believe that each valley has its own species of butterflies. So I apologize that I don’t know them by name, but I can share pictures:
Hiking through the Alps means watching beautiful mountains. But the small and tiny wildflowers are even more beautiful. So here is a small from today…
The Zugspitze mountain on the left with the Sonnenspitze mountain on the right builds a beautiful natural arena.
Hiking in the Austrian mountains, and with the first sun beams wild bees are around us …
With my DIY tool chain (see “Constructing a Classroom IDE with Eclipse for ARM“) I get a complete tool chain. I do not need to build that tool chain from the sources for Windows, as all the binaries are nicely pre-compiled and made available. But there is one issue I face from time to time: as the libraries provided by ARM do not come with sources and debug information enabled, I end up with that “No source available for …” message in the debugger:
The solution is to grab the C/C++ library sources from the ARM launchpad site and get it built locally the way I need it.
Frequent readers of this blog know that I do not like printf (see “Why I don’t like printf()“), because the standard
printf() adds a lot of overhead and only causes troubles. But like small kids, engineers somehow get attracted by troubles ;-). Yes,
printf() and especially
sprintf() are handy for quick and dirty coding. The good news is that I have added a lightweight
sprintf() implementation to my set of components: the XFormat component. And best of all: it supports floating point formatting :-).
Eclipse is not the fastest and snappiest IDE of the world, but in my view the most versatile and open one. And as with any tool: using it the wrong way does not make it better. Sometimes I have students in my classes which complain that Eclipse is slow, even on a decent machine. Looking at their notebook screens and Eclipse workspace usually tells me right away what they are doing ‘wrong’: there are many, many projects open in the workspace, the most I have seen was more than 50 projects (yikes!!!)!
In my earlier post (“Adding the CAM8000-D Camera Module to the RIoT Board“) I was running into the ‘single camera’ trap of the current RIoT Android OS image: with only one camera attached, and switching between front/back camera, Android is stuck and needs to be flashed again to the board. Because this is so painful and can happen easily, I OKordered a USB camera for the RIoT board: with this that problem should go away, and I would have a front and a back camera.
Eclipse projects have the nice features that they can link to files and folders: so instead of having the physical file, it is just a pointer to a file. This is very cool as that way I can point to shared files, or keep files in a common place referenced from projects, and so on.
As with most things in Eclipse, there is not a single way how to do things. So I’m showing in this post several ways how to link to files and folders.
I start liking the GNU linker (ld) more and more. Yes, that linker command file syntax needs some time to learn, but it is very powerful. I stumbled over an interesting way how to define linker symbols:
/* Linker file for GNU C Compiler */ /* Entry Point */ ENTRY(Reset_Handler) HEAP_SIZE = DEFINED(__heap_size__) ? __heap_size__ : 0x00000400; STACK_SIZE = DEFINED(__stack_size__) ? __stack_size__ : 0x00000400;
The interesting part is how the HEAP_SIZE and STACK_SIZE symbols are defined.
It checks if e.g. __heap_size__ is DEFINED, and if so, it uses that symbol, otherwise it is using 0x400. Very similar to the C/C++ ‘?’ operator. So I can overwrite the default of 0x400 with my value or symbol. The questions is: from where does the symbol come from?
I *love* the Freescale Freedom boards, and you probably recognized that with all my projects using them. The Freedom boards are small, inexpensive and can be easily extended with Arduino shields which makes them a great platform for prototyping. But sometimes I just need an ARM microcontroller with some headers, and then the 85mm x 55mm size of the Freedom board is not ideal. That’s nothing new, but I realized that yet again when I did my Adafruit NeoPixel clock: the FRDM board was rather bulky, even if hidden behind that clock. I need something much smaller: the Teensy board!
When I ordered my first Freedom FRDM-KL25Z board, I placed an order the Tower TWR-KL25Z48M shortly afterwards. But I was so happy with the FRDM-KL25Z, and because the FRDM board is much less expensive and easier to handle, that Tower board was sitting in my board shelf, waiting for a maybe a student project or to get any other use of it. Well, I can tell that my students wanted the FRDM board, not the Tower board ;-). But when I saw this week in the Freescale forum a user asking for a USB example for that Tower board, I thought that now I could at least use that board to help someone out.
Typically I can create with my build the file I usually need (like an S19). See “S-Record Generation with gcc for ARM/Kinetis” how to do this in CodeWarrior, or “Binary Files for the mbed Bootloader with Eclipse and GNU ARM Eclipse Plugins” how this works in Kinetis Design Studio. The basis of all this is the GNU objcopy utility (see “S-Record Manipulation with GNU objcopy and Burner Utility”). So what if I just have an S19 (S-Record) file and need it in a different format, e.g. as .bin (binary) file for the mbed bootloader which only accepts .bin (raw binary) files?
This gallery contains 7 photos.
In Switzerland we celebrate August 1st as Bundesfeiertag, Jour de la fête nationale, Giorno della festa nazionale and Di da la festa naziunala. That’s the advantage to be in country with four official languages: One National Day in multiple languages … Continue reading