msp430x port
- DeusExMachina
- Posts: 223
- Joined: Tue Apr 03, 2012 5:08 am
- Has thanked: 3 times
- Been thanked: 3 times
Re: msp430x port
I'll try to provide some feedback, and I also want to write an article about ChibiOS on Russian to make it popular in Russian community.
-
erwinkendo
- Posts: 14
- Joined: Wed Apr 25, 2012 4:44 am
Re: msp430x port
Greetings
I will be happy to help, I really like ChibiOS and have pretty good experience using MSP430 (around a year), so maybe I can be of assistance, I am very interested in this port to take fly.
For any testing purpose or related about coding, count me in.
I will be happy to help, I really like ChibiOS and have pretty good experience using MSP430 (around a year), so maybe I can be of assistance, I am very interested in this port to take fly.
For any testing purpose or related about coding, count me in.
-
erwinkendo
- Posts: 14
- Joined: Wed Apr 25, 2012 4:44 am
Re: msp430x port
Quick question:
The msp430 demo in trunk is working? Or you havent merged recent changes?
I ask this because I was testing again the msp430 port (couple of months was totally broken) but the same errors occurred:
First trouble because of missing <msp430/common.h> file in chcore.h (this file I don't know where it is, I can compile programs with my current instalation in my Archlinux machine and in the /msp430/include/ the file isn't there), and when removing it, hal errors ocurre.
../../os/hal/platforms/MSP430/pal_lld.h:53:3: error: unknown type name 'ioregister_t'
The msp430 demo in trunk is working? Or you havent merged recent changes?
I ask this because I was testing again the msp430 port (couple of months was totally broken) but the same errors occurred:
First trouble because of missing <msp430/common.h> file in chcore.h (this file I don't know where it is, I can compile programs with my current instalation in my Archlinux machine and in the /msp430/include/ the file isn't there), and when removing it, hal errors ocurre.
../../os/hal/platforms/MSP430/pal_lld.h:53:3: error: unknown type name 'ioregister_t'
- Giovanni
- Site Admin
- Posts: 14892
- Joined: Wed May 27, 2009 8:48 am
- Has thanked: 1202 times
- Been thanked: 996 times
Re: msp430x port
Hi,
It is working using the original MSPGCC (3.2.3 if I remember well), if you are using MSPGCC4 then there are probably differences in the headers.
I will give it a try using MSPGCC4.
Giovanni
It is working using the original MSPGCC (3.2.3 if I remember well), if you are using MSPGCC4 then there are probably differences in the headers.
I will give it a try using MSPGCC4.
Giovanni
- Giovanni
- Site Admin
- Posts: 14892
- Joined: Wed May 27, 2009 8:48 am
- Has thanked: 1202 times
- Been thanked: 996 times
Re: msp430x port
Update:
The MSP430 port now works with the latest MSPGCC, the repository trunk has been updated. This change will be backported to version 2.4.1.
Test Report (much improved scores I must say):
Please let me know if there are problems with this port. I am considering giving it more "bandwidth".
Giovanni
The MSP430 port now works with the latest MSPGCC, the repository trunk has been updated. This change will be backported to version 2.4.1.
Test Report (much improved scores I must say):
Code: Select all
*** ChibiOS/RT test suite
***
*** Kernel: 2.5.0
*** Compiled: Apr 25 2012 - 11:28:57
*** Compiler: GCC 4.6.3 20120301 (mspgcc LTS 20120406 unpatched)
*** Architecture: MSP430
*** Core Variant: MSP430
*** Port Info: None
*** Platform: MSP430
*** Test Board: Olimex MSP430-P1611
----------------------------------------------------------------------------
--- Test Case 1.1 (Threads, enqueuing test #1)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 1.2 (Threads, enqueuing test #2)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 1.3 (Threads, priority change)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 1.4 (Threads, delays)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 2.1 (Semaphores, enqueuing)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 2.2 (Semaphores, timeout)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 2.3 (Semaphores, atomic signal-wait)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 2.4 (Binary Semaphores, functionality)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 3.1 (Mutexes, priority enqueuing test)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 3.2 (Mutexes, priority inheritance, simple case)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 3.3 (Mutexes, priority inheritance, complex case)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 3.4 (Mutexes, priority return)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 3.5 (Mutexes, status)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 3.6 (CondVar, signal test)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 3.7 (CondVar, broadcast test)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 3.8 (CondVar, boost test)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 4.1 (Messages, loop)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 5.1 (Mailboxes, queuing and timeouts)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 6.1 (Events, registration and dispatch)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 6.2 (Events, wait and broadcast)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 6.3 (Events, timeouts)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 7.1 (Heap, allocation and fragmentation test)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 8.1 (Memory Pools, queue/dequeue)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 9.1 (Dynamic APIs, threads creation from heap)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 9.2 (Dynamic APIs, threads creation from memory pool)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 9.3 (Dynamic APIs, registry and references)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 10.1 (Queues, input queues)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 10.2 (Queues, output queues)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.1 (Benchmark, messages #1)
--- Score : 22756 msgs/S, 45512 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.2 (Benchmark, messages #2)
--- Score : 17949 msgs/S, 35898 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.3 (Benchmark, messages #3)
--- Score : 17949 msgs/S, 35898 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.4 (Benchmark, context switch)
--- Score : 67552 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.5 (Benchmark, threads, full cycle)
--- Score : 12780 threads/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.6 (Benchmark, threads, create only)
--- Score : 18071 threads/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.7 (Benchmark, mass reschedule, 5 threads)
--- Score : 5449 reschedules/S, 32694 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.8 (Benchmark, round robin context switching)
--- Score : 42200 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.9 (Benchmark, I/O Queues throughput)
--- Score : 73280 bytes/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.10 (Benchmark, virtual timers set/reset)
--- Score : 69456 timers/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.11 (Benchmark, semaphores wait/signal)
--- Score : 140132 wait+signal/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.12 (Benchmark, mutexes lock/unlock)
--- Score : 76804 lock+unlock/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.13 (Benchmark, RAM footprint)
--- System: 222 bytes
--- Thread: 38 bytes
--- Timer : 10 bytes
--- Semaph: 6 bytes
--- EventS: 2 bytes
--- EventL: 6 bytes
--- Mutex : 8 bytes
--- CondV.: 4 bytes
--- Queue : 16 bytes
--- MailB.: 20 bytes
--- Result: SUCCESS
----------------------------------------------------------------------------
Final result: SUCCESS
Please let me know if there are problems with this port. I am considering giving it more "bandwidth".
Giovanni
Re: msp430x port
I just did a quick test on Ubuntu 12.04 using gcc-msp430 installed via apt-get:
hmm. I have no experience of msp430 other than owning a few of the cheap dev boards (and the watch!). Anyone have any ideas what I'm missing?
Code: Select all
tom@tom-Z77A:~/projects/rc/src/chibios/demos/MSP430-MSP430x1611-GCC$ make
msp430-gcc -c -mmcu=msp430x1611 -O2 -ggdb -fomit-frame-pointer -Wa,-alms=../../os/hal/platforms/MSP430/serial_lld.lst -D__MSP430F1611__ -MD -MP -MF .dep/serial_lld.o.d -I . -I../../os/ports/GCC/MSP430 -I../../os/kernel/include -I../../test -I../../os/hal/include -I../../os/hal/platforms/MSP430 -I../../boards/OLIMEX_MSP430_P1611 -I../../os/various ../../os/hal/platforms/MSP430/serial_lld.c -o ../../os/hal/platforms/MSP430/serial_lld.o
../../os/hal/platforms/MSP430/serial_lld.c:180:1: error: expected declaration specifiers or ‘...’ before ‘(’ token
../../os/hal/platforms/MSP430/serial_lld.c: In function ‘interrupt’:
../../os/hal/platforms/MSP430/serial_lld.c:180:1: error: expected declaration specifiers before ‘vectUSART0TX’
../../os/hal/platforms/MSP430/serial_lld.c:201:1: error: expected declaration specifiers before ‘interrupt’
../../os/hal/platforms/MSP430/serial_lld.c:267:24: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token
../../os/hal/platforms/MSP430/serial_lld.c:288:66: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token
../../os/hal/platforms/MSP430/serial_lld.c:316:37: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token
../../os/hal/platforms/MSP430/serial_lld.c:330:1: error: expected ‘{’ at end of input
make: *** [../../os/hal/platforms/MSP430/serial_lld.o] Error 1
hmm. I have no experience of msp430 other than owning a few of the cheap dev boards (and the watch!). Anyone have any ideas what I'm missing?
Re: msp430x port
Also does not work for me with my 11.10 Ubuntu. I also own the watch - but somehow never got to do anything with it. Apart from having ChibiOS running on yet some other hardware I'm more interested in STM32 though.
Code: Select all
â•─mabl@mikrocanonix /tmp/ChibiOS/demos/MSP430-MSP430x1611-GCC ‹master›
╰─➤ make
msp430-gcc -c -mmcu=msp430x1611 -O2 -ggdb -fomit-frame-pointer -Wa,-alms=../../os/ports/GCC/MSP430/chcore.lst -D__MSP430F1611__ -MD -MP -MF .dep/chcore.o.d -I . -I../../os/ports/GCC/MSP430 -I../../os/kernel/include -I../../test -I../../os/hal/include -I../../os/hal/platforms/MSP430 -I../../boards/OLIMEX_MSP430_P1611 -I../../os/various ../../os/ports/GCC/MSP430/chcore.c -o ../../os/ports/GCC/MSP430/chcore.o
msp430-gcc -c -mmcu=msp430x1611 -O2 -ggdb -fomit-frame-pointer -Wa,-alms=../../os/kernel/src/chsys.lst -D__MSP430F1611__ -MD -MP -MF .dep/chsys.o.d -I . -I../../os/ports/GCC/MSP430 -I../../os/kernel/include -I../../test -I../../os/hal/include -I../../os/hal/platforms/MSP430 -I../../boards/OLIMEX_MSP430_P1611 -I../../os/various ../../os/kernel/src/chsys.c -o ../../os/kernel/src/chsys.o
msp430-gcc -c -mmcu=msp430x1611 -O2 -ggdb -fomit-frame-pointer -Wa,-alms=../../os/kernel/src/chdebug.lst -D__MSP430F1611__ -MD -MP -MF .dep/chdebug.o.d -I . -I../../os/ports/GCC/MSP430 -I../../os/kernel/include -I../../test -I../../os/hal/include -I../../os/hal/platforms/MSP430 -I../../boards/OLIMEX_MSP430_P1611 -I../../os/various ../../os/kernel/src/chdebug.c -o ../../os/kernel/src/chdebug.o
msp430-gcc -c -mmcu=msp430x1611 -O2 -ggdb -fomit-frame-pointer -Wa,-alms=../../os/kernel/src/chlists.lst -D__MSP430F1611__ -MD -MP -MF .dep/chlists.o.d -I . -I../../os/ports/GCC/MSP430 -I../../os/kernel/include -I../../test -I../../os/hal/include -I../../os/hal/platforms/MSP430 -I../../boards/OLIMEX_MSP430_P1611 -I../../os/various ../../os/kernel/src/chlists.c -o ../../os/kernel/src/chlists.o
msp430-gcc -c -mmcu=msp430x1611 -O2 -ggdb -fomit-frame-pointer -Wa,-alms=../../os/kernel/src/chvt.lst -D__MSP430F1611__ -MD -MP -MF .dep/chvt.o.d -I . -I../../os/ports/GCC/MSP430 -I../../os/kernel/include -I../../test -I../../os/hal/include -I../../os/hal/platforms/MSP430 -I../../boards/OLIMEX_MSP430_P1611 -I../../os/various ../../os/kernel/src/chvt.c -o ../../os/kernel/src/chvt.o
msp430-gcc -c -mmcu=msp430x1611 -O2 -ggdb -fomit-frame-pointer -Wa,-alms=../../os/kernel/src/chschd.lst -D__MSP430F1611__ -MD -MP -MF .dep/chschd.o.d -I . -I../../os/ports/GCC/MSP430 -I../../os/kernel/include -I../../test -I../../os/hal/include -I../../os/hal/platforms/MSP430 -I../../boards/OLIMEX_MSP430_P1611 -I../../os/various ../../os/kernel/src/chschd.c -o ../../os/kernel/src/chschd.o
msp430-gcc -c -mmcu=msp430x1611 -O2 -ggdb -fomit-frame-pointer -Wa,-alms=../../os/kernel/src/chthreads.lst -D__MSP430F1611__ -MD -MP -MF .dep/chthreads.o.d -I . -I../../os/ports/GCC/MSP430 -I../../os/kernel/include -I../../test -I../../os/hal/include -I../../os/hal/platforms/MSP430 -I../../boards/OLIMEX_MSP430_P1611 -I../../os/various ../../os/kernel/src/chthreads.c -o ../../os/kernel/src/chthreads.o
msp430-gcc -c -mmcu=msp430x1611 -O2 -ggdb -fomit-frame-pointer -Wa,-alms=../../os/kernel/src/chdynamic.lst -D__MSP430F1611__ -MD -MP -MF .dep/chdynamic.o.d -I . -I../../os/ports/GCC/MSP430 -I../../os/kernel/include -I../../test -I../../os/hal/include -I../../os/hal/platforms/MSP430 -I../../boards/OLIMEX_MSP430_P1611 -I../../os/various ../../os/kernel/src/chdynamic.c -o ../../os/kernel/src/chdynamic.o
msp430-gcc -c -mmcu=msp430x1611 -O2 -ggdb -fomit-frame-pointer -Wa,-alms=../../os/kernel/src/chregistry.lst -D__MSP430F1611__ -MD -MP -MF .dep/chregistry.o.d -I . -I../../os/ports/GCC/MSP430 -I../../os/kernel/include -I../../test -I../../os/hal/include -I../../os/hal/platforms/MSP430 -I../../boards/OLIMEX_MSP430_P1611 -I../../os/various ../../os/kernel/src/chregistry.c -o ../../os/kernel/src/chregistry.o
msp430-gcc -c -mmcu=msp430x1611 -O2 -ggdb -fomit-frame-pointer -Wa,-alms=../../os/kernel/src/chsem.lst -D__MSP430F1611__ -MD -MP -MF .dep/chsem.o.d -I . -I../../os/ports/GCC/MSP430 -I../../os/kernel/include -I../../test -I../../os/hal/include -I../../os/hal/platforms/MSP430 -I../../boards/OLIMEX_MSP430_P1611 -I../../os/various ../../os/kernel/src/chsem.c -o ../../os/kernel/src/chsem.o
msp430-gcc -c -mmcu=msp430x1611 -O2 -ggdb -fomit-frame-pointer -Wa,-alms=../../os/kernel/src/chmtx.lst -D__MSP430F1611__ -MD -MP -MF .dep/chmtx.o.d -I . -I../../os/ports/GCC/MSP430 -I../../os/kernel/include -I../../test -I../../os/hal/include -I../../os/hal/platforms/MSP430 -I../../boards/OLIMEX_MSP430_P1611 -I../../os/various ../../os/kernel/src/chmtx.c -o ../../os/kernel/src/chmtx.o
msp430-gcc -c -mmcu=msp430x1611 -O2 -ggdb -fomit-frame-pointer -Wa,-alms=../../os/kernel/src/chcond.lst -D__MSP430F1611__ -MD -MP -MF .dep/chcond.o.d -I . -I../../os/ports/GCC/MSP430 -I../../os/kernel/include -I../../test -I../../os/hal/include -I../../os/hal/platforms/MSP430 -I../../boards/OLIMEX_MSP430_P1611 -I../../os/various ../../os/kernel/src/chcond.c -o ../../os/kernel/src/chcond.o
msp430-gcc -c -mmcu=msp430x1611 -O2 -ggdb -fomit-frame-pointer -Wa,-alms=../../os/kernel/src/chevents.lst -D__MSP430F1611__ -MD -MP -MF .dep/chevents.o.d -I . -I../../os/ports/GCC/MSP430 -I../../os/kernel/include -I../../test -I../../os/hal/include -I../../os/hal/platforms/MSP430 -I../../boards/OLIMEX_MSP430_P1611 -I../../os/various ../../os/kernel/src/chevents.c -o ../../os/kernel/src/chevents.o
msp430-gcc -c -mmcu=msp430x1611 -O2 -ggdb -fomit-frame-pointer -Wa,-alms=../../os/kernel/src/chmsg.lst -D__MSP430F1611__ -MD -MP -MF .dep/chmsg.o.d -I . -I../../os/ports/GCC/MSP430 -I../../os/kernel/include -I../../test -I../../os/hal/include -I../../os/hal/platforms/MSP430 -I../../boards/OLIMEX_MSP430_P1611 -I../../os/various ../../os/kernel/src/chmsg.c -o ../../os/kernel/src/chmsg.o
msp430-gcc -c -mmcu=msp430x1611 -O2 -ggdb -fomit-frame-pointer -Wa,-alms=../../os/kernel/src/chmboxes.lst -D__MSP430F1611__ -MD -MP -MF .dep/chmboxes.o.d -I . -I../../os/ports/GCC/MSP430 -I../../os/kernel/include -I../../test -I../../os/hal/include -I../../os/hal/platforms/MSP430 -I../../boards/OLIMEX_MSP430_P1611 -I../../os/various ../../os/kernel/src/chmboxes.c -o ../../os/kernel/src/chmboxes.o
msp430-gcc -c -mmcu=msp430x1611 -O2 -ggdb -fomit-frame-pointer -Wa,-alms=../../os/kernel/src/chqueues.lst -D__MSP430F1611__ -MD -MP -MF .dep/chqueues.o.d -I . -I../../os/ports/GCC/MSP430 -I../../os/kernel/include -I../../test -I../../os/hal/include -I../../os/hal/platforms/MSP430 -I../../boards/OLIMEX_MSP430_P1611 -I../../os/various ../../os/kernel/src/chqueues.c -o ../../os/kernel/src/chqueues.o
msp430-gcc -c -mmcu=msp430x1611 -O2 -ggdb -fomit-frame-pointer -Wa,-alms=../../os/kernel/src/chmemcore.lst -D__MSP430F1611__ -MD -MP -MF .dep/chmemcore.o.d -I . -I../../os/ports/GCC/MSP430 -I../../os/kernel/include -I../../test -I../../os/hal/include -I../../os/hal/platforms/MSP430 -I../../boards/OLIMEX_MSP430_P1611 -I../../os/various ../../os/kernel/src/chmemcore.c -o ../../os/kernel/src/chmemcore.o
msp430-gcc -c -mmcu=msp430x1611 -O2 -ggdb -fomit-frame-pointer -Wa,-alms=../../os/kernel/src/chheap.lst -D__MSP430F1611__ -MD -MP -MF .dep/chheap.o.d -I . -I../../os/ports/GCC/MSP430 -I../../os/kernel/include -I../../test -I../../os/hal/include -I../../os/hal/platforms/MSP430 -I../../boards/OLIMEX_MSP430_P1611 -I../../os/various ../../os/kernel/src/chheap.c -o ../../os/kernel/src/chheap.o
msp430-gcc -c -mmcu=msp430x1611 -O2 -ggdb -fomit-frame-pointer -Wa,-alms=../../os/kernel/src/chmempools.lst -D__MSP430F1611__ -MD -MP -MF .dep/chmempools.o.d -I . -I../../os/ports/GCC/MSP430 -I../../os/kernel/include -I../../test -I../../os/hal/include -I../../os/hal/platforms/MSP430 -I../../boards/OLIMEX_MSP430_P1611 -I../../os/various ../../os/kernel/src/chmempools.c -o ../../os/kernel/src/chmempools.o
msp430-gcc -c -mmcu=msp430x1611 -O2 -ggdb -fomit-frame-pointer -Wa,-alms=../../test/test.lst -D__MSP430F1611__ -MD -MP -MF .dep/test.o.d -I . -I../../os/ports/GCC/MSP430 -I../../os/kernel/include -I../../test -I../../os/hal/include -I../../os/hal/platforms/MSP430 -I../../boards/OLIMEX_MSP430_P1611 -I../../os/various ../../test/test.c -o ../../test/test.o
msp430-gcc -c -mmcu=msp430x1611 -O2 -ggdb -fomit-frame-pointer -Wa,-alms=../../test/testthd.lst -D__MSP430F1611__ -MD -MP -MF .dep/testthd.o.d -I . -I../../os/ports/GCC/MSP430 -I../../os/kernel/include -I../../test -I../../os/hal/include -I../../os/hal/platforms/MSP430 -I../../boards/OLIMEX_MSP430_P1611 -I../../os/various ../../test/testthd.c -o ../../test/testthd.o
msp430-gcc -c -mmcu=msp430x1611 -O2 -ggdb -fomit-frame-pointer -Wa,-alms=../../test/testsem.lst -D__MSP430F1611__ -MD -MP -MF .dep/testsem.o.d -I . -I../../os/ports/GCC/MSP430 -I../../os/kernel/include -I../../test -I../../os/hal/include -I../../os/hal/platforms/MSP430 -I../../boards/OLIMEX_MSP430_P1611 -I../../os/various ../../test/testsem.c -o ../../test/testsem.o
msp430-gcc -c -mmcu=msp430x1611 -O2 -ggdb -fomit-frame-pointer -Wa,-alms=../../test/testmtx.lst -D__MSP430F1611__ -MD -MP -MF .dep/testmtx.o.d -I . -I../../os/ports/GCC/MSP430 -I../../os/kernel/include -I../../test -I../../os/hal/include -I../../os/hal/platforms/MSP430 -I../../boards/OLIMEX_MSP430_P1611 -I../../os/various ../../test/testmtx.c -o ../../test/testmtx.o
msp430-gcc -c -mmcu=msp430x1611 -O2 -ggdb -fomit-frame-pointer -Wa,-alms=../../test/testmsg.lst -D__MSP430F1611__ -MD -MP -MF .dep/testmsg.o.d -I . -I../../os/ports/GCC/MSP430 -I../../os/kernel/include -I../../test -I../../os/hal/include -I../../os/hal/platforms/MSP430 -I../../boards/OLIMEX_MSP430_P1611 -I../../os/various ../../test/testmsg.c -o ../../test/testmsg.o
msp430-gcc -c -mmcu=msp430x1611 -O2 -ggdb -fomit-frame-pointer -Wa,-alms=../../test/testmbox.lst -D__MSP430F1611__ -MD -MP -MF .dep/testmbox.o.d -I . -I../../os/ports/GCC/MSP430 -I../../os/kernel/include -I../../test -I../../os/hal/include -I../../os/hal/platforms/MSP430 -I../../boards/OLIMEX_MSP430_P1611 -I../../os/various ../../test/testmbox.c -o ../../test/testmbox.o
msp430-gcc -c -mmcu=msp430x1611 -O2 -ggdb -fomit-frame-pointer -Wa,-alms=../../test/testevt.lst -D__MSP430F1611__ -MD -MP -MF .dep/testevt.o.d -I . -I../../os/ports/GCC/MSP430 -I../../os/kernel/include -I../../test -I../../os/hal/include -I../../os/hal/platforms/MSP430 -I../../boards/OLIMEX_MSP430_P1611 -I../../os/various ../../test/testevt.c -o ../../test/testevt.o
msp430-gcc -c -mmcu=msp430x1611 -O2 -ggdb -fomit-frame-pointer -Wa,-alms=../../test/testheap.lst -D__MSP430F1611__ -MD -MP -MF .dep/testheap.o.d -I . -I../../os/ports/GCC/MSP430 -I../../os/kernel/include -I../../test -I../../os/hal/include -I../../os/hal/platforms/MSP430 -I../../boards/OLIMEX_MSP430_P1611 -I../../os/various ../../test/testheap.c -o ../../test/testheap.o
msp430-gcc -c -mmcu=msp430x1611 -O2 -ggdb -fomit-frame-pointer -Wa,-alms=../../test/testpools.lst -D__MSP430F1611__ -MD -MP -MF .dep/testpools.o.d -I . -I../../os/ports/GCC/MSP430 -I../../os/kernel/include -I../../test -I../../os/hal/include -I../../os/hal/platforms/MSP430 -I../../boards/OLIMEX_MSP430_P1611 -I../../os/various ../../test/testpools.c -o ../../test/testpools.o
msp430-gcc -c -mmcu=msp430x1611 -O2 -ggdb -fomit-frame-pointer -Wa,-alms=../../test/testdyn.lst -D__MSP430F1611__ -MD -MP -MF .dep/testdyn.o.d -I . -I../../os/ports/GCC/MSP430 -I../../os/kernel/include -I../../test -I../../os/hal/include -I../../os/hal/platforms/MSP430 -I../../boards/OLIMEX_MSP430_P1611 -I../../os/various ../../test/testdyn.c -o ../../test/testdyn.o
msp430-gcc -c -mmcu=msp430x1611 -O2 -ggdb -fomit-frame-pointer -Wa,-alms=../../test/testqueues.lst -D__MSP430F1611__ -MD -MP -MF .dep/testqueues.o.d -I . -I../../os/ports/GCC/MSP430 -I../../os/kernel/include -I../../test -I../../os/hal/include -I../../os/hal/platforms/MSP430 -I../../boards/OLIMEX_MSP430_P1611 -I../../os/various ../../test/testqueues.c -o ../../test/testqueues.o
msp430-gcc -c -mmcu=msp430x1611 -O2 -ggdb -fomit-frame-pointer -Wa,-alms=../../test/testbmk.lst -D__MSP430F1611__ -MD -MP -MF .dep/testbmk.o.d -I . -I../../os/ports/GCC/MSP430 -I../../os/kernel/include -I../../test -I../../os/hal/include -I../../os/hal/platforms/MSP430 -I../../boards/OLIMEX_MSP430_P1611 -I../../os/various ../../test/testbmk.c -o ../../test/testbmk.o
msp430-gcc -c -mmcu=msp430x1611 -O2 -ggdb -fomit-frame-pointer -Wa,-alms=../../os/hal/src/hal.lst -D__MSP430F1611__ -MD -MP -MF .dep/hal.o.d -I . -I../../os/ports/GCC/MSP430 -I../../os/kernel/include -I../../test -I../../os/hal/include -I../../os/hal/platforms/MSP430 -I../../boards/OLIMEX_MSP430_P1611 -I../../os/various ../../os/hal/src/hal.c -o ../../os/hal/src/hal.o
msp430-gcc -c -mmcu=msp430x1611 -O2 -ggdb -fomit-frame-pointer -Wa,-alms=../../os/hal/src/adc.lst -D__MSP430F1611__ -MD -MP -MF .dep/adc.o.d -I . -I../../os/ports/GCC/MSP430 -I../../os/kernel/include -I../../test -I../../os/hal/include -I../../os/hal/platforms/MSP430 -I../../boards/OLIMEX_MSP430_P1611 -I../../os/various ../../os/hal/src/adc.c -o ../../os/hal/src/adc.o
msp430-gcc -c -mmcu=msp430x1611 -O2 -ggdb -fomit-frame-pointer -Wa,-alms=../../os/hal/src/can.lst -D__MSP430F1611__ -MD -MP -MF .dep/can.o.d -I . -I../../os/ports/GCC/MSP430 -I../../os/kernel/include -I../../test -I../../os/hal/include -I../../os/hal/platforms/MSP430 -I../../boards/OLIMEX_MSP430_P1611 -I../../os/various ../../os/hal/src/can.c -o ../../os/hal/src/can.o
msp430-gcc -c -mmcu=msp430x1611 -O2 -ggdb -fomit-frame-pointer -Wa,-alms=../../os/hal/src/ext.lst -D__MSP430F1611__ -MD -MP -MF .dep/ext.o.d -I . -I../../os/ports/GCC/MSP430 -I../../os/kernel/include -I../../test -I../../os/hal/include -I../../os/hal/platforms/MSP430 -I../../boards/OLIMEX_MSP430_P1611 -I../../os/various ../../os/hal/src/ext.c -o ../../os/hal/src/ext.o
msp430-gcc -c -mmcu=msp430x1611 -O2 -ggdb -fomit-frame-pointer -Wa,-alms=../../os/hal/src/gpt.lst -D__MSP430F1611__ -MD -MP -MF .dep/gpt.o.d -I . -I../../os/ports/GCC/MSP430 -I../../os/kernel/include -I../../test -I../../os/hal/include -I../../os/hal/platforms/MSP430 -I../../boards/OLIMEX_MSP430_P1611 -I../../os/various ../../os/hal/src/gpt.c -o ../../os/hal/src/gpt.o
msp430-gcc -c -mmcu=msp430x1611 -O2 -ggdb -fomit-frame-pointer -Wa,-alms=../../os/hal/src/i2c.lst -D__MSP430F1611__ -MD -MP -MF .dep/i2c.o.d -I . -I../../os/ports/GCC/MSP430 -I../../os/kernel/include -I../../test -I../../os/hal/include -I../../os/hal/platforms/MSP430 -I../../boards/OLIMEX_MSP430_P1611 -I../../os/various ../../os/hal/src/i2c.c -o ../../os/hal/src/i2c.o
msp430-gcc -c -mmcu=msp430x1611 -O2 -ggdb -fomit-frame-pointer -Wa,-alms=../../os/hal/src/icu.lst -D__MSP430F1611__ -MD -MP -MF .dep/icu.o.d -I . -I../../os/ports/GCC/MSP430 -I../../os/kernel/include -I../../test -I../../os/hal/include -I../../os/hal/platforms/MSP430 -I../../boards/OLIMEX_MSP430_P1611 -I../../os/various ../../os/hal/src/icu.c -o ../../os/hal/src/icu.o
msp430-gcc -c -mmcu=msp430x1611 -O2 -ggdb -fomit-frame-pointer -Wa,-alms=../../os/hal/src/mac.lst -D__MSP430F1611__ -MD -MP -MF .dep/mac.o.d -I . -I../../os/ports/GCC/MSP430 -I../../os/kernel/include -I../../test -I../../os/hal/include -I../../os/hal/platforms/MSP430 -I../../boards/OLIMEX_MSP430_P1611 -I../../os/various ../../os/hal/src/mac.c -o ../../os/hal/src/mac.o
msp430-gcc -c -mmcu=msp430x1611 -O2 -ggdb -fomit-frame-pointer -Wa,-alms=../../os/hal/src/pal.lst -D__MSP430F1611__ -MD -MP -MF .dep/pal.o.d -I . -I../../os/ports/GCC/MSP430 -I../../os/kernel/include -I../../test -I../../os/hal/include -I../../os/hal/platforms/MSP430 -I../../boards/OLIMEX_MSP430_P1611 -I../../os/various ../../os/hal/src/pal.c -o ../../os/hal/src/pal.o
msp430-gcc -c -mmcu=msp430x1611 -O2 -ggdb -fomit-frame-pointer -Wa,-alms=../../os/hal/src/pwm.lst -D__MSP430F1611__ -MD -MP -MF .dep/pwm.o.d -I . -I../../os/ports/GCC/MSP430 -I../../os/kernel/include -I../../test -I../../os/hal/include -I../../os/hal/platforms/MSP430 -I../../boards/OLIMEX_MSP430_P1611 -I../../os/various ../../os/hal/src/pwm.c -o ../../os/hal/src/pwm.o
msp430-gcc -c -mmcu=msp430x1611 -O2 -ggdb -fomit-frame-pointer -Wa,-alms=../../os/hal/src/sdc.lst -D__MSP430F1611__ -MD -MP -MF .dep/sdc.o.d -I . -I../../os/ports/GCC/MSP430 -I../../os/kernel/include -I../../test -I../../os/hal/include -I../../os/hal/platforms/MSP430 -I../../boards/OLIMEX_MSP430_P1611 -I../../os/various ../../os/hal/src/sdc.c -o ../../os/hal/src/sdc.o
msp430-gcc -c -mmcu=msp430x1611 -O2 -ggdb -fomit-frame-pointer -Wa,-alms=../../os/hal/src/serial.lst -D__MSP430F1611__ -MD -MP -MF .dep/serial.o.d -I . -I../../os/ports/GCC/MSP430 -I../../os/kernel/include -I../../test -I../../os/hal/include -I../../os/hal/platforms/MSP430 -I../../boards/OLIMEX_MSP430_P1611 -I../../os/various ../../os/hal/src/serial.c -o ../../os/hal/src/serial.o
msp430-gcc -c -mmcu=msp430x1611 -O2 -ggdb -fomit-frame-pointer -Wa,-alms=../../os/hal/src/spi.lst -D__MSP430F1611__ -MD -MP -MF .dep/spi.o.d -I . -I../../os/ports/GCC/MSP430 -I../../os/kernel/include -I../../test -I../../os/hal/include -I../../os/hal/platforms/MSP430 -I../../boards/OLIMEX_MSP430_P1611 -I../../os/various ../../os/hal/src/spi.c -o ../../os/hal/src/spi.o
msp430-gcc -c -mmcu=msp430x1611 -O2 -ggdb -fomit-frame-pointer -Wa,-alms=../../os/hal/src/uart.lst -D__MSP430F1611__ -MD -MP -MF .dep/uart.o.d -I . -I../../os/ports/GCC/MSP430 -I../../os/kernel/include -I../../test -I../../os/hal/include -I../../os/hal/platforms/MSP430 -I../../boards/OLIMEX_MSP430_P1611 -I../../os/various ../../os/hal/src/uart.c -o ../../os/hal/src/uart.o
msp430-gcc -c -mmcu=msp430x1611 -O2 -ggdb -fomit-frame-pointer -Wa,-alms=../../os/hal/src/usb.lst -D__MSP430F1611__ -MD -MP -MF .dep/usb.o.d -I . -I../../os/ports/GCC/MSP430 -I../../os/kernel/include -I../../test -I../../os/hal/include -I../../os/hal/platforms/MSP430 -I../../boards/OLIMEX_MSP430_P1611 -I../../os/various ../../os/hal/src/usb.c -o ../../os/hal/src/usb.o
msp430-gcc -c -mmcu=msp430x1611 -O2 -ggdb -fomit-frame-pointer -Wa,-alms=../../os/hal/src/tm.lst -D__MSP430F1611__ -MD -MP -MF .dep/tm.o.d -I . -I../../os/ports/GCC/MSP430 -I../../os/kernel/include -I../../test -I../../os/hal/include -I../../os/hal/platforms/MSP430 -I../../boards/OLIMEX_MSP430_P1611 -I../../os/various ../../os/hal/src/tm.c -o ../../os/hal/src/tm.o
msp430-gcc -c -mmcu=msp430x1611 -O2 -ggdb -fomit-frame-pointer -Wa,-alms=../../os/hal/src/mmc_spi.lst -D__MSP430F1611__ -MD -MP -MF .dep/mmc_spi.o.d -I . -I../../os/ports/GCC/MSP430 -I../../os/kernel/include -I../../test -I../../os/hal/include -I../../os/hal/platforms/MSP430 -I../../boards/OLIMEX_MSP430_P1611 -I../../os/various ../../os/hal/src/mmc_spi.c -o ../../os/hal/src/mmc_spi.o
msp430-gcc -c -mmcu=msp430x1611 -O2 -ggdb -fomit-frame-pointer -Wa,-alms=../../os/hal/src/serial_usb.lst -D__MSP430F1611__ -MD -MP -MF .dep/serial_usb.o.d -I . -I../../os/ports/GCC/MSP430 -I../../os/kernel/include -I../../test -I../../os/hal/include -I../../os/hal/platforms/MSP430 -I../../boards/OLIMEX_MSP430_P1611 -I../../os/various ../../os/hal/src/serial_usb.c -o ../../os/hal/src/serial_usb.o
msp430-gcc -c -mmcu=msp430x1611 -O2 -ggdb -fomit-frame-pointer -Wa,-alms=../../os/hal/src/rtc.lst -D__MSP430F1611__ -MD -MP -MF .dep/rtc.o.d -I . -I../../os/ports/GCC/MSP430 -I../../os/kernel/include -I../../test -I../../os/hal/include -I../../os/hal/platforms/MSP430 -I../../boards/OLIMEX_MSP430_P1611 -I../../os/various ../../os/hal/src/rtc.c -o ../../os/hal/src/rtc.o
msp430-gcc -c -mmcu=msp430x1611 -O2 -ggdb -fomit-frame-pointer -Wa,-alms=../../os/hal/platforms/MSP430/hal_lld.lst -D__MSP430F1611__ -MD -MP -MF .dep/hal_lld.o.d -I . -I../../os/ports/GCC/MSP430 -I../../os/kernel/include -I../../test -I../../os/hal/include -I../../os/hal/platforms/MSP430 -I../../boards/OLIMEX_MSP430_P1611 -I../../os/various ../../os/hal/platforms/MSP430/hal_lld.c -o ../../os/hal/platforms/MSP430/hal_lld.o
msp430-gcc -c -mmcu=msp430x1611 -O2 -ggdb -fomit-frame-pointer -Wa,-alms=../../os/hal/platforms/MSP430/pal_lld.lst -D__MSP430F1611__ -MD -MP -MF .dep/pal_lld.o.d -I . -I../../os/ports/GCC/MSP430 -I../../os/kernel/include -I../../test -I../../os/hal/include -I../../os/hal/platforms/MSP430 -I../../boards/OLIMEX_MSP430_P1611 -I../../os/various ../../os/hal/platforms/MSP430/pal_lld.c -o ../../os/hal/platforms/MSP430/pal_lld.o
msp430-gcc -c -mmcu=msp430x1611 -O2 -ggdb -fomit-frame-pointer -Wa,-alms=../../os/hal/platforms/MSP430/serial_lld.lst -D__MSP430F1611__ -MD -MP -MF .dep/serial_lld.o.d -I . -I../../os/ports/GCC/MSP430 -I../../os/kernel/include -I../../test -I../../os/hal/include -I../../os/hal/platforms/MSP430 -I../../boards/OLIMEX_MSP430_P1611 -I../../os/various ../../os/hal/platforms/MSP430/serial_lld.c -o ../../os/hal/platforms/MSP430/serial_lld.o
../../os/hal/platforms/MSP430/serial_lld.c:180:1: error: expected declaration specifiers or ‘...’ before ‘(’ token
../../os/hal/platforms/MSP430/serial_lld.c: In function ‘interrupt’:
../../os/hal/platforms/MSP430/serial_lld.c:180:1: error: expected declaration specifiers before ‘vectUSART0TX’
../../os/hal/platforms/MSP430/serial_lld.c:201:1: error: expected declaration specifiers before ‘interrupt’
../../os/hal/platforms/MSP430/serial_lld.c:267:24: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token
../../os/hal/platforms/MSP430/serial_lld.c:288:66: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token
../../os/hal/platforms/MSP430/serial_lld.c:316:37: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token
../../os/hal/platforms/MSP430/serial_lld.c:330:1: error: expected ‘{’ at end of input
make: *** [../../os/hal/platforms/MSP430/serial_lld.o] Error 1
- Giovanni
- Site Admin
- Posts: 14892
- Joined: Wed May 27, 2009 8:48 am
- Has thanked: 1202 times
- Been thanked: 996 times
Re: msp430x port
Compiler version? I found that the TI's MSP430 headers were different in latest versions of mspgcc, that error is about the macro ISR() that is used to wrap interrupt handlers.
Probably you should use mspgcc instead than the vanilla gcc found in Ubuntu repos.
Giovanni
Probably you should use mspgcc instead than the vanilla gcc found in Ubuntu repos.
Giovanni
Re: msp430x port
Code: Select all
tom@tom-Z77A:~/projects/rc/src/chibios/demos/MSP430-MSP430x1611-GCC$ msp430-gcc -v
Using built-in specs.
Reading specs from /usr/lib/gcc/msp430/4.5.3/../../../../msp430/lib/msp430mcu.spec
COLLECT_GCC=msp430-gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/msp430/4.5.3/lto-wrapper
Target: msp430
Configured with: '/build/buildd/gcc-msp430-4.5.3~mspgcc-20110716/./gcc-4.5.3/configure' -v --enable-languages=c,c++ --prefix=/usr --infodir='/usr/share/info' --mandir='/usr/share/man' --bindir='/usr/bin' --libexecdir='/usr/lib' --libdir='/usr/lib' --enable-shared --with-system-zlib --enable-long-long --enable-nls --without-included-gettext --disable-checking --disable-libssp --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=msp430 --with-pkgversion='GNU GCC patched mspgcc-20110716'
Thread model: single
gcc version 4.5.3 (GNU GCC patched mspgcc-20110716)It should be the standard mspgcc, but it does look like the headers differ.
Re: msp430x port
Same for me
My headers are in /usr/msp430/include. It seems the vectors are called USART0TX_VECTOR in my version and not vectUSART0TX.
The header files have this header:
So downloading new TI headers and adding them to my include path should fix the problem, right?
Code: Select all
msp430-gcc -v 2 ↵
Using built-in specs.
Reading specs from /usr/lib/gcc/msp430/4.5.3/../../../../msp430/lib/msp430mcu.spec
COLLECT_GCC=msp430-gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/msp430/4.5.3/lto-wrapper
Target: msp430
Configured with: '/build/buildd/gcc-msp430-4.5.3~mspgcc-4.5.2-20110612/./gcc-4.5.3/configure' -v --enable-languages=c,c++ --prefix=/usr --infodir='/usr/share/info' --mandir='/usr/share/man' --bindir='/usr/bin' --libexecdir='/usr/lib' --libdir='/usr/lib' --enable-shared --with-system-zlib --enable-long-long --enable-nls --without-included-gettext --disable-checking --disable-libssp --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=msp430
Thread model: single
gcc version 4.5.3 (GCC)
My headers are in /usr/msp430/include. It seems the vectors are called USART0TX_VECTOR in my version and not vectUSART0TX.
The header files have this header:
Code: Select all
/* ============================================================================ */
/* Copyright (c) 2011, Texas Instruments Incorporated */
/* All rights reserved. */
/* */
/* Redistribution and use in source and binary forms, with or without */
/* modification, are permitted provided that the following conditions */
/* are met: */
/* */
/* * Redistributions of source code must retain the above copyright */
/* notice, this list of conditions and the following disclaimer. */
/* */
/* * Redistributions in binary form must reproduce the above copyright */
/* notice, this list of conditions and the following disclaimer in the */
/* documentation and/or other materials provided with the distribution. */
/* */
/* * Neither the name of Texas Instruments Incorporated nor the names of */
/* its contributors may be used to endorse or promote products derived */
/* from this software without specific prior written permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" */
/* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, */
/* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR */
/* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR */
/* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, */
/* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, */
/* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; */
/* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, */
/* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR */
/* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
/* ============================================================================ */
So downloading new TI headers and adding them to my include path should fix the problem, right?