Giter Site home page Giter Site logo

emt's Introduction

				emt-a61

		Energia Multi-Threaded (EMT) Wiring Support

         	    https://gitorious.design.ti.com/emt

This tree provide a multi-threaded Wiring lbrary implementation bases on 
TI-RTOS.

To Clone this Tree
------------------
    o you must already have a https://gitorious.design.ti.com account, then
    o clone the tree using git:
        git clone [email protected]:emt/emt.git ./emt

To Contribute
-------------
If you haven't already done so, create a personal branch with your name, for
example, "me":
        git branch me
        git checkout me

The "normal" development cycle:
    o make and test improvements
        emacs Control.c
	    :
	
    o commit changes to your local repo
        git add src/apps/robot/Control.c ...
        git commit -m "improved ..."

	git add src/apps/robot/ti/drivers/wifi/WiFiTivaCC3000.c
	git commit -m "fixed ..."

    o push the changes from your local branch to the corresponding gitorious 
      repo's branch
        git push origin me:me

    o to get copies of other's changes
        git fetch

Weekly integrations: Your contributions will be periodically reviewed and
merged into the gitorious repo's master branch.  To ensure your contributions
can be easily merged on the gitorious master branch, you must 

    o get latest master branch from the gitorious repo
        git fetch

    o merge any changes into your branch
        git merge origin/master

    o push your local branch to the corresponding gitorious repo's branch
        git push origin me:me

