Help with LM3S6965 demo instructions please

anonymous wrote on Monday, April 26, 2010:

I am trying to install the necessary things as per the instructions here:- http://www.freertos.org/index.html?http://www.freertos.org/portLM3Sxxxx_Eclipse.html. However I am somewhat confused about the OpenOCD thing. It seems to be impossible to get a binary for this unless one buys a hardware part; but this platform has its own built-in hardware. So what do I do?

anonymous wrote on Monday, April 26, 2010:

I’m making some progress, but am still having problems.

1. Found a binary of OpenOCD here:- http://www.freddiechopin.info/index.php/en/download/category/4-openocd.
2. Installed OpenOCD and CodeSourcery G++ Lite, PATH entries are as follows -
   C:\Program Files\OpenOCD\0.4.0\bin
   C:\CodeSourceryLite\bin
3. Installed Eclipse Europa and the extra plugin to do GDB Hardware Debugging, as per the instructions.
4. Opened the FreeRTOS demo project (at C:\FreeRTOS6.0.4\Demo\CORTEX_LM3Sxxxx_Eclipse\RTOSDemo).
5. Set the FreeRTOS_ROOT linked resource.
6. Pressed F5 to refresh -> fails with the message “Launch failed no binaries”.

Can anyone please help with this - I have spent about 3 days going round in circles :frowning:

davedoors wrote on Monday, April 26, 2010:

I think OpenOCD is included with FreeRTOS, but are you even getting that far? Have you got the code to build yet? To do one step at a time you could start by getting the code to build from the command line, the eclipse project just uses a makefile so you can run the makefile from the command line without Eclipse or OpenOCD even being installed. Once you have the code building, the next step would be to get it to build from Eclipse, then the final step to get OpenOCD to talk to the hardware.

anonymous wrote on Monday, April 26, 2010:

Thanks for the advice davedoors, but this doesn’t really answer the question. In fact it muddies the water a bit, since in fact the command line make ends with this line:

make: Interrupt/Exception caught (code = 0xc0000005, addr = 0x416326)

I have no idea whether this means the build worked or not.

Has anybody out there recently tried (and succeeded) to get this demo working?

Please - I’m losing the will to live :frowning:

Regards, Tim

davedoors wrote on Monday, April 26, 2010:

Can you post everything that is output when you do a clean build from the command line. Put the output inside

 tags so the formatting does not get weird. (use the <> button just above the edit text box)

anonymous wrote on Monday, April 26, 2010:

Here’s the output from the make.

