Quality RTOS & Embedded Software

 Real time embedded FreeRTOS RSS feed 
Quick Start Supported MCUs PDF Books Trace Tools Ecosystem


Loading

TMS470 port

Posted by Nobody/Anonymous on May 8, 2006
Hi all,

I started to port freeRTOS to an ARM7-based TMS470R1B1M but now I'am facing some problems.
At the beginning I thought that it is no big deal as there are already some ARM7 ports available.

So I took the ARM7_AT91SAM7S port as example.
At the beginning I modified the timer initialization and the timer ISR and
both worked.

I did not modify the macros portRESTORE_CONTEXT
and portSAVE_CONTEXT as the assembler instructions should be the same.
But unfortunately, it does not work. After the following commands in
RESTORE_CONTEXT, the PC register points to somewhere.

LDMFDLR, {R0-R14}^
NOP
LDRLR, [LR, #+60]
SUBSPC, LR, #4

Is there anybody who is working on a TMS470 port too or can someone point me to some hints?

I use gnu-arm-gcc 4.0.2, arm mode only and I started without using preemption.

TIA
Torsten

RE: TMS470 port

Posted by Nobody/Anonymous on May 8, 2006
Well, after some modifications the context switch works.
I'll let you know, when I'm ready with the complete port.

Torsten

RE: TMS470 port

Posted by Richard on May 8, 2006
I have a tms470 port that was sent to me recently, I'm not sure if it is complete yet and don't have the means (yet) to test it. I would be grateful for your port also when it is complete so it can become a supported processor ;-)


I'm surprised you had to change the macro definitions. Did you start with a GCC port as your base, or the IAR SAM7 port?

The GCC ports can use inline assembler __attribute__((naked)) to keep all the code in the C files, whereas the IAR ports use a slightly different technique.

Also, did you call the first portRESTORE_CONTEXT from supervisor mode? This is essentail, and the easiest way to do it is by switching the supervisor mode prior to calling main().

Regards.

RE: TMS470 port

Posted by Nobody/Anonymous on May 10, 2006

>I'm surprised you had to change the macro
>definitions. Did you start with a GCC port as
>your base, or the IAR SAM7 port?
I'm also surprised. So maybe something different is wrong to with my port.

So could you send me the TMS470 port you got recently? It would be a great help for me.

Regards
Torsten

RE: TMS470 port

Posted by Richard on May 10, 2006
I can send it when I get back from my business trip.

What was it you had to change?

Regards.

RE: TMS470 port

Posted by Nobody/Anonymous on February 13, 2007
Do you think about publishing the TMS470 port ?
I'am a newbee with FreeRTOS and TMS470... and i would like to use it on the Olimex TMS470-P256 prototype board.

RE: TMS470 port

Posted by Nobody/Anonymous on February 19, 2007
Hello there

I'm trying to port FreeRTOS to TMS470.

I've 2 tasks
- an LCD driver waiting for an LCDMessage
- another task trying to send a message when it starts.

The second task starts to work and queues a message to the first one. But when calling taskEXIT_CRITICAL() inside xQueueSend() function my software goes I don't known where ?

I suppose that there is something wrong with task switching and/or interrupts...

Can someone help me ?


[ Back to the top ]    [ About FreeRTOS ]    [ Privacy ]    [ Sitemap ]    [ ]


Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.

Latest News

NXP tweet showing LPC5500 (ARMv8-M Cortex-M33) running FreeRTOS.

Meet Richard Barry and learn about running FreeRTOS on RISC-V at FOSDEM 2019

Version 10.1.1 of the FreeRTOS kernel is available for immediate download. MIT licensed.

View a recording of the "OTA Update Security and Reliability" webinar, presented by TI and AWS.


Careers

FreeRTOS and other embedded software careers at AWS.



FreeRTOS Partners

ARM Connected RTOS partner for all ARM microcontroller cores

Espressif ESP32

IAR Partner

Microchip Premier RTOS Partner

RTOS partner of NXP for all NXP ARM microcontrollers

Renesas

STMicro RTOS partner supporting ARM7, ARM Cortex-M3, ARM Cortex-M4 and ARM Cortex-M0

Texas Instruments MCU Developer Network RTOS partner for ARM and MSP430 microcontrollers

OpenRTOS and SafeRTOS

Xilinx Microblaze and Zynq partner