Giter Club home page Giter Club logo

freertos_c28x's Introduction

freertos_c28x

FreeRTOS port for TI C2000's C28x based microcontrollers TMS320 family.

Compiled in CCS v6.1.2. FreeRTOS v9.0.0. Developed and tested on following MCUs:

  • TMS320F28377S
  • TMS320F28034
  • TMS320F28069

Should work with any TMS320 MCU and any futher version of FreeRTOS.

This project contains FreeRTOS, port and simple examples for TMS320F28377S and TMS320F28034. Examples needs TI's controlSUITE to be installed for both MCU and project settings should be adjusted to let compiler find device support files.

This project is distributed under MIT open source license.

freertos_c28x's People

Contributors

ivanzuy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

freertos_c28x's Issues

Don't disable all interrupts in critical section

Entering into critical section shouldn't disable all interrupts globally. Instead, user should be able to configure which interrupt groups are under RTOS control and only these groups should be disabled.
Something similar is implemented for other ports by configMAX_SYSCALL_INTERRUPT_PRIORITY.

License clarification

Your README states that the repo is licensed under the "FreeRTOS Open Source License", but the link provided now points to the updated license for FreeRTOS, which is MIT, while the license header in the source code still refers to the old license, which is GPL with a static linking exception. At the moment it would still seem this is the license the project uses, but it would be good to either update the license to reflect the FreeRTOS MIT license (if you're willing to do so), or include the full text of the old FreeRTOS in the repo, to make the licensing situation clearer.

TMS320F2812 stack overflow

FreeRTOS/portable/CCS/c28x/porASM.asm:

; Save stack pointer in the task control block.
MOVL XAR0, #_pxCurrentTCB
MOVL XAR0, *XAR0
MOV AR6, @sp
MOVL *XAR0, XAR6

The value of the SP is copied to the low word of XAR6, AR6, and the high word of the XAR6 isn't modified. It makes the pxTopOfStack point to an adress ot of stack area of the stack's current task, resulting in data corruption and stack overflow. XAR6 must be initialized before:

; Save stack pointer in the task control block.
MOVL XAR0, #_pxCurrentTCB
MOVL XAR0, *XAR0
MOVL XAR6, #0 ;set to 0 XAR6 before move the new value of pxTopOfStack
MOV AR6, @sp
MOVL *XAR0, XAR6

Thanks! <no issue as of the time of this writing>

Ivan, I posted this on the FreeRTOS interactive site:

Hello Ivan,
Thanks for sharing your port. I had worked on this also some time ago; but not quite completed; I did get a 'blinky' port working for the 'c55x series.
I modified your port to run on my 'Themis' target - TMS320F28069 target - and it's running fine. I will let you know if I run into any issues.
I currently have red and green leds blinking.
Thanks Again,
John W.

Wanted to say thanks!

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.