FreeRTOS Heap with Segmented Kinetis K SRAM

While working on a project for the FRDM-K20D50M, I faced a problem: I was running out of SRAM for my application. The GNU linker reports: “section `.bss’ will not fit in region `m_data'”: 😦

bss will not fit in region m_data

bss will not fit in region m_data

But my device has 16 KByte of SRAM, and I knew I use much less than 10 KByte. So what is the problem? Continue reading

Using Keil µVision 4 (ARM-MDK) with Processor Expert Driver Suite

ā— This article has been written for the version 4 of µVision. There is an update for version 5 of µVision here: “Using Keil μVision 5 with Processor Expert

The good thing with using ARM microcontroller is: there are plenty of tool choices. Even myself, I’m using multiple different tool chains. And while I’m heavily using Eclipse, there are non-Eclipse tool chains which have their advantages too.

The cool thing with CodeWarrior is that beside of Eclipse based, it comes with Processor Expert integrated. And I’m using Processor Expert a lot in my projects. But using Processor Expert does not mean I’m limited to CodeWarrior or Eclipse. So I can use CodeRed or IAR as tool chain with it. And this post is about using Processor Expert with the µVision tool chain from Keil/ARM.

Keil uVision Splash Screen

Keil uVision Splash Screen

Continue reading

Eclipse Problems View: Only Show Problems for Project

Having many projects open the same time, and working on them in parallel is a challenge. Ok, the human brain is not built for multitasking, but I still try ;-). What I typically I end up in my Eclipse Problems View to have entries from multiple projects mixed up:

Problems View with Entries for multiple Projects

Problems View with Entries for multiple Projects

How to show it that I can fix the problems for ony project only, and not showing all problems from all projects?

Continue reading

Traps and Pitfalls: No Hex/Bin/S19 File Created with GNU?

I stumbled now twice over a problem, and only after a lot of head scratching (you should see my head now šŸ˜‰ ) I have found the cause (and solution) for it. In the hope that I can save the readers of this blog some time, here is what happened.

I described in earlier posts how to enable GNU build tools to generate hex/bin/S19 files, or to write the code size to the console view. That works fine for me. But then I received a project were obviously this does not work: even with the project settings configured properly, there is no S19 file, and no code size printed. What’s wrong?

Additional Tools in ARM GNU Eclipse Panel

Additional Tools in ARM GNU Eclipse Panel

Continue reading

Adding/Removing Floating Point Format for S08 Projects

Usually I do *not* use floating point numbers in my projects. For this, I select ‘None’ during the project creation in CodeWarrior for MCU:

No Floating Point Selected

No Floating Point Selected

But what if I need to change my mind later? How to change such a ‘no-floating-point-needed’ project to one with floating point format support?

Continue reading

Review of CodeWarrior for MCU10.4

Freescale has released this week an updated version of CodeWarrior: version 10.4. I’m usually not switching a tools version in the middle of a university semester. Unless I see a real benefit, and the risk is low. Well, I have used it now for a few days, and I have decided to move my projects from 10.3 to 10.4. Why? Read on…

CW for MCU10.4

CW for MCU10.4

Continue reading

printf() with the FRDM-KL25Z Board and without Processor Expert

InĀ this tutorial I explored how to use printf(), and this tutorial is so generic that it works for any processor/microcontroller. That flexibility is because I’m using Processor Expert. In case Processor Expert shall not be used, then some tweaks are needed. Here I show what is needed to have printf() working with the FRDM-KL25Z board. I use the UART0 connected to OpenSDA USB CDC for this.

Continue reading

text, data and bss: Code and Data Size Explained

In “Code Size Information with gcc for ARM/Kinetis” I use an option in the ARM gcc tool chain for Eclipse to show me the code size:

Ā Ā  textĀ Ā  Ā Ā Ā  dataĀ Ā  Ā Ā Ā Ā  bssĀ Ā  Ā Ā Ā Ā  decĀ Ā  Ā Ā Ā Ā  hexĀ Ā  Ā filename
Ā 0x1408Ā Ā  Ā Ā Ā  0x18Ā Ā  Ā Ā  0x81cĀ Ā  Ā Ā Ā  7228Ā Ā  Ā Ā Ā  1c3cĀ Ā  Ā size.elf

I have been asked by a reader of this blog what these item numbers really mean. Especially: what the heck is ‘bss’???? šŸ™‚

Continue reading