I put the following post on the ChibiOS site, and thought somewhere on VR might be of assistance as well, as it pertains to the MultiPilot32 project. The tutorial I refenced is located here: http://www.chibios.org/dokuwiki/doku.php?id=chibios:articles:stm32vl_discovery

 

I am following the "Getting started with the STM32VL-Discovery board and ChibiOS/RT
" tutorial, and am getting the following error when trying to build [ARMCM3-STM32F100-DISCOVERY]:

"../../os/ports/GCC/ARMCMx/STM32/vectors.c:283: fatal error: opening dependency file .dep/vectors.o.d: No such file or directory"

I am using Eclipse (Helios Service Release 2) and CodeSourcery. cs-make -version => "(G++ Lite 2010q1-188) 3.81".

I am succesful at compiling another project (call this project #2), from the MutiPilot32 repo.

Project #2 [MP32-TESTPROGRAM]:
Is in a different CHibiOS folder (workspace).

Workspace is here:
"C:\Files\Eclipse\Projects\Kernel 2.2.0\ChibiOS_2.2.0\Project"
Project is here:
"C:\Files\Eclipse\Projects\Kernel 2.2.0\ChibiOS_2.2.0\Project\MP32-TESTPROGRAM"

This projects is creating the "vectors.o" file here:
C:\Files\Eclipse\Projects\Kernel 2.2.0\ChibiOS_2.2.0\Project\MP32-TESTPROGRAM\.dep
as well as here:
"C:\Files\Eclipse\Projects\Kernel 2.2.0\ChibiOS_2.2.0\os\ports\GCC\ARMCMx\STM32"

Project #1 (ARMCM3-STM32F100-DISCOVERY):
Workspace is here:
C:\Files\Eclipse\Libs\ChibiOS_2.2.2
Project is Here:
"C:\Files\Eclipse\Libs\ChibiOS_2.2.2\demos\ARMCM3-STM32F100-DISCOVERY"
I am not getting any errors because of missing includes. In otherwords I added ./include from the hal and kernal, as well as changed the default "make" to "cs-make".

I am new to Eclipse, gcc, and of coarse ChibiOS. I am sure it is a simple problem, why one project works and another one doesn't (maybe in the makefile), but I am falling short of where to look.

One final question: the tutorial outlines the location of the project as "./demos/ARMCM3-STM32F100-DISCOVERY-GCC ", but in the download I have "./demos/ARMCM3-STM32F100-DISCOVERY ". Was this a type, or did I get the wrong file?

Thanks,

Jim Tompkins

You need to be a member of FOXTEAM UAV CLAN to add comments!

Join FOXTEAM UAV CLAN

Email me when people reply –

Replies

  • Hi all,

    I work under ChibiOS, and I have some difficulties with the serial driver.

     

    A - What happen if the the Rx buffer overflow (buffer to small wrt incoming data)? How to prevent/handle Rx Buffer overflow ? 

     

     

    B -  I would like to use the receiving Interrupt on serial port 4. Does anyone would have a sample code ?

     

    Now, I use the code below which is not optimized.

     

    while(TRUE)

    {

    size_t qSize = chQSizeI(&(&SD4)->iqueue);          //Rx Buffer Size

    size_t qSpace = chQSpaceI(&(&SD4)->iqueue);    //Rx Buffer Space


    ByteAvailable = qSize-qSpace;  //Available bytes to be read

    if(ByteAvailable>0)//Read ByteAvailable

    {

    sdRead(&SD4, (uint8_t*)&Rx, ByteAvailable);

     ...

    }

    chThdSleepMilliseconds(50); //Thread Sample time

    }

    

     

    Best

     Cyrille

  • For those new to ARM and in particular, the STM32 line of chips, this .pdf document may help provide all a common vocabulary.
  • Roberto,

     

    That is great news on the extended interrupt vector table now working.

     

    I2C communications on the STM32 family has been trouble for everyone. ST completely rewrote their I2C routines about 6 months ago according to their application notes.

     

    For reading multicopter sensors, only the master portion of the I2C protocol needs to be implemented. Correct?

    • Yes Richard only  i2c Master.

      So at this moment i'm finish to working on a first release on hardware i2c  for MP32 , after the success of yesterday with vectortable , so i try to prepare the library for VRIde 0.0.2 , i have a lot of code ready to use for all sensor normaly use in rc application ... I have the hardware ,too .

      So the first step is to validate HMC5843/83  , and Barometer used on OilPan , after this step we can check the other sensor ,too.

      Best

      Roberto 

  • Roberto,

    To focus the efforts of early adopters, I think extending/forking the LeafLabs maple library for the MP32 will give the most customer friendly results.

    It will be up to the individual developer to choose his or her environment for debugging I think.

    As you say, the individual libraries can be ported in just the C language. It is probably best to have only one or two top-level developers providing the C++ wrappers and final integration into the Vrobotix IDE.

    The LeafLabs Maple board exposes 37 pins. The MP32 needs to expose 65 pins. The naming conventions of the pins do not look be compatible between between the two boards. A full fork of the Maple IDE is required?

    • All,

      Just to add some more confusion wrt Sourcery: I also installed Sourcery G++ Lite and Eclipse as described on the ChibiOS web site. However, when I entered the command "arm-none-eabi-gcc –version" as suggested, I got a compiler error message "unknown option" or alike although that should of course work (and a "--help" shows exactly this option).

      Wrt the "../.." discussion above it might be worth mentioning that in the Microsoft world backslashes are used instead of forward slashes. It is however clear that *all* C compilers are actually able to handle forward slashes in #include paths even on Microsoft platforms. But I am not sure about Makefiles and scripts etc.

      What I would actually like to see is some entry level "hello world!" source code for ChibiOS/RT  that will print to one of the MP32 serial ports. Along with some "cooking recipe" of how to get there.

      Not sure if I can currently be of great help here due to wave of flu and myriads of things to do at work, sorry for that.

      Stephan

    • Hi Richard,

      the branch of vride is developed on native version of code , in that version that i put online so you can see the status of my porting is mapped all 100 pin available on STM32F103VE

      This is the link if you check in board.h you can found all pin mapped , in my documents the id of pin corresponding of board.h definition.http://code.google.com/p/multipilot32/source/browse/#svn%2Fbranches...

      Best

      Roberto

  • Hello all,

    For people that wants to use JTAG, there is a some device described on the Yagarto following link :

    http://www.yagarto.de/howto/jlink/index.html


    In this tutorial there is a link to the Jim Lynch documentation, a very detailed tutorial "Using Open Source Tools for AT91SAM7S Cross Development, Revision 2".

    http://www.atmel.com/dyn/resources/prod_documents/atmel_tutorial_so...

    The doc is for Atmel proc but I think that most of the description is also good for STM32 environment.

    My 2 cts !
    Spartacus
This reply was deleted.