arm-none-eabi-gcc -c -g -I . -I ../../../Source/include -I ../../../Source/portable/GCC/ARM_CM3 -I ../../Common/include -D GCC_ARMCM3_LM3S102 -D inline= -mthumb -mcpu=cortex-m3 -O0 -Tstandalone.ld -D PACK_STRUCT_END=__attribute\(\(packed\)\) -D ALIGN_STRUCT_END=__attribute\(\(aligned\(4\)\)\) -D sprintf=usprintf -D snprintf=usnprintf -D printf=uipprintf -I ../../Common/ethernet/uIP/uip-1.0/uip -I ./webserver -ffunction-sections -fdata-sections -I ../../Common/drivers/LuminaryMicro main.c -o main.o
arm-none-eabi-gcc -c -g -I . -I ../../../Source/include -I ../../../Source/portable/GCC/ARM_CM3 -I ../../Common/include -D GCC_ARMCM3_LM3S102 -D inline= -mthumb -mcpu=cortex-m3 -O0 -Tstandalone.ld -D PACK_STRUCT_END=__attribute\(\(packed\)\) -D ALIGN_STRUCT_END=__attribute\(\(aligned\(4\)\)\) -D sprintf=usprintf -D snprintf=usnprintf -D printf=uipprintf -I ../../Common/ethernet/uIP/uip-1.0/uip -I ./webserver -ffunction-sections -fdata-sections -I ../../Common/drivers/LuminaryMicro timertest.c -o timertest.o
arm-none-eabi-gcc -c -g -I . -I ../../../Source/include -I ../../../Source/portable/GCC/ARM_CM3 -I ../../Common/include -D GCC_ARMCM3_LM3S102 -D inline= -mthumb -mcpu=cortex-m3 -O0 -Tstandalone.ld -D PACK_STRUCT_END=__attribute\(\(packed\)\) -D ALIGN_STRUCT_END=__attribute\(\(aligned\(4\)\)\) -D sprintf=usprintf -D snprintf=usnprintf -D printf=uipprintf -I ../../Common/ethernet/uIP/uip-1.0/uip -I ./webserver -ffunction-sections -fdata-sections -I ../../Common/drivers/LuminaryMicro ParTest/ParTest.c -o ParTest/ParTest.o
arm-none-eabi-gcc -c -g -I . -I ../../../Source/include -I ../../../Source/portable/GCC/ARM_CM3 -I ../../Common/include -D GCC_ARMCM3_LM3S102 -D inline= -mthumb -mcpu=cortex-m3 -O0 -Tstandalone.ld -D PACK_STRUCT_END=__attribute\(\(packed\)\) -D ALIGN_STRUCT_END=__attribute\(\(aligned\(4\)\)\) -D sprintf=usprintf -D snprintf=usnprintf -D printf=uipprintf -I ../../Common/ethernet/uIP/uip-1.0/uip -I ./webserver -ffunction-sections -fdata-sections -I ../../Common/drivers/LuminaryMicro rit128x96x4.c -o rit128x96x4.o
arm-none-eabi-gcc -c -g -I . -I ../../../Source/include -I ../../../Source/portable/GCC/ARM_CM3 -I ../../Common/include -D GCC_ARMCM3_LM3S102 -D inline= -mthumb -mcpu=cortex-m3 -O0 -Tstandalone.ld -D PACK_STRUCT_END=__attribute\(\(packed\)\) -D ALIGN_STRUCT_END=__attribute\(\(aligned\(4\)\)\) -D sprintf=usprintf -D snprintf=usnprintf -D printf=uipprintf -I ../../Common/ethernet/uIP/uip-1.0/uip -I ./webserver -ffunction-sections -fdata-sections -I ../../Common/drivers/LuminaryMicro osram128x64x4.c -o osram128x64x4.o
arm-none-eabi-gcc -c -g -I . -I ../../../Source/include -I ../../../Source/portable/GCC/ARM_CM3 -I ../../Common/include -D GCC_ARMCM3_LM3S102 -D inline= -mthumb -mcpu=cortex-m3 -O0 -Tstandalone.ld -D PACK_STRUCT_END=__attribute\(\(packed\)\) -D ALIGN_STRUCT_END=__attribute\(\(aligned\(4\)\)\) -D sprintf=usprintf -D snprintf=usnprintf -D printf=uipprintf -I ../../Common/ethernet/uIP/uip-1.0/uip -I ./webserver -ffunction-sections -fdata-sections -I ../../Common/drivers/LuminaryMicro formike128x128x16.c -o formike128x128x16.o
arm-none-eabi-gcc -c -g -I . -I ../../../Source/include -I ../../../Source/portable/GCC/ARM_CM3 -I ../../Common/include -D GCC_ARMCM3_LM3S102 -D inline= -mthumb -mcpu=cortex-m3 -O0 -Tstandalone.ld -D PACK_STRUCT_END=__attribute\(\(packed\)\) -D ALIGN_STRUCT_END=__attribute\(\(aligned\(4\)\)\) -D sprintf=usprintf -D snprintf=usnprintf -D printf=uipprintf -I ../../Common/ethernet/uIP/uip-1.0/uip -I ./webserver -ffunction-sections -fdata-sections -I ../../Common/drivers/LuminaryMicro IntQueueTimer.c -o IntQueueTimer.o
arm-none-eabi-gcc -c -g -I . -I ../../../Source/include -I ../../../Source/portable/GCC/ARM_CM3 -I ../../Common/include -D GCC_ARMCM3_LM3S102 -D inline= -mthumb -mcpu=cortex-m3 -O0 -Tstandalone.ld -D PACK_STRUCT_END=__attribute\(\(packed\)\) -D ALIGN_STRUCT_END=__attribute\(\(aligned\(4\)\)\) -D sprintf=usprintf -D snprintf=usnprintf -D printf=uipprintf -I ../../Common/ethernet/uIP/uip-1.0/uip -I ./webserver -ffunction-sections -fdata-sections -I ../../Common/drivers/LuminaryMicro webserver/uIP_Task.c -o webserver/uIP_Task.o
arm-none-eabi-gcc -c -g -I . -I ../../../Source/include -I ../../../Source/portable/GCC/ARM_CM3 -I ../../Common/include -D GCC_ARMCM3_LM3S102 -D inline= -mthumb -mcpu=cortex-m3 -O0 -Tstandalone.ld -D PACK_STRUCT_END=__attribute\(\(packed\)\) -D ALIGN_STRUCT_END=__attribute\(\(aligned\(4\)\)\) -D sprintf=usprintf -D snprintf=usnprintf -D printf=uipprintf -I ../../Common/ethernet/uIP/uip-1.0/uip -I ./webserver -ffunction-sections -fdata-sections -I ../../Common/drivers/LuminaryMicro webserver/emac.c -o webserver/emac.o
arm-none-eabi-gcc -c -g -I . -I ../../../Source/include -I ../../../Source/portable/GCC/ARM_CM3 -I ../../Common/include -D GCC_ARMCM3_LM3S102 -D inline= -mthumb -mcpu=cortex-m3 -O0 -Tstandalone.ld -D PACK_STRUCT_END=__attribute\(\(packed\)\) -D ALIGN_STRUCT_END=__attribute\(\(aligned\(4\)\)\) -D sprintf=usprintf -D snprintf=usnprintf -D printf=uipprintf -I ../../Common/ethernet/uIP/uip-1.0/uip -I ./webserver -ffunction-sections -fdata-sections -I ../../Common/drivers/LuminaryMicro webserver/httpd.c -o webserver/httpd.o
arm-none-eabi-gcc -c -g -I . -I ../../../Source/include -I ../../../Source/portable/GCC/ARM_CM3 -I ../../Common/include -D GCC_ARMCM3_LM3S102 -D inline= -mthumb -mcpu=cortex-m3 -O0 -Tstandalone.ld -D PACK_STRUCT_END=__attribute\(\(packed\)\) -D ALIGN_STRUCT_END=__attribute\(\(aligned\(4\)\)\) -D sprintf=usprintf -D snprintf=usnprintf -D printf=uipprintf -I ../../Common/ethernet/uIP/uip-1.0/uip -I ./webserver -ffunction-sections -fdata-sections -I ../../Common/drivers/LuminaryMicro webserver/httpd-cgi.c -o webserver/httpd-cgi.o
arm-none-eabi-gcc -c -g -I . -I ../../../Source/include -I ../../../Source/portable/GCC/ARM_CM3 -I ../../Common/include -D GCC_ARMCM3_LM3S102 -D inline= -mthumb -mcpu=cortex-m3 -O0 -Tstandalone.ld -D PACK_STRUCT_END=__attribute\(\(packed\)\) -D ALIGN_STRUCT_END=__attribute\(\(aligned\(4\)\)\) -D sprintf=usprintf -D snprintf=usnprintf -D printf=uipprintf -I ../../Common/ethernet/uIP/uip-1.0/uip -I ./webserver -ffunction-sections -fdata-sections -I ../../Common/drivers/LuminaryMicro webserver/httpd-fs.c -o webserver/httpd-fs.o
arm-none-eabi-gcc -c -g -I . -I ../../../Source/include -I ../../../Source/portable/GCC/ARM_CM3 -I ../../Common/include -D GCC_ARMCM3_LM3S102 -D inline= -mthumb -mcpu=cortex-m3 -O0 -Tstandalone.ld -D PACK_STRUCT_END=__attribute\(\(packed\)\) -D ALIGN_STRUCT_END=__attribute\(\(aligned\(4\)\)\) -D sprintf=usprintf -D snprintf=usnprintf -D printf=uipprintf -I ../../Common/ethernet/uIP/uip-1.0/uip -I ./webserver -ffunction-sections -fdata-sections -I ../../Common/drivers/LuminaryMicro webserver/http-strings.c -o webserver/http-strings.o
arm-none-eabi-gcc -c -g -I . -I ../../../Source/include -I ../../../Source/portable/GCC/ARM_CM3 -I ../../Common/include -D GCC_ARMCM3_LM3S102 -D inline= -mthumb -mcpu=cortex-m3 -O0 -Tstandalone.ld -D PACK_STRUCT_END=__attribute\(\(packed\)\) -D ALIGN_STRUCT_END=__attribute\(\(aligned\(4\)\)\) -D sprintf=usprintf -D snprintf=usnprintf -D printf=uipprintf -I ../../Common/ethernet/uIP/uip-1.0/uip -I ./webserver -ffunction-sections -fdata-sections -I ../../Common/drivers/LuminaryMicro -O1 startup.c -o startup.o
arm-none-eabi-gcc -g -I . -I ../../../Source/include -I ../../../Source/portable/GCC/ARM_CM3 -I ../../Common/include -D GCC_ARMCM3_LM3S102 -D inline= -mthumb -mcpu=cortex-m3 -O0 -Tstandalone.ld -D PACK_STRUCT_END=__attribute\(\(packed\)\) -D ALIGN_STRUCT_END=__attribute\(\(aligned\(4\)\)\) -D sprintf=usprintf -D snprintf=usnprintf -D printf=uipprintf -I ../../Common/ethernet/uIP/uip-1.0/uip -I ./webserver -ffunction-sections -fdata-sections -I ../../Common/drivers/LuminaryMicro main.o timertest.o ./ParTest/ParTest.o rit128x96x4.o osram128x64x4.o formike128x128x16.o ../../Common/drivers/LuminaryMicro/ustdlib.o ../../Common/Minimal/BlockQ.o ../../Common/Minimal/blocktim.o ../../Common/Minimal/death.o ../../Common/Minimal/integer.o ../../Common/Minimal/PollQ.o ../../Common/Minimal/semtest.o ../../Common/Minimal/GenQTest.o ../../Common/Minimal/QPeek.o ../../Common/Minimal/recmutex.o ../../Common/Minimal/IntQueue.o ./IntQueueTimer.o ./webserver/uIP_Task.o ./webserver/emac.o ./webserver/httpd.o ./webserver/httpd-cgi.o ./webserver/httpd-fs.o ./webserver/http-strings.o ../../Common/ethernet/uIP/uip-1.0/uip/uip_arp.o ../../Common/ethernet/uIP/uip-1.0/uip/psock.o ../../Common/ethernet/uIP/uip-1.0/uip/timer.o ../../Common/ethernet/uIP/uip-1.0/uip/uip.o ../../../Source/list.o ../../../Source/queue.o ../../../Source/tasks.o ../../../Source/portable/GCC/ARM_CM3/port.o ../../../Source/portable/MemMang/heap_2.o startup.o ../../Common/drivers/LuminaryMicro/arm-none-eabi-gcc/libdriver.a ../../Common/drivers/LuminaryMicro/arm-none-eabi-gcc/libgr.a -nostartfiles -Xlinker -oRTOSDemo.axf -Xlinker -M -Xlinker -Map=rtosdemo.map -Xlinker --no-gc-sections
arm-none-eabi-objcopy RTOSDemo.axf -O binary RTOSDemo.bin
make: Interrupt/Exception caught (code = 0xc0000005, addr = 0x416326)

