MSP430 build using V3 and linux
up to now it worked great with FreeRtos. Now I download the new version into a new directory and was trying to compile the MSP430 port before I work with my own stuff.
But it’s not possible to compile and link. ( gcc, linux ) Think it’s based on active 2.6 stuff ( e.g. portmacro.h ) in the tree.
Is it known already?
MSP430 build using V3 and linux
Hi Peter,
I am using mspgcc under win32 (cygwin). It seems to build without any problems (output below). I cannot test under linux unfortunately. Win32 is a lot more fogiving as far as the direction of slashes (/ \) and the case sensitivity so maybe there is something wrong there.
A couple of questions for you.
1) Does the V3.0.0 demo project build when unmodified (from the demo/mspgcc directory)?
2) If not, what is the error message? Can you provide the output of the build?
3) Which version of gcc are you using?
Regards.
Build output:
msp430-gcc -c -mmcu=msp430x449 -Os -g -I. -I../../Source/include -I../Common/include -DGCC_MSP430 -Wall -Wshadow -Wpointer-arith -Wbad-function-c
ast -Wcast-align -Wsign-compare -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wunused main.c -o main.o
msp430-gcc -c -mmcu=msp430x449 -Os -g -I. -I../../Source/include -I../Common/include -DGCC_MSP430 -Wall -Wshadow -Wpointer-arith -Wbad-function-c
ast -Wcast-align -Wsign-compare -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wunused ParTest/ParTest.c -o
ParTest/ParTest.o
msp430-gcc -c -mmcu=msp430x449 -Os -g -I. -I../../Source/include -I../Common/include -DGCC_MSP430 -Wall -Wshadow -Wpointer-arith -Wbad-function-c
ast -Wcast-align -Wsign-compare -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wunused serial/serial.c -o se
rial/serial.o
msp430-gcc -c -mmcu=msp430x449 -Os -g -I. -I../../Source/include -I../Common/include -DGCC_MSP430 -Wall -Wshadow -Wpointer-arith -Wbad-function-c
ast -Wcast-align -Wsign-compare -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wunused ../../Source/tasks.c
-o ../../Source/tasks.o
msp430-gcc -c -mmcu=msp430x449 -Os -g -I. -I../../Source/include -I../Common/include -DGCC_MSP430 -Wall -Wshadow -Wpointer-arith -Wbad-function-c
ast -Wcast-align -Wsign-compare -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wunused ../../Source/list.c –
o ../../Source/list.o
msp430-gcc -c -mmcu=msp430x449 -Os -g -I. -I../../Source/include -I../Common/include -DGCC_MSP430 -Wall -Wshadow -Wpointer-arith -Wbad-function-c
ast -Wcast-align -Wsign-compare -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wunused ../../Source/queue.c
-o ../../Source/queue.o
msp430-gcc -c -mmcu=msp430x449 -Os -g -I. -I../../Source/include -I../Common/include -DGCC_MSP430 -Wall -Wshadow -Wpointer-arith -Wbad-function-c
ast -Wcast-align -Wsign-compare -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wunused ../../Source/portable
/MemMang/heap_1.c -o ../../Source/portable/MemMang/heap_1.o
msp430-gcc -c -mmcu=msp430x449 -Os -g -I. -I../../Source/include -I../Common/include -DGCC_MSP430 -Wall -Wshadow -Wpointer-arith -Wbad-function-c
ast -Wcast-align -Wsign-compare -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wunused ../../Source/portable
/GCC/MSP430F449/port.c -o ../../Source/portable/GCC/MSP430F449/port.o
msp430-gcc -c -mmcu=msp430x449 -Os -g -I. -I../../Source/include -I../Common/include -DGCC_MSP430 -Wall -Wshadow -Wpointer-arith -Wbad-function-c
ast -Wcast-align -Wsign-compare -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wunused ../Common/Minimal/fla
sh.c -o ../Common/Minimal/flash.o
msp430-gcc -c -mmcu=msp430x449 -Os -g -I. -I../../Source/include -I../Common/include -DGCC_MSP430 -Wall -Wshadow -Wpointer-arith -Wbad-function-c
ast -Wcast-align -Wsign-compare -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wunused ../Common/Minimal/int
eger.c -o ../Common/Minimal/integer.o
msp430-gcc -c -mmcu=msp430x449 -Os -g -I. -I../../Source/include -I../Common/include -DGCC_MSP430 -Wall -Wshadow -Wpointer-arith -Wbad-function-c
ast -Wcast-align -Wsign-compare -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wunused ../Common/Minimal/com
test.c -o ../Common/Minimal/comtest.o
msp430-gcc -c -mmcu=msp430x449 -Os -g -I. -I../../Source/include -I../Common/include -DGCC_MSP430 -Wall -Wshadow -Wpointer-arith -Wbad-function-c
ast -Wcast-align -Wsign-compare -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wunused ../Common/Minimal/Pol
lQ.c -o ../Common/Minimal/PollQ.o
msp430-gcc main.o ParTest/ParTest.o serial/serial.o ../../Source/tasks.o ../../Source/list.o ../../Source/queue.o ../../Source/portable/MemMang/h
eap_1.o ../../Source/portable/GCC/MSP430F449/port.o ../Common/Minimal/flash.o ../Common/Minimal/integer.o ../Common/Minimal/comtest.o ../Common/M
inimal/PollQ.o -mmcu=msp430x449 -Os -g -I. -I../../Source/include -I../Common/include -DGCC_MSP430 -Wall -Wshadow -Wpointer-arith -Wbad-function-
cast -Wcast-align -Wsign-compare -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wunused
MSP430 build using V3 and linux
Hi,
here are some more details.
I’m using the original 3.0 download file.
msp430-gcc version 3.2.3 ( linux )
Up to now it works fine with FreeRtos 2.6.
unzip FreeRTOSV3.0.0.zip
~~~
~~
~
inflating: FreeRTOS/License/license.txt
FreeRTOS/3.0> cd FreeRTOS/
3.0/FreeRTOS> ll
total 5
drwxr-xr-x 19 plange applic 632 May 7 21:30 Demo
drwxr-xr-x 2 plange applic 80 May 7 21:30 License
drwxr-xr-x 4 plange applic 200 May 7 21:30 Source
drwxr-xr-x 2 plange applic 176 May 7 21:30 TraceCon
-rw-r–r– 1 plange applic 452 Apr 13 16:01 readme.txt
3.0/FreeRTOS> cd Demo/
FreeRTOS/Demo> cd msp430
Demo/msp430> ln -s Makefile makefile
Demo/msp430> ll
total 24
-rw-r–r– 1 plange applic 2961 Apr 20 21:07 FreeRTOSConfig.h
-rw-r–r– 1 plange applic 2605 Apr 13 16:26 Makefile
drwxr-xr-x 2 plange applic 80 May 7 21:30 ParTest
-rw-r–r– 1 plange applic 83 Oct 3 2004 gdb.ini
-rw-r–r– 1 plange applic 8865 Apr 20 21:05 main.c
lrwxrwxrwx 1 plange applic 8 May 7 17:04 makefile -> Makefile
drwxr-xr-x 2 plange applic 72 May 7 21:30 serial
Demo/msp430> pwd
/Peter/msp430/FreeRTOS/3.0/FreeRTOS/Demo/msp430
Demo/msp430> which msp430-gcc
/usr/local/msp430/bin/msp430-gcc
Demo/msp430>
Demo/msp430>
Demo/msp430> make clean
touch makefile
Demo/msp430> make
msp430-gcc -c -mmcu=msp430x449 -Os -g -I. -I../../Source/include -I../Common/include -DGCC_MSP430 -Wall -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-align -Wsign-compare -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wunused main.c -o main.o
In file included from main.c:64:
../../Source/include/FreeRTOS.h:43:22: ProjDefs.h: No such file or directory
In file included from ../../Source/include/FreeRTOS.h:49,
from main.c:64:
../../Source/include/portable.h:116: syntax error before "pdTASK_CODE"
../../Source/include/portable.h:116: warning: function declaration isn’t a prototype
In file included from main.c:65:
../../Source/include/task.h:198: syntax error before "pvTaskCode"
../../Source/include/task.h:198: warning: function declaration isn’t a prototype
main.c: In function `vErrorChecks’:
main.c:170: `pdPASS’ undeclared (first use in this function)
main.c:170: (Each undeclared identifier is reported only once
main.c:170: for each function it appears in.)
main.c: In function `prvCheckOtherTasksAreStillRunning’:
main.c:186: `pdTRUE’ undeclared (first use in this function)
main.c:197: `pdFALSE’ undeclared (first use in this function)
make: *** [main.o] Error 1
Demo/msp430>
Is the reference to portable.h still correct?
Peter
MSP430 build using V3 and linux
Demo/msp430> find ../../../ -name "*.h" -print | grep -i defs.h
../../../FreeRTOS/Source/include/projdefs.h
Demo/msp430> pushd ../../../FreeRTOS/Source/include/
/Peter/msp430/FreeRTOS/3.0/FreeRTOS/Source/include /Peter/msp430/FreeRTOS/3.0/FreeRTOS/Demo/msp430
Source/include> ls
FreeRTOS.h list.h portable.h projdefs.h queue.h semphr.h task.h
Source/include> ln -s projdefs.h ProjDefs.h
Demo/msp430> make clean touch makefile Demo/msp430> make msp430-gcc -c -mmcu=msp430x449 -Os -g -I. -I../../Source/include -I../Common/include -DGCC_MSP430 -Wall -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-align -Wsign-compare -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wunused main.c -o main.o msp430-gcc -c -mmcu=msp430x449 -Os -g -I. -I../../Source/include -I../Common/include -DGCC_MSP430 -Wall -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-align -Wsign-compare -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wunused ParTest/ParTest.c -o ParTest/ParTest.o msp430-gcc -c -mmcu=msp430x449 -Os -g -I. -I../../Source/include -I../Common/include -DGCC_MSP430 -Wall -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-align -Wsign-compare -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wunused serial/serial.c -o serial/serial.o msp430-gcc -c -mmcu=msp430x449 -Os -g -I. -I../../Source/include -I../Common/include -DGCC_MSP430 -Wall -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-align -Wsign-compare -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wunused ../../Source/tasks.c -o ../../Source/tasks.o msp430-gcc -c -mmcu=msp430x449 -Os -g -I. -I../../Source/include -I../Common/include -DGCC_MSP430 -Wall -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-align -Wsign-compare -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wunused ../../Source/list.c -o ../../Source/list.o msp430-gcc -c -mmcu=msp430x449 -Os -g -I. -I../../Source/include -I../Common/include -DGCC_MSP430 -Wall -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-align -Wsign-compare -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wunused ../../Source/queue.c -o ../../Source/queue.o msp430-gcc -c -mmcu=msp430x449 -Os -g -I. -I../../Source/include -I../Common/include -DGCC_MSP430 -Wall -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-align -Wsign-compare -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wunused ../../Source/portable/MemMang/heap_1.c -o ../../Source/portable/MemMang/heap_1.o msp430-gcc -c -mmcu=msp430x449 -Os -g -I. -I../../Source/include -I../Common/include -DGCC_MSP430 -Wall -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-align -Wsign-compare -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wunused ../../Source/portable/GCC/MSP430F449/port.c -o ../../Source/portable/GCC/MSP430F449/port.o msp430-gcc -c -mmcu=msp430x449 -Os -g -I. -I../../Source/include -I../Common/include -DGCC_MSP430 -Wall -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-align -Wsign-compare -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wunused ../Common/Minimal/flash.c -o ../Common/Minimal/flash.o msp430-gcc -c -mmcu=msp430x449 -Os -g -I. -I../../Source/include -I../Common/include -DGCC_MSP430 -Wall -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-align -Wsign-compare -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wunused ../Common/Minimal/integer.c -o ../Common/Minimal/integer.o msp430-gcc -c -mmcu=msp430x449 -Os -g -I. -I../../Source/include -I../Common/include -DGCC_MSP430 -Wall -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-align -Wsign-compare -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wunused ../Common/Minimal/comtest.c -o ../Common/Minimal/comtest.o msp430-gcc -c -mmcu=msp430x449 -Os -g -I. -I../../Source/include -I../Common/include -DGCC_MSP430 -Wall -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-align -Wsign-compare -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wunused ../Common/Minimal/PollQ.c -o ../Common/Minimal/PollQ.o msp430-gcc main.o ParTest/ParTest.o serial/serial.o ../../Source/tasks.o ../../Source/list.o ../../Source/queue.o ../../Source/portable/MemMang/heap_1.o ../../Source/portable/GCC/MSP430F449/port.o ../Common/Minimal/flash.o ../Common/Minimal/integer.o ../Common/Minimal/comtest.o ../Common/Minimal/PollQ.o -mmcu=msp430x449 -Os -g -I. -I../../Source/include -I../Common/include -DGCC_MSP430 -Wall -Wshadow -Wpointer-arith-Wbad-function-cast -Wcast-align -Wsign-compare -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wunused Demo/msp430>MSP430 build using V3 and linux
The new file "Source/include/FreeRTOS.h" has the line:
#include "ProjDefs.h"
The file being included is actually called "projdefs.h" – note that there are no capitals. Under Win32 this is no problem, under linux it is a problem.
I will add a note under the known issues list for V3.0.0 to rename "ProjDefs.h" to "projdefs.h".
Thanks for pointing this out.