FreeRTOS-Kernel/Demo/MB91460_Softune
Richard Barry 334e0e2e70 Update to V6.1.1
..
PRC Add MB91460 port and demo files.
SRC Update to V6.1.1
STANDALONE
91460_template_91467d.dat Change optimisation level.
91467d_FreeRTOS.prj
91467d_FreeRTOS.wsp Get the trace utility and co-routines working.
readme.txt Add MB91460 port and demo files.

readme.txt

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.



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

                   Template Project for MB91F467D 

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

                   Fujitsu Microelectronics Europe GmbH                       

                 http://emea.fujitsu.com/microelectronics 

                                                            

The  following  software  is for  demonstration  purposes only.  It is not

fully  tested, nor validated  in  order  to fullfill  its task  under  all

circumstances.  Therefore,  this software  or  any part of it must only be

used in an evaluation laboratory environment.                        

This software is subject to  the rules of our standard DISCLAIMER, that is

delivered  with  our  SW-tools  on  the  Fujitsu  Microcontrollers CD /DVD

(V3.4 or higher "\START.HTM").

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

               

History

Date        Ver     Author  Softune     Description

2007-11-12  1.0     MPi     V60L06		original version

2007-11-12  1.1     MPi     V60L06		Changed the version for consistency

										with SVN

2007-11-23  1.2     MPi     V60L06		Seperated Watchdog functionality

										added watchdog.c and watchdog.h

2007-12-13  1.3     MPi     V60L06		Tested with the FreeRTOS version 4.6.1.

2007-12-13  1.4     MPi     V60L06		Tested with the FreeRTOS version 4.7.0.

2007-01-07  1.5     MPi     V60L06		Removed watchdog.c, watchdog.h, port.c 

										and portmacro.h from directory

										\FreeRTOS_Port_FR\91467d_FreeRTOS\SRC

2007-01-18  1.6     MPi     V60L06		Tested with monitor debugger

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

1.0.

This is a project is to test the FreeRTOS port for FR (91467D) and the demo 

application which runs on SK-91F467-Felxray V1.1.



1.1.

This FreeRTOS port uses the Task Stack pointed by User Stack pointer (USP) for

tasks and the system stack pointed by System Stack pointer (SSP) for everything

else. 



1.2.

In this port, the functionality is added to initialize and clear the watchdog in 

the dedicated task, Tick Hook or the Idle Hook. The place exactly where the 

watchdog can be cleared can be configured. Though Idle Hook is not an approproiate

place to clear the watchdog, its done here for demonstration purpose only.



Also from Main function vTaskStartScheduler() function is called instead of 

xPortStartScheduler(). After doing this change now no more IDLE task is required

to be added seperately as vTaskStartScheduler() adds prvIdleTask() on its own.



The System Stack required by each of the RLT0 and Delayed Interrupt ISR is around 100 

bytes. This is considering no interrupts has higher priority than the RLT0 and Delayed 

interrupt (23). If an application has interrupt whose priority is higher than these 

interrupts, which is very likely, then for each such interrupt the user has to increase 

the stack size at least by 50 bytes, though this is not an optimum figure and very well 

depends upon the application.

Hence though the STACK_SYS_SIZE is defined as 2000, its optimum value would be very well

dependent on the application where the port would be used.



1.3.

Tested with the FreeRTOS version 4.6.1.



Changed portBYTE_ALIGNMENT to 4 from 1.



Added portYIELDFromISR() which uses delayed interrupt. This macro needs to be used from the

application ISRs in order to force a context switch from them if required. It should be noted

that the interrupt priority of such application ISRs MUST be always higher than the dealyed 

interrupt (currently 23) in order to perform the context switch correctly.



It should be also noted that the RLT0 and Delayed Interrupt priority MUST be always same in order 

to assure correct working of this port.



Now portYIELD() used software interrupt INT #40H instead of delayed interrupt.



Now all the queue functions works ok.



Tested with the heap_1.c, heap_2.c and heap_3.c.



Added the __STD_LIB_sbrk.c file in order to define the *sbrk() function. This is required while using

heap_3.c file which uses the dynamic memory allocation.



Made changes to the demo application files crflash.c and crhook.c. Please refer those file

and grep for "Added by MPi" to find the changes.



Added taskutility.c file. This file contains vUART4Task() which calls vTaskList() and vTaskStartTrace()

functions.



If vCreateBlockTimeTasks() is not called then the LED at PDR25_D7 blinks at normal rate (3s).



1.4.

Tested with the FreeRTOS version 4.6.1.



At one time, either of heap_1.c or heap_2.c or heap_3.c needs to be used. Hence the files those are not 

required to be used should be removed from the target of the build.



1.5.

Removed watchdog.c, watchdog.h, port.c and portmacro.h from directory \FreeRTOS_Port_FR\91467d_FreeRTOS\SRC, 

since they are moved to folders watchdog and port respectively.



1.6.

It should be noted that the readme, appnote and SVN tag version numbers may be different for the same release.



Used relative path to include files instead of absolute.



Created config, MemMang, serial and utility subdirectories and moved corresponding functionlaity there.



Updated taskuitlity.c, vectors.c in oredr to use UART 5 instead of UART 4



Updated flash.c to increase LEDs to 4 from 3.



Clock settings:

---------------

Crystal:  4 MHz

CPU:     64 MHz

CLKP:    16 MHz