davedoors wrote on Monday, April 26, 2010:

Strange. It looks like all the files are building clearnly though. If you delete RTOSDemo.axf and RTOSDemo.bin, then make again, are both files recreated? I guess the .bin is for use with OpenOCD.

If the .bin file is recreated, what happens when you download it to the hardware? You should be able to program the flash using the flash programmer that you can download from luminarymicro.com. You should see an LED flash I think. The display might stay blank, depending on which display driver is in the makefile.

anonymous wrote on Monday, April 26, 2010:

Neither RTOSDemo.axf or RTOSDemo.bin are being made.

anonymous wrote on Monday, April 26, 2010:

Sorry - correction: RTOSDemo.axf  is being made, but RTOSDemo.bin is not.

anonymous wrote on Tuesday, April 27, 2010:

Progress!
The problem was that the arm-none-eabi-objcopy.exe was apparently corrupted (not a valid exe). I got CodeSourcery Lite again and re-installed - now it works.

So, I can compile and load using the command line tools.

Now - I would very much like to use Eclipse - can anyone help with this please?

Has anyone got Eclipse to work by following the instructions at http://www.freertos.org/index.html?http://www.freertos.org/portLM3Sxxxx_Eclipse.html?

Thanks for your help davedoors.

rtel wrote on Tuesday, April 27, 2010:

The instructions on the page you reference are a little out of date.  I think the newer versions of Eclipse have everything you need in the main installation.

How far are you getting building from within Eclipse?

Regards.

anonymous wrote on Friday, April 30, 2010:

OK - I have managed to get a project to build. I can load it into the device (using external tool) and run it.
But - how do I debug it using Eclipse?

anonymous wrote on Saturday, May 01, 2010:

Boy this is really driving me insane! The number of contradictory, incomplete, out of date, unexplained and just plain illiterate bits and pieces on the subjects of eclipse/freertos/openocd/codesourcery/lm3s6965 on the net is completely bewildering!
Is there someone out there who has done this with a *recent version* of all this stuff who can describe how to do it, please Help……