Cygnal 8051 Demo Help

frazer01 wrote on Sunday, March 08, 2009:


Im a student and would like to use FreeRTOS for a project, however i’m having trouble getting the Cygnal 8051 demo to work. The scheduler gets invoked but none of the tasks start.

My setup is as follows:

Vista x64 PC
SDCC (#5379)
Unix-Utils Make 3.78.1
FreeRTOS 5.1.2
SiLabs IDE 3.30
Target: C8051F120-TB

I’ve taken the following steps to reach this point:

1) Modified the Demo Makefile CFlags by adding "–lib-path c:/sdcc/lib/large".

2) Modified the Demo Makefile by using the first make options instead of the default second.

2) Recompiled all *.c files in C:\SDCC\lib\src with "sdcc *.c --stack-auto --int-long-reent --float-reent -c"
   and placed the output in C:\SDCC\lib\large. Please note I have also tried the files supplied on the demo website.

3) Navigate to C:\FreeRTOS\Demo\Cygnal using the unix-utils shell and run make. No errors. (I have also tried this via

4) Copy 0x13 from main.mem and place in FreeRTOSConfig.h.

5) Remake.

6) Download the file to the target board.

7) Set a break point at vTaskStartScheduler() and each task function. When run it always reaches vTaskStartScheduler(),
    but never any task. Status LED is permanently on. 

Can anyone please offer advice on what I may be doing wrong?


frazer01 wrote on Sunday, March 15, 2009:

Just an update:

I have tried the latest FreeRTOS version 5.2.0. I am having similar problems except now during the creation of the first task execution jumps back to main and gets stuck in a constant loop.

The board shouldn’t be reseting as the watchdog is disabled. There is plenty of free stack space.

I suspected maybe the serial ISR was firing off so I removed it from the project, no difference.

Can anyone please confirm this demo works and if so what toolchain (including versions) they are using and also any steps they had to take that deviate from the demo page.