Jump to content

doragasu

Members
  • Content Count

    56
  • Joined

  • Last visited

  • Days Won

    1

Reputation Activity

  1. Like
    doragasu got a reaction from mahengunawardena in Toolchain setup under GNU/Linux (including Eclipse)   
    I wrote in my blog some tutorials about tools configuration for Stellaris LaunchPad development under GNU/Linux.
     
    Right now there are 3 chapters:
    1.- Building the toolchain.
    2.- Debugging.
    3.- Eclipse setup.
     
    I hope someone finds them useful
  2. Like
    doragasu got a reaction from igor in which compiler i should to Use ?   
    Be warned if you want to use GCC + Eclipse, you'll find most of the problems you were suffering with CCS, and some more, because some tasks are harder to set up. For example, you will have to manually enter arm-gcc specific compiler switches, debugger configuration is a bit tricky, etc. Once you have everything set up, there are no big differences between using GCC + Eclipse or using CCS. Maybe other open IDEs like Code::Blocks could ease some tasks like importing and exporting projects.
     
    The big deal about using GCC + Eclipse, is it's "more standard". If you learn how to set it up for arm-gcc development, you'll have little trouble setting it for example for msp-gcc, m68k-gcc, or any other GCC variant.
  3. Like
    doragasu got a reaction from bluehash in Stupid question about UART FIFOs   
    Surprisingly enough, I have found the answer in Stellarisware documentation. This is written in chapter 28.1:
     
     
     
     
    Mistery solved!
  4. Like
    doragasu got a reaction from Kareem in which compiler i should to Use ?   
    You can compile Stellarisware examples using any compiler. I have compiled them using CCS and GCC. CCS is easier to setup than GCC, but IIRC, it's only free (gratis) for TI DSKs, like the launchpad. I would only recommend the pay options, if you have the money to and already know how to use them. Also have in mind, with a little care, you can write code that builds properly in both CCS and GCC, so you can for example start with CCS, and switch later to GCC if it suits better your needs.
     
    In case you want to give GCC under GNU/Linux a try, you can check the tutorials I wrote in my blog.
  5. Like
    doragasu got a reaction from skaidaif in Anyone building CMSIS under Linux?   
    I have recently received my Stellaris Launchpad and I'm building a toolchain to code for it using GNU+Linux.
     
    So far I have the cross compiler+lm4tools+stellarisware running. I can build the stellaris examples and flash them without problems.
     
    As I want to do some signal processing with my board, I'd like to build the CMSIS library. At least the DSPLib part (I don't need the RTOS right now). The library zip file has some scripts to build it using Keil, but as I'm a GNU+Linux user, I can't run Keil IDE.
     
    Also unfortunately, I'm a total noob when talking about autotools, so...
     
    Has anyone been able to build this library using GCC? Does anyone have a Makefile to automate building it?
     
    Thanks in advance!
  6. Like
    doragasu got a reaction from bluehash in Anyone building CMSIS under Linux?   
    As promised, I wrote a tutorial on building CMSIS DSPLib with GCC, and using it with Eclipse. I hope someone finds it useful
  7. Like
    doragasu got a reaction from bluehash in Anyone building CMSIS under Linux?   
    I have solved the main problem with the library  . Using TI startup code and linker script, now I'm able to build CMSIS with GCC, and use it. I have tested arm_fir_example, and works perfect!
     
    The problem is I was linking with the ARM libgcc library, instead of the Thumb one. To jump to the memset function, gcc was using a BLX instruction instead of a BL one, and BLX instruction isn't supported by cortex CPU's because they only support Thumb instructions. When the CPU tried to execute the BLX instruction, the HardFault exception was raised.
     
    TI Should document that HardFault exception is also raised when an invalid instruction is found. I searched thoroughly the docs, and didn't find it. Would have saved me a lot of time  .
     
    I have solved the problem using gcc instead of ld to link. Passing gcc the switches -mthumb -mcpu=cortex-m4, makes it automatically select the right libraries, and uses BL instead of BLX to jump.
     
    I still have to figure out why building with Scompo's startup code doesn't work, but at least, everything works perfect with TI files.
  8. Like
    doragasu got a reaction from bluehash in Toolchain setup under GNU/Linux (including Eclipse)   
    I wrote in my blog some tutorials about tools configuration for Stellaris LaunchPad development under GNU/Linux.
     
    Right now there are 3 chapters:
    1.- Building the toolchain.
    2.- Debugging.
    3.- Eclipse setup.
     
    I hope someone finds them useful
  9. Like
    doragasu got a reaction from xpg in Anyone building CMSIS under Linux?   
    Thanks for the info. You can already find my makefiles shared in this post. Using them I have successfully built CMSIS3.0 DSPLib. I have to test if it also works for 3.01 version.
     
    Yesterday I also started writing some tutorials for Stellaris Launchpad development under Linux. Eventually I'll write one about building CMSIS, so stay tuned!
  10. Like
    doragasu got a reaction from bluehash in Anyone building CMSIS under Linux?   
    Thanks for the info. You can already find my makefiles shared in this post. Using them I have successfully built CMSIS3.0 DSPLib. I have to test if it also works for 3.01 version.
     
    Yesterday I also started writing some tutorials for Stellaris Launchpad development under Linux. Eventually I'll write one about building CMSIS, so stay tuned!
  11. Like
    doragasu got a reaction from bluehash in Anyone building CMSIS under Linux?   
    I had some time and started writing a test makefile, that builds all .c files inside a DSPLib subdirectory and creates a library with them:
     

    PART=LM4F120H5QR PREFIX=arm-none-eabi- CC=gcc AR=ar RM=rm TEST_PATH=DSP_Lib/Source/BasicMathFunctions/ CFLAGS = -mthumb \ -mcpu=cortex-m4 \ -mfpu=fpv4-sp-d16 \ -mfloat-abi=softfp \ -Os \ -ffunction-sections \ -fdata-sections \ -std=c99 \ -Wall \ -DPART_${PART} \ -DARM_MATH_CM4 \ -D__FPU_PRESENT \ -IInclude objects := $(patsubst $(TEST_PATH)%.c,obj/%.o,$(wildcard $(TEST_PATH)*.c)) testlib: test $(PREFIX)$(AR) rcs testlib.a $(objects) test: $(objects) obj/%.o: $(TEST_PATH)%.c $(PREFIX)$(CC) $(CFLAGS) -c $< -o $@ clean: @$(RM) -f $(objects) @$(RM) -f testlib.a
     
    It worked as expected. The build process throws a lot of warnings like this:

    Include/arm_math.h: In function 'arm_pid_q15': Include/arm_math.h:4828:5: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
     
    But I suppose I can ignore them. When I get some more time, I'll try to add all the directories to the process and build the entire library. I hope it works
×
×
  • Create New...