# FreeRTOS on STR750 for GCC

**URL:** <https://forums.freertos.org/t/freertos-on-str750-for-gcc/1393>\
**Category:** Kernel\
**Created:** [November 23, 2009, 10:23pm UTC](https://forums.freertos.org/t/freertos-on-str750-for-gcc/1393 "2009-11-23T22:23:57Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![system](https://d2v6vdsk2p900z.cloudfront.net/original/1X/7fc8fdb729c645aab5b20282bbe34e57cb407be6.jpeg) [@system](https://forums.freertos.org/u/system)\
**Post date:** [November 23, 2009, 10:23pm UTC](https://forums.freertos.org/t/freertos-on-str750-for-gcc/1393/1 "2009-11-23T22:23:57Z")

</div>

**[grummlatsf](https://sourceforge.net/u/grummlatsf/)** wrote on [Monday, November 23, 2009](https://sourceforge.net/p/freertos/discussion/382005/thread/3e304e0a/#0907):

I am trying for weeks now to build a environment for FreeRTOS with STR750 uC for a GCC crosscompiler.  
As this is my first experience with creating makefiles, I did not get it to work by now.

Has anyone a makefile lying around for me or could give me a hint whats wrong with mine?!

Thank you!

\<pre\>\<code\>

SOURCE\_DIR=./source/  
LIB\_SOURCE\_DIR=./STLibrary/src/

CC = arm-none-eabi-gcc  
OBJCOPY=arm-none-eabi-objcopy

LDSCRIPT=systemfiles/STR75xFx0\_FLASH\_FreeRTOS.ld

#LINKER\_FLAGS=-mthumb -nostartfiles -Xlinker -oRTOSDemo.elf -gc-section&nbsp; -Xlinker -M -Xlinker -Map=rtosdemo.map  
LINKER\_FLAGS=-nostartfiles -Xlinker -oRTOSDemo.elf -gc-section&nbsp; -Xlinker -M -Xlinker -Map=rtosdemo.map  
&nbsp;  
DEBUG=-g  
OPTIM=-O0

CFLAGS= $(DEBUG) \  
$(OPTIM) \  
-T$(LDSCRIPT) \  
-I . \  
-I ./include \  
-I ./STLibrary/inc \  
-mcpu=arm7tdmi-s \  
-D PACK\_STRUCT\_END=\_\_attribute\(\(packed\)\) \  
-D ALIGN\_STRUCT\_END=\_\_attribute\(\(aligned\(4\)\)\) \  
-fomit-frame-pointer \  
-ffunction-sections

THUMB\_SOURCE= \  
source/main.c

ARM\_SOURCE= \  
$(SOURCE\_DIR)main.c \  
$(SOURCE\_DIR)ParTest.c \  
$(SOURCE\_DIR)serial.c \  
$(SOURCE\_DIR)serialISR.c \  
$(SOURCE\_DIR)croutine.c \  
$(SOURCE\_DIR)list.c \  
$(SOURCE\_DIR)port.c \  
$(SOURCE\_DIR)portISR.c \  
$(SOURCE\_DIR)queue.c \  
$(SOURCE\_DIR)tasks.c \  
$(SOURCE\_DIR)portISR.c \  
$(SOURCE\_DIR)integer.c \  
$(SOURCE\_DIR)blocktim.c \  
$(SOURCE\_DIR)BlockQ.c \  
$(SOURCE\_DIR)comtest.c \  
$(SOURCE\_DIR)dynamic.c \  
$(SOURCE\_DIR)flash.c \  
$(SOURCE\_DIR)heap\_2.c \  
$(LIB\_SOURCE\_DIR)75x\_adc.c \  
$(LIB\_SOURCE\_DIR)75x\_can.c \  
$(LIB\_SOURCE\_DIR)75x\_cfg.c \  
$(LIB\_SOURCE\_DIR)75x\_dma.c \  
$(LIB\_SOURCE\_DIR)75x\_eic.c \  
$(LIB\_SOURCE\_DIR)75x\_extit.c \  
$(LIB\_SOURCE\_DIR)75x\_gpio.c \  
$(LIB\_SOURCE\_DIR)75x\_i2c.c \  
$(LIB\_SOURCE\_DIR)75x\_it.c \  
$(LIB\_SOURCE\_DIR)75x\_lib.c \  
$(LIB\_SOURCE\_DIR)75x\_mrcc.c \  
$(LIB\_SOURCE\_DIR)75x\_pwm.c \  
$(LIB\_SOURCE\_DIR)75x\_rtc.c \  
$(LIB\_SOURCE\_DIR)75x\_smi.c \  
$(LIB\_SOURCE\_DIR)75x\_ssp.c \  
$(LIB\_SOURCE\_DIR)75x\_tb.c \  
$(LIB\_SOURCE\_DIR)75x\_tim.c \  
$(LIB\_SOURCE\_DIR)75x\_uart.c \  
$(LIB\_SOURCE\_DIR)75x\_wdg.c \  
$(LIB\_SOURCE\_DIR)lcd.c

THUMB\_OBJS = $(THUMB\_SOURCE:.c=.o)  
ARM\_OBJS = $(ARM\_SOURCE:.c=.o)

all: RTOSDemo.bin

RTOSDemo.bin : RTOSDemo.elf  
$(OBJCOPY) RTOSDemo.elf -O binary RTOSDemo.bin

RTOSDemo.elf : $(THUMB\_OBJS) $(ARM\_OBJS) Makefile  
$(CC) $(CFLAGS) $(ARM\_OBJS) $(THUMB\_OBJS) $(LIBS) systemfiles/crt0\_STR75x\_FreeRTOS.s $(LINKER\_FLAGS)

$(THUMB\_OBJS) : %.o : %.c Makefile FreeRTOSConfig.h  
$(CC) -c $(CFLAGS) $\< -o $@

$(ARM\_OBJS) : %.o : %.c Makefile FreeRTOSConfig.h  
$(CC) -c $(CFLAGS) $\< -o $@

clean :  
rm $(THUMB\_OBJS)  
rm $(ARM\_OBJS)  
touch Makefile  
rm RTOSDemo.elf

\</code\>\</pre\>

---

<div class="post-metadata">

**Author:** ![system](https://d2v6vdsk2p900z.cloudfront.net/original/1X/7fc8fdb729c645aab5b20282bbe34e57cb407be6.jpeg) [@system](https://forums.freertos.org/u/system)\
**Post date:** [November 23, 2009, 11:03pm UTC](https://forums.freertos.org/t/freertos-on-str750-for-gcc/1393/2 "2009-11-23T23:03:35Z")

</div>

**[grummlatsf](https://sourceforge.net/u/grummlatsf/)** wrote on [Monday, November 23, 2009](https://sourceforge.net/p/freertos/discussion/382005/thread/3e304e0a/#d2b3):

PS: My last error looks like this:

\<pre\>\<code\>  
/home/bene/CodeSourcery/Sourcery\_G++\_Lite/bin/…/lib/gcc/arm-none-eabi/4.4.1/…/…/…/…/arm-none-eabi/bin/ld: section .text.vPortISRStartFirstTask loaded at&nbsp; overlaps section .data loaded at  
\</pre\>\</code\>

---

<div class="post-metadata">

**Author:** ![system](https://d2v6vdsk2p900z.cloudfront.net/original/1X/7fc8fdb729c645aab5b20282bbe34e57cb407be6.jpeg) [@system](https://forums.freertos.org/u/system)\
**Post date:** [November 24, 2009, 8:41am UTC](https://forums.freertos.org/t/freertos-on-str750-for-gcc/1393/3 "2009-11-24T08:41:05Z")

</div>

**[davedoors](https://sourceforge.net/u/davedoors/)** wrote on [Tuesday, November 24, 2009](https://sourceforge.net/p/freertos/discussion/382005/thread/3e304e0a/#b4d6):

This is not a FreeRTOS problem and probably not a makefile problem, but a linker script problem. Either the linker script does not correctly describe the memory map of your microcontroller, or the built code size is too big to fit in the microcontroller flash.

Check the linker script is correct. It looks like you are already removing unreferenced code so the other option to reduce the built code size it to simply remove some code. Try taking out some of the demo tasks as a lot are included.

---

<div class="post-metadata">

**Author:** ![system](https://d2v6vdsk2p900z.cloudfront.net/original/1X/7fc8fdb729c645aab5b20282bbe34e57cb407be6.jpeg) [@system](https://forums.freertos.org/u/system)\
**Post date:** [November 24, 2009, 7:53pm UTC](https://forums.freertos.org/t/freertos-on-str750-for-gcc/1393/4 "2009-11-24T19:53:13Z")

</div>

**[grummlatsf](https://sourceforge.net/u/grummlatsf/)** wrote on [Tuesday, November 24, 2009](https://sourceforge.net/p/freertos/discussion/382005/thread/3e304e0a/#6728):

Thanks for you answer.  
I rechecked the linker and startup code, and it is directly copied from the STR750 demo project for GCC/Raisonance IDE.  
Following the map output from the makefile. There is something strange going on, it is remapping the ram to the flash or something strange I do not understand.  
Furthermore I tried to cut everything out I could, the error still resists till now.

Any idea what’s going on here?  
\<pre\>\<code\>  
.text.UART\_ClearITPendingBit  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0x2000602c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0x1c  
.text.UART\_ClearITPendingBit  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0x2000602c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0x1c ./STLibrary/src/75x\_uart.o  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0x2000602c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UART\_ClearITPendingBit  
.data&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0x40000000&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0x38 load address 0x20000c00  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0x40000000&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; . = ALIGN (0x4)  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0x40000000&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \_sdata = .  
\*(.data)  
.data&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0x40000000&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0x4 ./source/portISR.o  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0x40000000&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ulCriticalNesting  
.data&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0x40000004&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0x0 ./source/main.o  
.data&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0x40000004&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0x30 ./source/ParTest.o  
.data&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0x40000034&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0x4 ./source/serial.o  
\</pre\>\</code\>

---

<div class="post-metadata">

**Author:** ![system](https://d2v6vdsk2p900z.cloudfront.net/original/1X/7fc8fdb729c645aab5b20282bbe34e57cb407be6.jpeg) [@system](https://forums.freertos.org/u/system)\
**Post date:** [November 24, 2009, 10:22pm UTC](https://forums.freertos.org/t/freertos-on-str750-for-gcc/1393/5 "2009-11-24T22:22:01Z")

</div>

**[grummlatsf](https://sourceforge.net/u/grummlatsf/)** wrote on [Tuesday, November 24, 2009](https://sourceforge.net/p/freertos/discussion/382005/thread/3e304e0a/#c445):

Today I tried ride7 IDE with this raisonance envirenment. The project file and the systemfiles coming with freertos did not work with this tools either. I followed the instructions on the freertos website and also needed to chance other options to get it compiling at all.  
At the end this error is coming up.

\<pre\>\<code\>  
Running: LD  
“C:\Programme\Raisonance\Ride\arm-gcc\bin\arm-none-eabi-gcc.exe” -mcpu=arm7tdmi&nbsp; -Wl,-T -Xlinker “C:\Dokumente und Einstellungen\ben\Desktop\FreeRTOSV6.0.1\Demo\ARM7\_STR75x\_GCC\rtosdemo.elf.ld” -u \_start -Wl,-static -Wl,-gc-sections -nostartfiles -Wl,-Map -Xlinker “C:\Dokumente und Einstellungen\ben\Desktop\FreeRTOSV6.0.1\Demo\ARM7\_STR75x\_GCC\rtosdemo.map”&nbsp;&nbsp;  
C:\Dokumente und Einstellungen\ben\Desktop\FreeRTOSV6.0.1\Demo\ARM7\_STR75x\_GCC\crt0\_str75x\_freertos.o: In function `\_startup’:&nbsp;  
(.text+0x0): multiple definition of `\_start’&nbsp;  
C:\Dokumente und Einstellungen\ben\Desktop\FreeRTOSV6.0.1\Demo\ARM7\_STR75x\_GCC\crt0\_str75x\_freertos.o:(.text+0x0): first defined here&nbsp;  
C:\Dokumente und Einstellungen\ben\Desktop\FreeRTOSV6.0.1\Demo\ARM7\_STR75x\_GCC\crt0\_str75x\_freertos.o: In function `\_startup’:&nbsp;  
(.text+0x0): multiple definition of `\_startup’&nbsp;  
C:\Dokumente und Einstellungen\ben\Desktop\FreeRTOSV6.0.1\Demo\ARM7\_STR75x\_GCC\crt0\_str75x\_freertos.o:(.text+0x0): first defined here&nbsp;  
C:\Dokumente und Einstellungen\ben\Desktop\FreeRTOSV6.0.1\Demo\ARM7\_STR75x\_GCC\crt0\_str75x\_freertos.o: In function `\_\_wrongvector’:&nbsp;  
(.text+0x40): multiple definition of `\_\_wrongvector’&nbsp;  
C:\Dokumente und Einstellungen\ben\Desktop\FreeRTOSV6.0.1\Demo\ARM7\_STR75x\_GCC\crt0\_str75x\_freertos.o:(.text+0x40): first defined here&nbsp;  
c:/programme/raisonance/ride/arm-gcc/bin/…/lib/gcc/arm-none-eabi/4.3.2/…/…/…/…/arm-none-eabi/bin/ld.exe: section .text.vPortISRStartFirstTask&nbsp; overlaps section .data&nbsp;&nbsp;  
c:/programme/raisonance/ride/arm-gcc/bin/…/lib/gcc/arm-none-eabi/4.3.2/…/…/…/…/arm-none-eabi/bin/ld.exe: section .bss&nbsp; overlaps section .text.vPortISRStartFirstTask&nbsp;&nbsp;  
c:/programme/raisonance/ride/arm-gcc/bin/…/lib/gcc/arm-none-eabi/4.3.2/…/…/…/…/arm-none-eabi/bin/ld.exe: section .text.vPortEnterCritical&nbsp; overlaps section .bss&nbsp;&nbsp;  
c:/programme/raisonance/ride/arm-gcc/bin/…/lib/gcc/arm-none-eabi/4.3.2/…/…/…/…/arm-none-eabi/bin/ld.exe: section .text.vCheckTask&nbsp; overlaps section .\_usrstack&nbsp;&nbsp;  
collect2: ld returned 1 exit status&nbsp;  
\</code\>\</pre\>

I am wondering how other freertos users get this working. Any hint is welcome 🙂

---

<div class="post-metadata">

**Author:** ![system](https://d2v6vdsk2p900z.cloudfront.net/original/1X/7fc8fdb729c645aab5b20282bbe34e57cb407be6.jpeg) [@system](https://forums.freertos.org/u/system)\
**Post date:** [November 25, 2009, 8:02pm UTC](https://forums.freertos.org/t/freertos-on-str750-for-gcc/1393/6 "2009-11-25T20:02:30Z")

</div>

**[grummlatsf](https://sourceforge.net/u/grummlatsf/)** wrote on [Wednesday, November 25, 2009](https://sourceforge.net/p/freertos/discussion/382005/thread/3e304e0a/#0dae):

Another few hours playing around with freertos and crosscompilers, I discovered something.

It took a while, but I found RIDE6, that was used to create the demo project in 2006. It worked quite out-of-the box and ran in a few minutes on my board.  
As they use GCC 3.3 and a WINARM envirenment, I think it is anywhere incompatible with recent buildtools. I found more recent startup files and linker scripts, but the scheduler does not start with these.

Does anyone have more recent linker and startup files or some modified I could use? I’ve no idea where to proceed so far :\

Thanks for any help!

---

<div class="post-metadata">

**Author:** ![rtel](https://d3iykfbgfh8zhg.cloudfront.net/user_avatar/forums.freertos.org/rtel/32/31_2.png) [@rtel](https://forums.freertos.org/u/rtel)\
**Post date:** [November 25, 2009, 8:13pm UTC](https://forums.freertos.org/t/freertos-on-str750-for-gcc/1393/7 "2009-11-25T20:13:47Z")

</div>

**[rtel](https://sourceforge.net/u/rtel/)** wrote on [Wednesday, November 25, 2009](https://sourceforge.net/p/freertos/discussion/382005/thread/3e304e0a/#0bce):

Strange, I thought I had updated it to RIDE 7.&nbsp; I will have to check that.

Regards.

---

<div class="post-metadata">

**Author:** ![system](https://d2v6vdsk2p900z.cloudfront.net/original/1X/7fc8fdb729c645aab5b20282bbe34e57cb407be6.jpeg) [@system](https://forums.freertos.org/u/system)\
**Post date:** [December 10, 2009, 5:00pm UTC](https://forums.freertos.org/t/freertos-on-str750-for-gcc/1393/8 "2009-12-10T17:00:14Z")

</div>

**[grummlatsf](https://sourceforge.net/u/grummlatsf/)** wrote on [Thursday, December 10, 2009](https://sourceforge.net/p/freertos/discussion/382005/thread/3e304e0a/#abc0):

Thank you richardbarry for your answer. I appreciate, that you want to have a look at my concern.  
Did you discovery anything yet? I am still stuck at the old and unstable RIDE6. A recent gcc crosscompiler support would surely help others too.

Thanks

---

<div class="post-metadata">

**Author:** ![system](https://d2v6vdsk2p900z.cloudfront.net/original/1X/7fc8fdb729c645aab5b20282bbe34e57cb407be6.jpeg) [@system](https://forums.freertos.org/u/system)\
**Post date:** [January 25, 2010, 7:08pm UTC](https://forums.freertos.org/t/freertos-on-str750-for-gcc/1393/9 "2010-01-25T19:08:11Z")

</div>

**[grummlatsf](https://sourceforge.net/u/grummlatsf/)** wrote on [Monday, January 25, 2010](https://sourceforge.net/p/freertos/discussion/382005/thread/3e304e0a/#a6ae):

After days of working on it, I rebuilt a makefile, extracting compiling options out of the logfile from ride6.  
Is not compatible anymore with the original freertos data structure, also created not very carefully, but at least it works.  
For anyone that is running in the same problem like me, here my creation.  
Thanks for comments, have fun with it.

#/\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
#  
# FDDrumSpine Makefile  
#  
# FreeRTOS V6.0.1  
#  
# Target STR750  
#  
#\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*/  
&nbsp;

CORE\_SOURCE\_DIR = ./core/  
TASKS\_SOURCE\_DIR = ./tasks/  
LIB\_SOURCE\_DIR = ./STLibrary/src/

CC = arm-elf-gcc  
OBJCOPY = arm-elf-objcopy

LDSCRIPT = systemfiles/STR75xFx0\_FLASH\_FreeRTOS.ld  
STARTSCRIPT = systemfiles/crt0\_STR75x\_FreeRTOS.s

LDFLAGS = \  
-mcpu=arm7tdmi \  
-nostartfiles -Wl,-Map=Output.map,-cref \  
-Xlinker \  
-oOUTPUT.elf

ASFLAGS= -mcpu=arm7tdmi \  
-DSTR75X\_GCC \  
-Wa,-I -Xassembler ./STLibrary/inc \  
-Wa,-I -Xassembler ./include \  
-Wa,-I -Xassembler ./ \  
-c \  
-Wa,-EL

CFLAGS= \  
-DSTR75X\_GCC \  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -mcpu=arm7tdmi \  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -I$(CORE\_SOURCE\_DIR) \  
-I$(TASKS\_SOURCE\_DIR) \  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -I./ \  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -I./STLibrary/inc \  
-c \  
-g \  
-mlittle-endian \  
-funsigned-char \  
-O2 \  
-Wall \  
-Wshadow \  
-Wswitch \  
-Wunused \  
-fomit-frame-pointer \  
-fno-dwarf2-cfi-asm&nbsp;

ARM\_SOURCE= \  
main.c \  
$(TASKS\_SOURCE\_DIR)adc.c \  
$(TASKS\_SOURCE\_DIR)spidac.c \  
$(TASKS\_SOURCE\_DIR)peltierfb.c \  
$(TASKS\_SOURCE\_DIR)canbus.c \  
$(CORE\_SOURCE\_DIR)misc\_stringop.c \  
$(CORE\_SOURCE\_DIR)serial.c \  
$(CORE\_SOURCE\_DIR)serialISR.c \  
$(CORE\_SOURCE\_DIR)list.c \  
$(CORE\_SOURCE\_DIR)port.c \  
$(CORE\_SOURCE\_DIR)queue.c \  
$(CORE\_SOURCE\_DIR)tasks.c \  
$(CORE\_SOURCE\_DIR)heap\_2.c \  
$(CORE\_SOURCE\_DIR)portISR.c \  
$(LIB\_SOURCE\_DIR)75x\_adc.c \  
$(LIB\_SOURCE\_DIR)75x\_can.c \  
$(LIB\_SOURCE\_DIR)75x\_ssp.c \  
$(LIB\_SOURCE\_DIR)75x\_mrcc.c \  
$(LIB\_SOURCE\_DIR)75x\_gpio.c \  
$(LIB\_SOURCE\_DIR)75x\_tb.c \  
$(LIB\_SOURCE\_DIR)75x\_it.c \  
$(LIB\_SOURCE\_DIR)75x\_cfg.c \  
$(LIB\_SOURCE\_DIR)75x\_eic.c \  
$(LIB\_SOURCE\_DIR)75x\_uart.c

ARM\_OBJS = $(ARM\_SOURCE:.c=.o)

START\_OBJ = $(STARTSCRIPT:.s=.o)

all: OUTPUT.bin

OUTPUT.bin : OUTPUT.elf  
$(OBJCOPY) OUTPUT.elf -O binary OUTPUT.bin

OUTPUT.elf :&nbsp; $(ARM\_OBJS) $(START\_OBJ) Makefile  
$(CC) $(LDFLAGS) $(START\_OBJ) $(ARM\_OBJS) -T $(LDSCRIPT)

$(ARM\_OBJS) : %.o : %.c Makefile FreeRTOSConfig.h  
$(CC) $(CFLAGS) $\< -o $@

$(START\_OBJ) : $(STARTSCRIPT)  
$(CC) $(ASFLAGS) $(STARTSCRIPT) -o $@

clean :  
rm -f $(START\_OBJ)  
rm -f $(ARM\_OBJS)  
touch Makefile  
rm -f OUTPUT.elf  
rm -f OUTPUT.bin