To Create a Gitorious Account
-----------------------------
    o download the git command line tools (Windows http://msysgit.github.io/)

    o create an SSH key:
          ssh-keygen -t rsa
      Just press 'Enter' in every question it asks and you will finally have
      your pair of keys under the folder ".ssh". For example, type
      "cat ~/.ssh/id_rsa.pub". That's the public key that you are required 
      to copy and paste into your account on Gitorious. 

    o browse to https://gitorious.design.ti.com and create an account using 
      the public key you just created; copy the contents of ~/.ssh/id_rsa.pub
      to the specified text box.

To Create a Gitorous Project
----------------------------
This tree is hosted on the Gitorious server https://gitorious.design.ti.com
and was initially created on Linux and pushed to Gitorious as follows:
    cd <top of the initial tree>
    git init
    git add README src/
    git commit -m "initial commit"
    git remote add origin [email protected]:emt/emt.git
    git push origin master

Librarian repo creation
-----------------------
The emt.git repo was created to "track" the repo maintained at 
gitoroius.ti.com and was created as follows:
    git clone --bare [email protected]:emt/emt.git emt.git
    cd emt.git/
    git config remote.origin.fetch "+refs/heads/*:refs/heads/*"
    git tag emt-a00
    git push --tags

Note: xlibrary must be given read/write access to the Gitorious repo cloning 
of pushing any changes.  This must be done via the Gitoroius web interface 
(blech!)

To enable gitweb access:
    cd /db/sanb_public/home/git
    ln -s $TREES/emt/emt.git 

Librarian releases
------------------
    Build this tree from Linux using standard ggentree/SM-MAKE/greltree except
    for the addition of a step to update the local emt.repo with the content
    from gitorious.
    
    # update local copy of the gitorous repo
    cd emt.git; git fetch; cd ..

    # clone the tree and merge/review user content
    ggentree -u [email protected] emt.git/
    cd emt-a??
    git merge origin/dr

    # build the tree
    SM-MAKE .clean
    SM-MAKE .all-files >& Make.log 

    # update README 
    emacs README
    git commit -a -m emt-a??

    # release the tree
    greltree -m "something brief and meaningful"

========================================================================

ADDITIONS

DELETIONS

CHANGES

ti.platforms.emt26xx
ti.platforms.launchpad
	Rework ordering of section placements to not cause resetting of
        "." after DMA descriptors are placed.

	Allow either linker command file to be used for ROM or non ROM build
	flows.

MRS

emt's People

Contributors

agdemars avatar daverusso avatar robertinant avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

udif fadiah

emt's Issues

Feature Request: EMT Closure Available Features

As issue energia/msp432-core#40 concerns all EMT-supported boards, maybe this repository is more suited.

Here's an example:

MSP432 EMT on Energia 18 fails, even for the blinky example.

"/Users/ReiVilo/Library/Energia15/packages/energia/tools/arm-none-eabi-gcc/6.3.1-20170620/bin/arm-none-eabi-gcc" -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mabi=aapcs -g -Dxdc_target_types__=gnu/targets/arm/std.h -Dxdc_target_name__=M4F -Dxdc_cfg__xheader__="configPkg/package/cfg/energia_pm4fg.h" -DTARGET_IS_MSP432P4XX -DBOARD_MSP_EXP432P401R -Dxdc__nolocalstring=1 -D__MSP432P401R__ -DCORE_VERSION=380 -c -g -Os -w -ffunction-sections -fdata-sections -mcpu=cortex-m4 -mthumb -DF_CPU=48000000L -DARDUINO=10610 -DENERGIA=10610 -DENERGIA_MSP_EXP432P401R -DENERGIA_ARCH_MSP432 "-I/Users/ReiVilo/Library/Energia15/packages/energia/hardware/msp432/3.8.0/cores/msp432/ti/runtime/wiring/" "-I/Users/ReiVilo/Library/Energia15/packages/energia/hardware/msp432/3.8.0/cores/msp432/ti/runtime/wiring/msp432" "-I/Users/ReiVilo/Library/Energia15/packages/energia/hardware/msp432/3.8.0" "-I/Users/ReiVilo/Library/Energia15/packages/energia/hardware/msp432/3.8.0/system/driverlib/MSP432P4xx" "-I/Users/ReiVilo/Library/Energia15/packages/energia/hardware/msp432/3.8.0/system/driverlib" "-I/Users/ReiVilo/Library/Energia15/packages/energia/hardware/msp432/3.8.0/system/inc" "-I/Users/ReiVilo/Library/Energia15/packages/energia/hardware/msp432/3.8.0/system/inc/CMSIS/" "-I/Users/ReiVilo/Library/Energia15/packages/energia/hardware/msp432/3.8.0/system" "-I/Users/ReiVilo/Library/Energia15/packages/energia/hardware/msp432/3.8.0/cores/msp432/ti/runtime/wiring/" "-I/Users/ReiVilo/Library/Energia15/packages/energia/hardware/msp432/3.8.0/cores/msp432/ti/runtime/wiring/msp432" "-I/Users/ReiVilo/Library/Energia15/packages/energia/hardware/msp432/3.8.0" "-I/Users/ReiVilo/Library/Energia15/packages/energia/hardware/msp432/3.8.0/system/driverlib/MSP432P4xx" "-I/Users/ReiVilo/Library/Energia15/packages/energia/hardware/msp432/3.8.0/system/driverlib" "-I/Users/ReiVilo/Library/Energia15/packages/energia/hardware/msp432/3.8.0/system/inc" "-I/Users/ReiVilo/Library/Energia15/packages/energia/hardware/msp432/3.8.0/system/inc/CMSIS/" "-I/Users/ReiVilo/Library/Energia15/packages/energia/hardware/msp432/3.8.0/system" "-I/Users/ReiVilo/Library/Energia15/packages/energia/hardware/msp432/3.8.0/cores/msp432" "-I/Users/ReiVilo/Library/Energia15/packages/energia/hardware/msp432/3.8.0/variants/MSP_EXP432P401R" "/Users/ReiVilo/Library/Energia15/packages/energia/hardware/msp432/3.8.0/cores/msp432/ti/runtime/wiring/random.c" -o "/var/folders/px/cyfvtr757lqg0yp_cv9j79jh0000gn/T/build4eb92306ca433564726b296e7628dfa5.tmp/core/ti/runtime/wiring/random.c.o"
/Users/ReiVilo/Library/Energia15/packages/energia/hardware/msp432/3.8.0/cores/msp432/ti/runtime/wiring/random.c:83:6: error: conflicting types for 'srandom'
 void srandom(unsigned long seed)
      ^~~~~~~
In file included from /Users/ReiVilo/Library/Energia15/packages/energia/tools/arm-none-eabi-gcc/6.3.1-20170620/arm-none-eabi/include/stdlib.h:11:0,
                 from /Users/ReiVilo/Library/Energia15/packages/energia/hardware/msp432/3.8.0/cores/msp432/ti/runtime/wiring/random.c:42:
/Users/ReiVilo/Library/Energia15/packages/energia/tools/arm-none-eabi-gcc/6.3.1-20170620/arm-none-eabi/include/stdlib.h:257:7: note: previous declaration of 'srandom' was here
 _VOID _EXFUN(srandom,(unsigned));
       ^
exit status 1

MSP432 EMT on Energia 19 succeeds to compile the SwitriggerLibrary example.

capture 2017-11-17 a 21 25 32

Suggested solution

Add to the TI-RTOS closure a list of available and implemented elements, e.g.

#define EMT_HAS_SWI 
#define EMT_HAS_TASKS
#define EMT_HAS_EVENT
#define EMT_HAS_SEMAPHORE
#define EMT_HAS_MAILBOX
#define EMT_HAS_TIMER
#define EMT_HAS_CLOCK

Two options:

  • Either use 1 and 0 to flag the implementation of an element...
#define EMT_HAS_SWI 1 // 1 = SWI implemented, 0 = SWI not implemented

...to be tested with #if (EMT_HAS_SWI == 1) ... #endif

  • Or define the macro only if the implementation is done...
#define EMT_HAS_SWI // define = SWI implemented
// #define EMT_HAS_SWI // comment = SWI not implemented

...to be tested with #if defined(EMT_HAS_SWI) ... #endif

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.