refractor app_os_prio.h

This commit is contained in:
hathach 2014-03-06 11:27:22 +07:00
parent de7437852b
commit dcc58a7afc
19 changed files with 540 additions and 585 deletions

View File

@ -73,7 +73,7 @@ void board_init(void)
UART_CFG_Type UARTConfigStruct; UART_CFG_Type UARTConfigStruct;
UART_ConfigStructInit(&UARTConfigStruct); UART_ConfigStructInit(&UARTConfigStruct);
UARTConfigStruct.Baud_rate = CFG_UART_BAUDRATE; UARTConfigStruct.Baud_rate = CFG_UART_BAUDRATE;
UARTConfigStruct.Clock_Speed = 0; UARTConfigStruct.Clock_Speed = 0;
UART_Init(BOARD_UART_PORT, &UARTConfigStruct); UART_Init(BOARD_UART_PORT, &UARTConfigStruct);

View File

@ -75,16 +75,16 @@ void board_init(void)
#if CFG_UART_ENABLE #if CFG_UART_ENABLE
//------------- UART init -------------// //------------- UART init -------------//
scu_pinmux(0x6 ,4, MD_PDN | MD_EZI, FUNC2); // UART0_TXD
scu_pinmux(0x6 ,5, MD_PDN | MD_EZI, FUNC2); // UART0_RXD
UART_CFG_Type UARTConfigStruct; UART_CFG_Type UARTConfigStruct;
scu_pinmux(0x6 ,4, MD_PDN|MD_EZI, FUNC2); // UART0_TXD
scu_pinmux(0x6 ,5, MD_PDN|MD_EZI, FUNC2); // UART0_RXD
UART_ConfigStructInit(&UARTConfigStruct); // default: baud = 9600, 8 bit data, 1 stop bit, no parity UART_ConfigStructInit(&UARTConfigStruct); // default: baud = 9600, 8 bit data, 1 stop bit, no parity
UARTConfigStruct.Baud_rate = CFG_UART_BAUDRATE; // Re-configure baudrate UARTConfigStruct.Baud_rate = CFG_UART_BAUDRATE; // Re-configure baudrate
UARTConfigStruct.Clock_Speed = 0;
UART_Init((LPC_USARTn_Type*) LPC_USART0, &UARTConfigStruct); // Initialize UART port UART_Init(BOARD_UART_PORT, &UARTConfigStruct);
UART_TxCmd((LPC_USARTn_Type*) LPC_USART0, ENABLE); // Enable UART UART_TxCmd(BOARD_UART_PORT, ENABLE); // Enable UART
#endif #endif
} }

View File

@ -46,7 +46,6 @@
<option id="gnu.c.compiler.option.misc.other.898778785" name="Other flags" superClass="gnu.c.compiler.option.misc.other" value="-c -fmessage-length=0 -fno-builtin -ffunction-sections -fdata-sections" valueType="string"/> <option id="gnu.c.compiler.option.misc.other.898778785" name="Other flags" superClass="gnu.c.compiler.option.misc.other" value="-c -fmessage-length=0 -fno-builtin -ffunction-sections -fdata-sections" valueType="string"/>
<option id="gnu.c.compiler.option.include.paths.970795437" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath"> <option id="gnu.c.compiler.option.include.paths.970795437" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/bsp/lpc43xx/CMSIS_LPC43xx_DriverLib/inc}&quot;"/> <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/bsp/lpc43xx/CMSIS_LPC43xx_DriverLib/inc}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/freertos}&quot;"/> <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/freertos}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/freertos/freertos/Source/include}&quot;"/> <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/freertos/freertos/Source/include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/bsp}&quot;"/> <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/bsp}&quot;"/>
@ -708,7 +707,6 @@
<option id="gnu.c.compiler.option.misc.other.740032111" name="Other flags" superClass="gnu.c.compiler.option.misc.other" value="-c -fmessage-length=0 -fno-builtin -ffunction-sections -fdata-sections" valueType="string"/> <option id="gnu.c.compiler.option.misc.other.740032111" name="Other flags" superClass="gnu.c.compiler.option.misc.other" value="-c -fmessage-length=0 -fno-builtin -ffunction-sections -fdata-sections" valueType="string"/>
<option id="gnu.c.compiler.option.include.paths.967143576" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath"> <option id="gnu.c.compiler.option.include.paths.967143576" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/bsp/lpc43xx/CMSIS_LPC43xx_DriverLib/inc}&quot;"/> <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/bsp/lpc43xx/CMSIS_LPC43xx_DriverLib/inc}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/bsp}&quot;"/> <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/bsp}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/cmsis_rtos_rtx/INC}&quot;"/> <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/cmsis_rtos_rtx/INC}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/tinyusb}&quot;"/> <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/tinyusb}&quot;"/>

View File

@ -1,71 +0,0 @@
/**************************************************************************/
/*!
@file app_os_prio.h
@author hathach (tinyusb.org)
@section LICENSE
Software License Agreement (BSD License)
Copyright (c) 2013, hathach (tinyusb.org)
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. Neither the name of the copyright holders nor the
names of its contributors may be used to endorse or promote products
derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
This file is part of the tinyusb stack.
*/
/**************************************************************************/
/** \file
* \brief TBD
*
* \note TBD
*/
/** \ingroup TBD
* \defgroup TBD
* \brief TBD
*
* @{
*/
#ifndef _TUSB_APP_OS_PRIO_H_
#define _TUSB_APP_OS_PRIO_H_
#ifdef __cplusplus
extern "C" {
#endif
#define KEYBOARD_APP_TASK_PRIO osPriorityNormal
#define MOUSE_APP_TASK_PRIO osPriorityNormal
#define LED_BLINKING_APP_TASK_PRIO osPriorityNormal
#define CDC_SERIAL_APP_TASK_PRIO osPriorityNormal
#ifdef __cplusplus
}
#endif
#endif /* _TUSB_APP_OS_PRIO_H_ */
/** @} */

View File

@ -47,7 +47,6 @@
<option id="gnu.c.compiler.option.misc.other.898778785" name="Other flags" superClass="gnu.c.compiler.option.misc.other" value="-c -fmessage-length=0 -fno-builtin -ffunction-sections -fdata-sections" valueType="string"/> <option id="gnu.c.compiler.option.misc.other.898778785" name="Other flags" superClass="gnu.c.compiler.option.misc.other" value="-c -fmessage-length=0 -fno-builtin -ffunction-sections -fdata-sections" valueType="string"/>
<option id="gnu.c.compiler.option.include.paths.970795437" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath"> <option id="gnu.c.compiler.option.include.paths.970795437" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/bsp/lpc43xx/CMSIS_LPC43xx_DriverLib/inc}&quot;"/> <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/bsp/lpc43xx/CMSIS_LPC43xx_DriverLib/inc}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/freertos}&quot;"/> <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/freertos}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/freertos/freertos/Source/include}&quot;"/> <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/freertos/freertos/Source/include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/fatfs}&quot;"/> <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/fatfs}&quot;"/>
@ -937,7 +936,6 @@
<option id="gnu.c.compiler.option.include.paths.967143576" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath"> <option id="gnu.c.compiler.option.include.paths.967143576" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/bsp/lpc43xx/CMSIS_LPC43xx_DriverLib/inc}&quot;"/> <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/bsp/lpc43xx/CMSIS_LPC43xx_DriverLib/inc}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/fatfs}&quot;"/> <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/fatfs}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/bsp}&quot;"/> <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/bsp}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/freertos}&quot;"/> <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/freertos}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/freertos/freertos/Source/include}&quot;"/> <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/freertos/freertos/Source/include}&quot;"/>
@ -1901,7 +1899,6 @@
<option id="gnu.c.compiler.option.include.paths.643947484" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath"> <option id="gnu.c.compiler.option.include.paths.643947484" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/bsp/lpc175x_6x/CMSISv2p00_LPC17xx/inc}&quot;"/> <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/bsp/lpc175x_6x/CMSISv2p00_LPC17xx/inc}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/bsp/lpc175x_6x/LPC17xx_DriverLib/include}&quot;"/> <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/bsp/lpc175x_6x/LPC17xx_DriverLib/include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/freertos/freertos/Source/include}&quot;"/> <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/freertos/freertos/Source/include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/freertos}&quot;"/> <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/freertos}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/fatfs}&quot;"/> <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/fatfs}&quot;"/>

View File

@ -167,7 +167,8 @@
<state>CORE_M4</state> <state>CORE_M4</state>
<state>TUSB_CFG_MCU=MCU_LPC43XX</state> <state>TUSB_CFG_MCU=MCU_LPC43XX</state>
<state>BOARD=BOARD_EA4357</state> <state>BOARD=BOARD_EA4357</state>
<state>TUSB_CFG_OS=TUSB_OS_NONE</state> <state>TUSB_CFG_OS=TUSB_OS_FREERTOS</state>
<state>TUSB_CFG_OS_TASK_PRIO=configMAX_PRIORITIES-5</state>
</option> </option>
<option> <option>
<name>CCPreprocFile</name> <name>CCPreprocFile</name>
@ -301,6 +302,8 @@
<state>$PROJ_DIR$\..\..\bsp</state> <state>$PROJ_DIR$\..\..\bsp</state>
<state>$PROJ_DIR$\..\..\..\tinyusb</state> <state>$PROJ_DIR$\..\..\..\tinyusb</state>
<state>$PROJ_DIR$\..\..\..\vendor\fatfs</state> <state>$PROJ_DIR$\..\..\..\vendor\fatfs</state>
<state>$PROJ_DIR$\..\..\..\vendor\freertos</state>
<state>$PROJ_DIR$\..\..\..\vendor\freertos\freertos\Source\include</state>
</option> </option>
<option> <option>
<name>CCStdIncCheck</name> <name>CCStdIncCheck</name>
@ -2886,6 +2889,39 @@
<name>$PROJ_DIR$\..\..\..\vendor\fatfs\ff.c</name> <name>$PROJ_DIR$\..\..\..\vendor\fatfs\ff.c</name>
</file> </file>
</group> </group>
<group>
<name>freertos</name>
<group>
<name>CM4F</name>
<file>
<name>$PROJ_DIR$\..\..\..\vendor\freertos\freertos\Source\portable\IAR\ARM_CM4F\port.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\vendor\freertos\freertos\Source\portable\IAR\ARM_CM4F\portasm.s</name>
</file>
</group>
<file>
<name>$PROJ_DIR$\..\..\..\vendor\freertos\freertos\Source\croutine.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\vendor\freertos\freertoslpc\FreeRTOSCommonHooks.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\vendor\freertos\freertos\Source\portable\MemMang\heap_4.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\vendor\freertos\freertos\Source\list.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\vendor\freertos\freertos\Source\queue.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\vendor\freertos\freertos\Source\tasks.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\vendor\freertos\freertos\Source\timers.c</name>
</file>
</group>
<group> <group>
<name>tinyusb</name> <name>tinyusb</name>
<group> <group>

View File

@ -73,7 +73,7 @@
<OPTFL> <OPTFL>
<tvExp>1</tvExp> <tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<IsCurrentTarget>0</IsCurrentTarget> <IsCurrentTarget>1</IsCurrentTarget>
</OPTFL> </OPTFL>
<CpuCode>8</CpuCode> <CpuCode>8</CpuCode>
<DllOpt> <DllOpt>
@ -555,7 +555,7 @@
<OPTFL> <OPTFL>
<tvExp>1</tvExp> <tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<IsCurrentTarget>1</IsCurrentTarget> <IsCurrentTarget>0</IsCurrentTarget>
</OPTFL> </OPTFL>
<CpuCode>8</CpuCode> <CpuCode>8</CpuCode>
<Books> <Books>
@ -706,8 +706,8 @@
<Focus>0</Focus> <Focus>0</Focus>
<ColumnNumber>0</ColumnNumber> <ColumnNumber>0</ColumnNumber>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<TopLine>121</TopLine> <TopLine>1</TopLine>
<CurrentLine>122</CurrentLine> <CurrentLine>1</CurrentLine>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>..\src\main.c</PathWithFileName> <PathWithFileName>..\src\main.c</PathWithFileName>
<FilenameWithoutPath>main.c</FilenameWithoutPath> <FilenameWithoutPath>main.c</FilenameWithoutPath>
@ -752,10 +752,10 @@
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<Focus>0</Focus> <Focus>0</Focus>
<ColumnNumber>7</ColumnNumber> <ColumnNumber>0</ColumnNumber>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<TopLine>73</TopLine> <TopLine>1</TopLine>
<CurrentLine>74</CurrentLine> <CurrentLine>1</CurrentLine>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>..\src\mouse_app.c</PathWithFileName> <PathWithFileName>..\src\mouse_app.c</PathWithFileName>
<FilenameWithoutPath>mouse_app.c</FilenameWithoutPath> <FilenameWithoutPath>mouse_app.c</FilenameWithoutPath>
@ -1168,10 +1168,10 @@
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<Focus>0</Focus> <Focus>0</Focus>
<ColumnNumber>34</ColumnNumber> <ColumnNumber>10</ColumnNumber>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<TopLine>79</TopLine> <TopLine>80</TopLine>
<CurrentLine>88</CurrentLine> <CurrentLine>85</CurrentLine>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>..\..\..\vendor\freertos\freertoslpc\FreeRTOSCommonHooks.c</PathWithFileName> <PathWithFileName>..\..\..\vendor\freertos\freertoslpc\FreeRTOSCommonHooks.c</PathWithFileName>
<FilenameWithoutPath>FreeRTOSCommonHooks.c</FilenameWithoutPath> <FilenameWithoutPath>FreeRTOSCommonHooks.c</FilenameWithoutPath>
@ -1234,7 +1234,7 @@
<Focus>0</Focus> <Focus>0</Focus>
<ColumnNumber>0</ColumnNumber> <ColumnNumber>0</ColumnNumber>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<TopLine>2113</TopLine> <TopLine>2114</TopLine>
<CurrentLine>2115</CurrentLine> <CurrentLine>2115</CurrentLine>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>..\..\..\vendor\freertos\freertos\Source\tasks.c</PathWithFileName> <PathWithFileName>..\..\..\vendor\freertos\freertos\Source\tasks.c</PathWithFileName>
@ -1352,9 +1352,9 @@
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<Focus>0</Focus> <Focus>0</Focus>
<ColumnNumber>22</ColumnNumber> <ColumnNumber>23</ColumnNumber>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<TopLine>1718</TopLine> <TopLine>1719</TopLine>
<CurrentLine>1723</CurrentLine> <CurrentLine>1723</CurrentLine>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>..\..\..\vendor\fatfs\ff.c</PathWithFileName> <PathWithFileName>..\..\..\vendor\fatfs\ff.c</PathWithFileName>
@ -1546,7 +1546,7 @@
<Focus>0</Focus> <Focus>0</Focus>
<ColumnNumber>30</ColumnNumber> <ColumnNumber>30</ColumnNumber>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<TopLine>144</TopLine> <TopLine>145</TopLine>
<CurrentLine>150</CurrentLine> <CurrentLine>150</CurrentLine>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>..\..\bsp\lpc43xx\startup_keil\startup_LPC43xx.s</PathWithFileName> <PathWithFileName>..\..\bsp\lpc43xx\startup_keil\startup_LPC43xx.s</PathWithFileName>
@ -1654,7 +1654,7 @@
<Group> <Group>
<GroupName>bsp lpc175x_6x</GroupName> <GroupName>bsp lpc175x_6x</GroupName>
<tvExp>1</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel> <cbSel>0</cbSel>
<RteFlg>0</RteFlg> <RteFlg>0</RteFlg>
@ -1762,7 +1762,7 @@
<Focus>0</Focus> <Focus>0</Focus>
<ColumnNumber>0</ColumnNumber> <ColumnNumber>0</ColumnNumber>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<TopLine>123</TopLine> <TopLine>124</TopLine>
<CurrentLine>129</CurrentLine> <CurrentLine>129</CurrentLine>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>..\..\bsp\lpc175x_6x\startup_keil\startup_LPC17xx.s</PathWithFileName> <PathWithFileName>..\..\bsp\lpc175x_6x\startup_keil\startup_LPC17xx.s</PathWithFileName>

View File

@ -350,7 +350,7 @@
<MiscControls>--gnu --c99 --diag_suppress=66</MiscControls> <MiscControls>--gnu --c99 --diag_suppress=66</MiscControls>
<Define>CORE_M4 TUSB_CFG_MCU=MCU_LPC43XX BOARD=BOARD_EA4357 TUSB_CFG_OS=TUSB_OS_FREERTOS TUSB_CFG_OS_TASK_PRIO=configMAX_PRIORITIES-5</Define> <Define>CORE_M4 TUSB_CFG_MCU=MCU_LPC43XX BOARD=BOARD_EA4357 TUSB_CFG_OS=TUSB_OS_FREERTOS TUSB_CFG_OS_TASK_PRIO=configMAX_PRIORITIES-5</Define>
<Undefine></Undefine> <Undefine></Undefine>
<IncludePath>..\src;..\..\bsp\lpc43xx\CMSIS_LPC43xx_DriverLib\inc;..\..\bsp;..\..\..\tinyusb;..\..\..\vendor\freertos;..\..\..\vendor\freertos\freertos\Source\include;..\host_freertos;..\..\..\vendor\fatfs</IncludePath> <IncludePath>..\src;..\..\bsp\lpc43xx\CMSIS_LPC43xx_DriverLib\inc;..\..\bsp;..\..\..\tinyusb;..\..\..\vendor\freertos;..\..\..\vendor\freertos\freertos\Source\include;..\..\..\vendor\fatfs</IncludePath>
</VariousControls> </VariousControls>
</Cads> </Cads>
<Aads> <Aads>
@ -2020,7 +2020,7 @@
<MiscControls>--gnu --c99 --diag_suppress=66</MiscControls> <MiscControls>--gnu --c99 --diag_suppress=66</MiscControls>
<Define>TUSB_CFG_MCU=MCU_LPC175X_6X BOARD=BOARD_LPCXPRESSO1769 TUSB_CFG_OS=TUSB_OS_FREERTOS TUSB_CFG_OS_TASK_PRIO=configMAX_PRIORITIES-5</Define> <Define>TUSB_CFG_MCU=MCU_LPC175X_6X BOARD=BOARD_LPCXPRESSO1769 TUSB_CFG_OS=TUSB_OS_FREERTOS TUSB_CFG_OS_TASK_PRIO=configMAX_PRIORITIES-5</Define>
<Undefine></Undefine> <Undefine></Undefine>
<IncludePath>..\src;..\..\bsp\lpc175x_6x\CMSISv2p00_LPC17xx\inc;..\..\bsp\lpc175x_6x\LPC17xx_DriverLib\include;..\..\bsp;..\..\..\tinyusb;..\..\..\vendor\freertos;..\..\..\vendor\freertos\freertos\Source\include;..\host_freertos;..\..\..\vendor\fatfs</IncludePath> <IncludePath>..\src;..\..\bsp\lpc175x_6x\CMSISv2p00_LPC17xx\inc;..\..\bsp\lpc175x_6x\LPC17xx_DriverLib\include;..\..\bsp;..\..\..\tinyusb;..\..\..\vendor\freertos;..\..\..\vendor\freertos\freertos\Source\include;..\..\..\vendor\fatfs</IncludePath>
</VariousControls> </VariousControls>
</Cads> </Cads>
<Aads> <Aads>
@ -2855,7 +2855,7 @@
<MiscControls>--gnu --c99 --diag_suppress=66</MiscControls> <MiscControls>--gnu --c99 --diag_suppress=66</MiscControls>
<Define>CORE_M4 TUSB_CFG_MCU=MCU_LPC43XX BOARD=BOARD_NGX4330 TUSB_CFG_OS=TUSB_OS_FREERTOS TUSB_CFG_OS_TASK_PRIO=configMAX_PRIORITIES-5</Define> <Define>CORE_M4 TUSB_CFG_MCU=MCU_LPC43XX BOARD=BOARD_NGX4330 TUSB_CFG_OS=TUSB_OS_FREERTOS TUSB_CFG_OS_TASK_PRIO=configMAX_PRIORITIES-5</Define>
<Undefine></Undefine> <Undefine></Undefine>
<IncludePath>..\src;..\..\bsp\lpc43xx\CMSIS_LPC43xx_DriverLib\inc;..\..\bsp;..\..\..\tinyusb;..\..\..\vendor\freertos;..\..\..\vendor\freertos\freertos\Source\include;..\host_freertos;..\..\..\vendor\fatfs</IncludePath> <IncludePath>..\src;..\..\bsp\lpc43xx\CMSIS_LPC43xx_DriverLib\inc;..\..\bsp;..\..\..\tinyusb;..\..\..\vendor\freertos;..\..\..\vendor\freertos\freertos\Source\include;..\..\..\vendor\fatfs</IncludePath>
</VariousControls> </VariousControls>
</Cads> </Cads>
<Aads> <Aads>

View File

@ -52,14 +52,14 @@
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src}&quot;"/> <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src}&quot;"/>
</option> </option>
<option id="com.crt.advproject.c.misc.dialect.861665028" name="C Dialect" superClass="com.crt.advproject.c.misc.dialect" value="com.crt.advproject.misc.dialect.gnu99" valueType="enumerated"/> <option id="com.crt.advproject.c.misc.dialect.861665028" name="C Dialect" superClass="com.crt.advproject.c.misc.dialect" value="com.crt.advproject.misc.dialect.gnu99" valueType="enumerated"/>
<option id="com.crt.advproject.gcc.fpu.858901448" superClass="com.crt.advproject.gcc.fpu" value="com.crt.advproject.gcc.fpu.fpv4" valueType="enumerated"/> <option id="com.crt.advproject.gcc.fpu.858901448" name="Floating point" superClass="com.crt.advproject.gcc.fpu" value="com.crt.advproject.gcc.fpu.fpv4" valueType="enumerated"/>
<inputType id="com.crt.advproject.compiler.input.217124913" superClass="com.crt.advproject.compiler.input"/> <inputType id="com.crt.advproject.compiler.input.217124913" superClass="com.crt.advproject.compiler.input"/>
</tool> </tool>
<tool command="arm-none-eabi-gcc" commandLinePattern="${COMMAND} ${FLAGS} ${OUTPUT_FLAG}${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" errorParsers="org.eclipse.cdt.core.GASErrorParser" id="com.crt.advproject.gas.exe.debug.1376287865" name="MCU Assembler" superClass="com.crt.advproject.gas.exe.debug"> <tool command="arm-none-eabi-gcc" commandLinePattern="${COMMAND} ${FLAGS} ${OUTPUT_FLAG}${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" errorParsers="org.eclipse.cdt.core.GASErrorParser" id="com.crt.advproject.gas.exe.debug.1376287865" name="MCU Assembler" superClass="com.crt.advproject.gas.exe.debug">
<option id="com.crt.advproject.gas.arch.1664735680" name="Architecture" superClass="com.crt.advproject.gas.arch" value="com.crt.advproject.gas.target.cm4" valueType="enumerated"/> <option id="com.crt.advproject.gas.arch.1664735680" name="Architecture" superClass="com.crt.advproject.gas.arch" value="com.crt.advproject.gas.target.cm4" valueType="enumerated"/>
<option id="com.crt.advproject.gas.thumb.572061543" name="Thumb mode" superClass="com.crt.advproject.gas.thumb" value="true" valueType="boolean"/> <option id="com.crt.advproject.gas.thumb.572061543" name="Thumb mode" superClass="com.crt.advproject.gas.thumb" value="true" valueType="boolean"/>
<option id="gnu.both.asm.option.flags.crt.884423800" name="Assembler flags" superClass="gnu.both.asm.option.flags.crt" value="-c -x assembler-with-cpp -D__REDLIB__ -DDEBUG -D__CODE_RED" valueType="string"/> <option id="gnu.both.asm.option.flags.crt.884423800" name="Assembler flags" superClass="gnu.both.asm.option.flags.crt" value="-c -x assembler-with-cpp -D__REDLIB__ -DDEBUG -D__CODE_RED" valueType="string"/>
<option id="com.crt.advproject.gas.fpu.1152943186" superClass="com.crt.advproject.gas.fpu" value="com.crt.advproject.gas.fpu.fpv4" valueType="enumerated"/> <option id="com.crt.advproject.gas.fpu.1152943186" name="Floating point" superClass="com.crt.advproject.gas.fpu" value="com.crt.advproject.gas.fpu.fpv4" valueType="enumerated"/>
<inputType id="com.crt.advproject.assembler.input.1812008425" name="Additional Assembly Source Files" superClass="com.crt.advproject.assembler.input"/> <inputType id="com.crt.advproject.assembler.input.1812008425" name="Additional Assembly Source Files" superClass="com.crt.advproject.assembler.input"/>
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.1488844340" superClass="cdt.managedbuild.tool.gnu.assembler.input"/> <inputType id="cdt.managedbuild.tool.gnu.assembler.input.1488844340" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
</tool> </tool>
@ -77,7 +77,7 @@
<option id="gnu.c.link.option.libs.1088600788" name="Libraries (-l)" superClass="gnu.c.link.option.libs"/> <option id="gnu.c.link.option.libs.1088600788" name="Libraries (-l)" superClass="gnu.c.link.option.libs"/>
<option id="gnu.c.link.option.paths.1352371726" name="Library search path (-L)" superClass="gnu.c.link.option.paths"/> <option id="gnu.c.link.option.paths.1352371726" name="Library search path (-L)" superClass="gnu.c.link.option.paths"/>
<option id="com.crt.advproject.link.gcc.hdrlib.1912639139" name="Use C library" superClass="com.crt.advproject.link.gcc.hdrlib" value="com.crt.advproject.gcc.link.hdrlib.codered.semihost" valueType="enumerated"/> <option id="com.crt.advproject.link.gcc.hdrlib.1912639139" name="Use C library" superClass="com.crt.advproject.link.gcc.hdrlib" value="com.crt.advproject.gcc.link.hdrlib.codered.semihost" valueType="enumerated"/>
<option id="com.crt.advproject.link.fpu.1467962306" superClass="com.crt.advproject.link.fpu" value="com.crt.advproject.link.fpu.fpv4" valueType="enumerated"/> <option id="com.crt.advproject.link.fpu.1467962306" name="Floating point" superClass="com.crt.advproject.link.fpu" value="com.crt.advproject.link.fpu.fpv4" valueType="enumerated"/>
<inputType id="cdt.managedbuild.tool.gnu.c.linker.input.1768732506" superClass="cdt.managedbuild.tool.gnu.c.linker.input"> <inputType id="cdt.managedbuild.tool.gnu.c.linker.input.1768732506" superClass="cdt.managedbuild.tool.gnu.c.linker.input">
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/> <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
<additionalInput kind="additionalinput" paths="$(LIBS)"/> <additionalInput kind="additionalinput" paths="$(LIBS)"/>
@ -142,7 +142,6 @@
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/lwip/lwip/src/include/ipv4}&quot;"/> <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/lwip/lwip/src/include/ipv4}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/lwip/lpclwip}&quot;"/> <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/lwip/lpclwip}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/lwip/lwip/src/include}&quot;"/> <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/lwip/lwip/src/include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/bsp}&quot;"/> <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/bsp}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/tinyusb}&quot;"/> <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/tinyusb}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src}&quot;"/> <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src}&quot;"/>

View File

@ -972,10 +972,10 @@
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<Focus>0</Focus> <Focus>0</Focus>
<ColumnNumber>54</ColumnNumber> <ColumnNumber>36</ColumnNumber>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<TopLine>125</TopLine> <TopLine>126</TopLine>
<CurrentLine>137</CurrentLine> <CurrentLine>138</CurrentLine>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>..\src\mouse_app.c</PathWithFileName> <PathWithFileName>..\src\mouse_app.c</PathWithFileName>
<FilenameWithoutPath>mouse_app.c</FilenameWithoutPath> <FilenameWithoutPath>mouse_app.c</FilenameWithoutPath>
@ -1004,10 +1004,10 @@
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<Focus>0</Focus> <Focus>0</Focus>
<ColumnNumber>38</ColumnNumber> <ColumnNumber>12</ColumnNumber>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<TopLine>138</TopLine> <TopLine>140</TopLine>
<CurrentLine>150</CurrentLine> <CurrentLine>152</CurrentLine>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>..\src\msc_app.c</PathWithFileName> <PathWithFileName>..\src\msc_app.c</PathWithFileName>
<FilenameWithoutPath>msc_app.c</FilenameWithoutPath> <FilenameWithoutPath>msc_app.c</FilenameWithoutPath>
@ -1034,7 +1034,7 @@
<Group> <Group>
<GroupName>tinyusb</GroupName> <GroupName>tinyusb</GroupName>
<tvExp>0</tvExp> <tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel> <cbSel>0</cbSel>
<RteFlg>0</RteFlg> <RteFlg>0</RteFlg>
@ -1484,9 +1484,9 @@
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<Focus>0</Focus> <Focus>0</Focus>
<ColumnNumber>8</ColumnNumber> <ColumnNumber>12</ColumnNumber>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<TopLine>3186</TopLine> <TopLine>3187</TopLine>
<CurrentLine>3196</CurrentLine> <CurrentLine>3196</CurrentLine>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>..\..\..\vendor\fatfs\ff.c</PathWithFileName> <PathWithFileName>..\..\..\vendor\fatfs\ff.c</PathWithFileName>
@ -1558,7 +1558,7 @@
<Focus>0</Focus> <Focus>0</Focus>
<ColumnNumber>17</ColumnNumber> <ColumnNumber>17</ColumnNumber>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<TopLine>80</TopLine> <TopLine>81</TopLine>
<CurrentLine>90</CurrentLine> <CurrentLine>90</CurrentLine>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>..\..\bsp\boards\printf_retarget.c</PathWithFileName> <PathWithFileName>..\..\bsp\boards\printf_retarget.c</PathWithFileName>
@ -1692,10 +1692,10 @@
<FileType>2</FileType> <FileType>2</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<Focus>0</Focus> <Focus>0</Focus>
<ColumnNumber>30</ColumnNumber> <ColumnNumber>18</ColumnNumber>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<TopLine>147</TopLine> <TopLine>148</TopLine>
<CurrentLine>153</CurrentLine> <CurrentLine>163</CurrentLine>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>..\..\bsp\lpc43xx\startup_keil\startup_LPC43xx.s</PathWithFileName> <PathWithFileName>..\..\bsp\lpc43xx\startup_keil\startup_LPC43xx.s</PathWithFileName>
<FilenameWithoutPath>startup_LPC43xx.s</FilenameWithoutPath> <FilenameWithoutPath>startup_LPC43xx.s</FilenameWithoutPath>

View File

@ -36,12 +36,6 @@
*/ */
/**************************************************************************/ /**************************************************************************/
/** \file
* \brief TBD
*
* \note TBD
*/
/** \ingroup TBD /** \ingroup TBD
* \defgroup TBD * \defgroup TBD
* \brief TBD * \brief TBD
@ -57,12 +51,27 @@
extern "C" { extern "C" {
#endif #endif
#define KEYBOARD_APP_TASK_PRIO (TUSB_CFG_OS_TASK_PRIO-2) #include "tusb.h"
#define MOUSE_APP_TASK_PRIO KEYBOARD_APP_TASK_PRIO
#define CDC_SERIAL_APP_TASK_PRIO KEYBOARD_APP_TASK_PRIO
#define MSC_APP_TASK_PRIO KEYBOARD_APP_TASK_PRIO
#define LED_BLINKING_APP_TASK_PRIO (tskIDLE_PRIORITY+1) #if TUSB_CFG_OS == TUSB_OS_NONE
#define LOWER_PRIO(x) 0 // does not matter
#elif TUSB_CFG_OS == TUSB_OS_FREERTOS
#define LOWER_PRIO(x) ((x)-1) // freeRTOS lower number --> lower priority
#elif TUSB_CFG_OS == TUSB_OS_CMSIS_RTX
#define LOWER_PRIO(x) ((x)-1) // CMSIS-RTOS lower number --> lower priority
#else
#error Priority is not configured for this RTOS
#endif
enum {
STANDARD_APP_TASK_PRIO = LOWER_PRIO(TUSB_CFG_OS_TASK_PRIO), // Application Task is lower than usb system task
LED_BLINKING_APP_TASK_PRIO = LOWER_PRIO(STANDARD_APP_TASK_PRIO), // Blinking task is lower than normal task
KEYBOARD_APP_TASK_PRIO = STANDARD_APP_TASK_PRIO,
MOUSE_APP_TASK_PRIO = STANDARD_APP_TASK_PRIO,
CDC_SERIAL_APP_TASK_PRIO = STANDARD_APP_TASK_PRIO,
MSC_APP_TASK_PRIO = STANDARD_APP_TASK_PRIO
};
#ifdef __cplusplus #ifdef __cplusplus
} }

View File

@ -37,10 +37,7 @@
/**************************************************************************/ /**************************************************************************/
#include "cdc_serial_app.h" #include "cdc_serial_app.h"
#if TUSB_CFG_OS != TUSB_OS_NONE
#include "app_os_prio.h" #include "app_os_prio.h"
#endif
#if TUSB_CFG_HOST_CDC #if TUSB_CFG_HOST_CDC

View File

@ -40,10 +40,7 @@
// INCLUDE // INCLUDE
//--------------------------------------------------------------------+ //--------------------------------------------------------------------+
#include "keyboard_app.h" #include "keyboard_app.h"
#if TUSB_CFG_OS != TUSB_OS_NONE
#include "app_os_prio.h" #include "app_os_prio.h"
#endif
#if TUSB_CFG_HOST_HID_KEYBOARD #if TUSB_CFG_HOST_HID_KEYBOARD

View File

@ -46,10 +46,7 @@
#include "boards/board.h" #include "boards/board.h"
#include "tusb.h" #include "tusb.h"
#if TUSB_CFG_OS != TUSB_OS_NONE
#include "app_os_prio.h" #include "app_os_prio.h"
#endif
#include "mouse_app.h" #include "mouse_app.h"
#include "keyboard_app.h" #include "keyboard_app.h"
#include "msc_app.h" #include "msc_app.h"

View File

@ -40,11 +40,7 @@
// INCLUDE // INCLUDE
//--------------------------------------------------------------------+ //--------------------------------------------------------------------+
#include "mouse_app.h" #include "mouse_app.h"
#if TUSB_CFG_OS != TUSB_OS_NONE
#include "app_os_prio.h" #include "app_os_prio.h"
#endif
#if TUSB_CFG_HOST_HID_MOUSE #if TUSB_CFG_HOST_HID_MOUSE

View File

@ -40,10 +40,7 @@
// INCLUDE // INCLUDE
//--------------------------------------------------------------------+ //--------------------------------------------------------------------+
#include "msc_app.h" #include "msc_app.h"
#if TUSB_CFG_OS != TUSB_OS_NONE
#include "app_os_prio.h" #include "app_os_prio.h"
#endif
#if TUSB_CFG_HOST_MSC #if TUSB_CFG_HOST_MSC

View File

@ -37,10 +37,7 @@
/**************************************************************************/ /**************************************************************************/
#include "rndis_app.h" #include "rndis_app.h"
#if TUSB_CFG_OS != TUSB_OS_NONE
#include "app_os_prio.h" #include "app_os_prio.h"
#endif
#if TUSB_CFG_HOST_CDC && TUSB_CFG_HOST_CDC_RNDIS #if TUSB_CFG_HOST_CDC && TUSB_CFG_HOST_CDC_RNDIS

View File

@ -62,12 +62,12 @@
#include "mcu_capacity.h" #include "mcu_capacity.h"
#ifdef TUSB_CFG_CONFIG_FILE #ifndef TUSB_CFG_CONFIG_FILE
#include TUSB_CFG_CONFIG_FILE #define TUSB_CFG_CONFIG_FILE "tusb_config.h"
#else
#include "tusb_config.h"
#endif #endif
#include TUSB_CFG_CONFIG_FILE
//--------------------------------------------------------------------+ //--------------------------------------------------------------------+
// CONTROLLER // CONTROLLER
//--------------------------------------------------------------------+ //--------------------------------------------------------------------+

View File

@ -1,430 +1,436 @@
/* /*
FreeRTOS V7.3.0 - Copyright (C) 2012 Real Time Engineers Ltd. FreeRTOS V7.3.0 - Copyright (C) 2012 Real Time Engineers Ltd.
FEATURES AND PORTS ARE ADDED TO FREERTOS ALL THE TIME. PLEASE VISIT FEATURES AND PORTS ARE ADDED TO FREERTOS ALL THE TIME. PLEASE VISIT
http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION. http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
*************************************************************************** ***************************************************************************
* * * *
* FreeRTOS tutorial books are available in pdf and paperback. * * FreeRTOS tutorial books are available in pdf and paperback. *
* Complete, revised, and edited pdf reference manuals are also * * Complete, revised, and edited pdf reference manuals are also *
* available. * * available. *
* * * *
* Purchasing FreeRTOS documentation will not only help you, by * * Purchasing FreeRTOS documentation will not only help you, by *
* ensuring you get running as quickly as possible and with an * * ensuring you get running as quickly as possible and with an *
* in-depth knowledge of how to use FreeRTOS, it will also help * * in-depth knowledge of how to use FreeRTOS, it will also help *
* the FreeRTOS project to continue with its mission of providing * * the FreeRTOS project to continue with its mission of providing *
* professional grade, cross platform, de facto standard solutions * * professional grade, cross platform, de facto standard solutions *
* for microcontrollers - completely free of charge! * * for microcontrollers - completely free of charge! *
* * * *
* >>> See http://www.FreeRTOS.org/Documentation for details. <<< * * >>> See http://www.FreeRTOS.org/Documentation for details. <<< *
* * * *
* Thank you for using FreeRTOS, and thank you for your support! * * Thank you for using FreeRTOS, and thank you for your support! *
* * * *
*************************************************************************** ***************************************************************************
This file is part of the FreeRTOS distribution. This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation AND MODIFIED BY the FreeRTOS exception. Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
>>>NOTE<<< The modification to the GPL is included to allow you to >>>NOTE<<< The modification to the GPL is included to allow you to
distribute a combined work that includes FreeRTOS without being obliged to distribute a combined work that includes FreeRTOS without being obliged to
provide the source code for proprietary components outside of the FreeRTOS provide the source code for proprietary components outside of the FreeRTOS
kernel. FreeRTOS is distributed in the hope that it will be useful, but kernel. FreeRTOS is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details. You should have received a copy of the GNU General Public more details. You should have received a copy of the GNU General Public
License and the FreeRTOS license exception along with FreeRTOS; if not it License and the FreeRTOS license exception along with FreeRTOS; if not it
can be viewed here: http://www.freertos.org/a00114.html and also obtained can be viewed here: http://www.freertos.org/a00114.html and also obtained
by writing to Richard Barry, contact details for whom are available on the by writing to Richard Barry, contact details for whom are available on the
FreeRTOS WEB site. FreeRTOS WEB site.
1 tab == 4 spaces! 1 tab == 4 spaces!
*************************************************************************** ***************************************************************************
* * * *
* Having a problem? Start by reading the FAQ "My application does * * Having a problem? Start by reading the FAQ "My application does *
* not run, what could be wrong?" * * not run, what could be wrong?" *
* * * *
* http://www.FreeRTOS.org/FAQHelp.html * * http://www.FreeRTOS.org/FAQHelp.html *
* * * *
*************************************************************************** ***************************************************************************
http://www.FreeRTOS.org - Documentation, training, latest versions, license http://www.FreeRTOS.org - Documentation, training, latest versions, license
and contact details. and contact details.
http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products, http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
including FreeRTOS+Trace - an indispensable productivity tool. including FreeRTOS+Trace - an indispensable productivity tool.
Real Time Engineers ltd license FreeRTOS to High Integrity Systems, who sell Real Time Engineers ltd license FreeRTOS to High Integrity Systems, who sell
the code with commercial support, indemnification, and middleware, under the code with commercial support, indemnification, and middleware, under
the OpenRTOS brand: http://www.OpenRTOS.com. High Integrity Systems also the OpenRTOS brand: http://www.OpenRTOS.com. High Integrity Systems also
provide a safety engineered and independently SIL3 certified version under provide a safety engineered and independently SIL3 certified version under
the SafeRTOS brand: http://www.SafeRTOS.com. the SafeRTOS brand: http://www.SafeRTOS.com.
*/ */
/*----------------------------------------------------------- /*-----------------------------------------------------------
* Portable layer API. Each function must be defined for each port. * Portable layer API. Each function must be defined for each port.
*----------------------------------------------------------*/ *----------------------------------------------------------*/
#ifndef PORTABLE_H #ifndef PORTABLE_H
#define PORTABLE_H #define PORTABLE_H
/* Include the macro file relevant to the port being used. */ //--------------------------------------------------------------------+
// TinyUSB modification
#ifdef OPEN_WATCOM_INDUSTRIAL_PC_PORT //--------------------------------------------------------------------+
#include "..\..\Source\portable\owatcom\16bitdos\pc\portmacro.h" #if defined __CC_ARM
typedef void ( __interrupt __far *pxISR )(); #if __CORTEX_M == 4 // TODO M0 M4
#endif #define PORTMACRO_PATH "../portable/RVDS/ARM_CM4F/portmacro.h"
#elif __CORTEX_M == 3
#ifdef OPEN_WATCOM_FLASH_LITE_186_PORT #define PORTMACRO_PATH "../portable/RVDS/ARM_CM3/portmacro.h"
#include "..\..\Source\portable\owatcom\16bitdos\flsh186\portmacro.h" #endif
typedef void ( __interrupt __far *pxISR )();
#endif #elif defined __GNUC__
#if __CORTEX_M == 4 // TODO M0 M4
#ifdef GCC_MEGA_AVR #define PORTMACRO_PATH "../portable/GCC/ARM_CM4F/portmacro.h"
#include "../portable/GCC/ATMega323/portmacro.h" #elif __CORTEX_M == 3
#endif #define PORTMACRO_PATH "../portable/GCC/ARM_CM3/portmacro.h"
#endif
#ifdef IAR_MEGA_AVR
#include "../portable/IAR/ATMega323/portmacro.h" #elif defined __ICCARM__
#endif #if __CORTEX_M == 4 // TODO M0 M4
#define PORTMACRO_PATH "../portable/IAR/ARM_CM4F/portmacro.h"
#ifdef MPLAB_PIC24_PORT #elif __CORTEX_M == 3
#include "..\..\Source\portable\MPLAB\PIC24_dsPIC\portmacro.h" #define PORTMACRO_PATH "../portable/IAR/ARM_CM3/portmacro.h"
#endif #endif
#ifdef MPLAB_DSPIC_PORT #endif
#include "..\..\Source\portable\MPLAB\PIC24_dsPIC\portmacro.h"
#endif #ifndef PORTMACRO_PATH
#error portmacro.h path is not defined for this toolchain and/or MCU
#ifdef MPLAB_PIC18F_PORT #endif
#include "..\..\Source\portable\MPLAB\PIC18F\portmacro.h"
#endif #include PORTMACRO_PATH
#ifdef MPLAB_PIC32MX_PORT /* Include the macro file relevant to the port being used. */
#include "..\..\Source\portable\MPLAB\PIC32MX\portmacro.h" #ifdef OPEN_WATCOM_INDUSTRIAL_PC_PORT
#endif #include "..\..\Source\portable\owatcom\16bitdos\pc\portmacro.h"
typedef void ( __interrupt __far *pxISR )();
#ifdef _FEDPICC #endif
#include "libFreeRTOS/Include/portmacro.h"
#endif #ifdef OPEN_WATCOM_FLASH_LITE_186_PORT
#include "..\..\Source\portable\owatcom\16bitdos\flsh186\portmacro.h"
#ifdef SDCC_CYGNAL typedef void ( __interrupt __far *pxISR )();
#include "../../Source/portable/SDCC/Cygnal/portmacro.h" #endif
#endif
#ifdef GCC_MEGA_AVR
#ifdef GCC_ARM7 #include "../portable/GCC/ATMega323/portmacro.h"
#include "../../Source/portable/GCC/ARM7_LPC2000/portmacro.h" #endif
#endif
#ifdef IAR_MEGA_AVR
#ifdef GCC_ARM7_ECLIPSE #include "../portable/IAR/ATMega323/portmacro.h"
#include "portmacro.h" #endif
#endif
#ifdef MPLAB_PIC24_PORT
#ifdef ROWLEY_LPC23xx #include "..\..\Source\portable\MPLAB\PIC24_dsPIC\portmacro.h"
#include "../../Source/portable/GCC/ARM7_LPC23xx/portmacro.h" #endif
#endif
#ifdef MPLAB_DSPIC_PORT
#ifdef IAR_MSP430 #include "..\..\Source\portable\MPLAB\PIC24_dsPIC\portmacro.h"
#include "..\..\Source\portable\IAR\MSP430\portmacro.h" #endif
#endif
#ifdef MPLAB_PIC18F_PORT
#ifdef GCC_MSP430 #include "..\..\Source\portable\MPLAB\PIC18F\portmacro.h"
#include "../../Source/portable/GCC/MSP430F449/portmacro.h" #endif
#endif
#ifdef MPLAB_PIC32MX_PORT
#ifdef ROWLEY_MSP430 #include "..\..\Source\portable\MPLAB\PIC32MX\portmacro.h"
#include "../../Source/portable/Rowley/MSP430F449/portmacro.h" #endif
#endif
#ifdef _FEDPICC
#ifdef ARM7_LPC21xx_KEIL_RVDS #include "libFreeRTOS/Include/portmacro.h"
#include "..\..\Source\portable\RVDS\ARM7_LPC21xx\portmacro.h" #endif
#endif
#ifdef SDCC_CYGNAL
#ifdef SAM7_GCC #include "../../Source/portable/SDCC/Cygnal/portmacro.h"
#include "../../Source/portable/GCC/ARM7_AT91SAM7S/portmacro.h" #endif
#endif
#ifdef GCC_ARM7
#ifdef SAM7_IAR #include "../../Source/portable/GCC/ARM7_LPC2000/portmacro.h"
#include "..\..\Source\portable\IAR\AtmelSAM7S64\portmacro.h" #endif
#endif
#ifdef GCC_ARM7_ECLIPSE
#ifdef SAM9XE_IAR #include "portmacro.h"
#include "..\..\Source\portable\IAR\AtmelSAM9XE\portmacro.h" #endif
#endif
#ifdef ROWLEY_LPC23xx
#ifdef LPC2000_IAR #include "../../Source/portable/GCC/ARM7_LPC23xx/portmacro.h"
#include "..\..\Source\portable\IAR\LPC2000\portmacro.h" #endif
#endif
#ifdef IAR_MSP430
#ifdef STR71X_IAR #include "..\..\Source\portable\IAR\MSP430\portmacro.h"
#include "..\..\Source\portable\IAR\STR71x\portmacro.h" #endif
#endif
#ifdef GCC_MSP430
#ifdef STR75X_IAR #include "../../Source/portable/GCC/MSP430F449/portmacro.h"
#include "..\..\Source\portable\IAR\STR75x\portmacro.h" #endif
#endif
#ifdef ROWLEY_MSP430
#ifdef STR75X_GCC #include "../../Source/portable/Rowley/MSP430F449/portmacro.h"
#include "..\..\Source\portable\GCC\STR75x\portmacro.h" #endif
#endif
#ifdef ARM7_LPC21xx_KEIL_RVDS
#ifdef STR91X_IAR #include "..\..\Source\portable\RVDS\ARM7_LPC21xx\portmacro.h"
#include "..\..\Source\portable\IAR\STR91x\portmacro.h" #endif
#endif
#ifdef SAM7_GCC
#ifdef GCC_H8S #include "../../Source/portable/GCC/ARM7_AT91SAM7S/portmacro.h"
#include "../../Source/portable/GCC/H8S2329/portmacro.h" #endif
#endif
#ifdef SAM7_IAR
#ifdef GCC_AT91FR40008 #include "..\..\Source\portable\IAR\AtmelSAM7S64\portmacro.h"
#include "../../Source/portable/GCC/ARM7_AT91FR40008/portmacro.h" #endif
#endif
#ifdef SAM9XE_IAR
#ifdef RVDS_ARMCM3_LM3S102 #include "..\..\Source\portable\IAR\AtmelSAM9XE\portmacro.h"
#include "../../Source/portable/RVDS/ARM_CM3/portmacro.h" #endif
#endif
#ifdef LPC2000_IAR
#ifdef GCC_ARMCM3_LM3S102 #include "..\..\Source\portable\IAR\LPC2000\portmacro.h"
#include "../../Source/portable/GCC/ARM_CM3/portmacro.h" #endif
#endif
#ifdef STR71X_IAR
#ifdef GCC_ARMCM3 #include "..\..\Source\portable\IAR\STR71x\portmacro.h"
#include "../../Source/portable/GCC/ARM_CM3/portmacro.h" #endif
#endif
#ifdef STR75X_IAR
#ifdef IAR_ARM_CM3 #include "..\..\Source\portable\IAR\STR75x\portmacro.h"
#include "../../Source/portable/IAR/ARM_CM3/portmacro.h" #endif
#endif
#ifdef STR75X_GCC
#ifdef IAR_ARMCM3_LM #include "..\..\Source\portable\GCC\STR75x\portmacro.h"
#include "../../Source/portable/IAR/ARM_CM3/portmacro.h" #endif
#endif
#ifdef STR91X_IAR
#ifdef HCS12_CODE_WARRIOR #include "..\..\Source\portable\IAR\STR91x\portmacro.h"
#include "../../Source/portable/CodeWarrior/HCS12/portmacro.h" #endif
#endif
#ifdef GCC_H8S
#ifdef MICROBLAZE_GCC #include "../../Source/portable/GCC/H8S2329/portmacro.h"
#include "../../Source/portable/GCC/MicroBlaze/portmacro.h" #endif
#endif
#ifdef GCC_AT91FR40008
#ifdef TERN_EE #include "../../Source/portable/GCC/ARM7_AT91FR40008/portmacro.h"
#include "..\..\Source\portable\Paradigm\Tern_EE\small\portmacro.h" #endif
#endif
#ifdef RVDS_ARMCM3_LM3S102
#ifdef GCC_HCS12 #include "../../Source/portable/RVDS/ARM_CM3/portmacro.h"
#include "../../Source/portable/GCC/HCS12/portmacro.h" #endif
#endif
#ifdef GCC_ARMCM3_LM3S102
#ifdef GCC_MCF5235 #include "../../Source/portable/GCC/ARM_CM3/portmacro.h"
#include "../../Source/portable/GCC/MCF5235/portmacro.h" #endif
#endif
#ifdef GCC_ARMCM3
#ifdef COLDFIRE_V2_GCC #include "../../Source/portable/GCC/ARM_CM3/portmacro.h"
#include "../../../Source/portable/GCC/ColdFire_V2/portmacro.h" #endif
#endif
#ifdef IAR_ARM_CM3
#ifdef COLDFIRE_V2_CODEWARRIOR #include "../../Source/portable/IAR/ARM_CM3/portmacro.h"
#include "../../Source/portable/CodeWarrior/ColdFire_V2/portmacro.h" #endif
#endif
#ifdef IAR_ARMCM3_LM
#ifdef GCC_PPC405 #include "../../Source/portable/IAR/ARM_CM3/portmacro.h"
#include "../../Source/portable/GCC/PPC405_Xilinx/portmacro.h" #endif
#endif
#ifdef HCS12_CODE_WARRIOR
#ifdef GCC_PPC440 #include "../../Source/portable/CodeWarrior/HCS12/portmacro.h"
#include "../../Source/portable/GCC/PPC440_Xilinx/portmacro.h" #endif
#endif
#ifdef MICROBLAZE_GCC
#ifdef _16FX_SOFTUNE #include "../../Source/portable/GCC/MicroBlaze/portmacro.h"
#include "..\..\Source\portable\Softune\MB96340\portmacro.h" #endif
#endif
#ifdef TERN_EE
#ifdef BCC_INDUSTRIAL_PC_PORT #include "..\..\Source\portable\Paradigm\Tern_EE\small\portmacro.h"
/* A short file name has to be used in place of the normal #endif
FreeRTOSConfig.h when using the Borland compiler. */
#include "frconfig.h" #ifdef GCC_HCS12
#include "..\portable\BCC\16BitDOS\PC\prtmacro.h" #include "../../Source/portable/GCC/HCS12/portmacro.h"
typedef void ( __interrupt __far *pxISR )(); #endif
#endif
#ifdef GCC_MCF5235
#ifdef BCC_FLASH_LITE_186_PORT #include "../../Source/portable/GCC/MCF5235/portmacro.h"
/* A short file name has to be used in place of the normal #endif
FreeRTOSConfig.h when using the Borland compiler. */
#include "frconfig.h" #ifdef COLDFIRE_V2_GCC
#include "..\portable\BCC\16BitDOS\flsh186\prtmacro.h" #include "../../../Source/portable/GCC/ColdFire_V2/portmacro.h"
typedef void ( __interrupt __far *pxISR )(); #endif
#endif
#ifdef COLDFIRE_V2_CODEWARRIOR
#ifdef __GNUC__ #include "../../Source/portable/CodeWarrior/ColdFire_V2/portmacro.h"
#ifdef __AVR32_AVR32A__ #endif
#include "portmacro.h"
#endif #ifdef GCC_PPC405
#endif #include "../../Source/portable/GCC/PPC405_Xilinx/portmacro.h"
#endif
#ifdef __ICCAVR32__
#ifdef __CORE__ #ifdef GCC_PPC440
#if __CORE__ == __AVR32A__ #include "../../Source/portable/GCC/PPC440_Xilinx/portmacro.h"
#include "portmacro.h" #endif
#endif
#endif #ifdef _16FX_SOFTUNE
#endif #include "..\..\Source\portable\Softune\MB96340\portmacro.h"
#endif
#ifdef __91467D
#include "portmacro.h" #ifdef BCC_INDUSTRIAL_PC_PORT
#endif /* A short file name has to be used in place of the normal
FreeRTOSConfig.h when using the Borland compiler. */
#ifdef __96340 #include "frconfig.h"
#include "portmacro.h" #include "..\portable\BCC\16BitDOS\PC\prtmacro.h"
#endif typedef void ( __interrupt __far *pxISR )();
#endif
#ifdef __IAR_V850ES_Fx3__ #ifdef BCC_FLASH_LITE_186_PORT
#include "../../Source/portable/IAR/V850ES/portmacro.h" /* A short file name has to be used in place of the normal
#endif FreeRTOSConfig.h when using the Borland compiler. */
#include "frconfig.h"
#ifdef __IAR_V850ES_Jx3__ #include "..\portable\BCC\16BitDOS\flsh186\prtmacro.h"
#include "../../Source/portable/IAR/V850ES/portmacro.h" typedef void ( __interrupt __far *pxISR )();
#endif #endif
#ifdef __IAR_V850ES_Jx3_L__ #ifdef __GNUC__
#include "../../Source/portable/IAR/V850ES/portmacro.h" #ifdef __AVR32_AVR32A__
#endif #include "portmacro.h"
#endif
#ifdef __IAR_V850ES_Jx2__ #endif
#include "../../Source/portable/IAR/V850ES/portmacro.h"
#endif #ifdef __ICCAVR32__
#ifdef __CORE__
#ifdef __IAR_V850ES_Hx2__ #if __CORE__ == __AVR32A__
#include "../../Source/portable/IAR/V850ES/portmacro.h" #include "portmacro.h"
#endif #endif
#endif
#ifdef __IAR_78K0R_Kx3__ #endif
#include "../../Source/portable/IAR/78K0R/portmacro.h"
#endif #ifdef __91467D
#include "portmacro.h"
#ifdef __IAR_78K0R_Kx3L__ #endif
#include "../../Source/portable/IAR/78K0R/portmacro.h"
#endif #ifdef __96340
#include "portmacro.h"
//--------------------------------------------------------------------+ #endif
// TinyUSB modification
//--------------------------------------------------------------------+
#if defined __CC_ARM #ifdef __IAR_V850ES_Fx3__
#if __CORTEX_M == 4 // TODO M0 M4 #include "../../Source/portable/IAR/V850ES/portmacro.h"
#define PORTMACRO_PATH "../portable/RVDS/ARM_CM4F/portmacro.h" #endif
#elif __CORTEX_M == 3
#define PORTMACRO_PATH "../portable/RVDS/ARM_CM3/portmacro.h" #ifdef __IAR_V850ES_Jx3__
#endif #include "../../Source/portable/IAR/V850ES/portmacro.h"
#endif
#elif defined __GNUC__
#if __CORTEX_M == 4 // TODO M0 M4 #ifdef __IAR_V850ES_Jx3_L__
#define PORTMACRO_PATH "../portable/GCC/ARM_CM4F/portmacro.h" #include "../../Source/portable/IAR/V850ES/portmacro.h"
#elif __CORTEX_M == 3 #endif
#define PORTMACRO_PATH "../portable/GCC/ARM_CM3/portmacro.h"
#endif #ifdef __IAR_V850ES_Jx2__
#endif #include "../../Source/portable/IAR/V850ES/portmacro.h"
#endif
#ifndef PORTMACRO_PATH
#error portmacro.h path is not defined for this toolchain and/or MCU #ifdef __IAR_V850ES_Hx2__
#endif #include "../../Source/portable/IAR/V850ES/portmacro.h"
#endif
#include PORTMACRO_PATH
#ifdef __IAR_78K0R_Kx3__
#include "../../Source/portable/IAR/78K0R/portmacro.h"
/* Catch all to ensure portmacro.h is included in the build. Newer demos #endif
have the path as part of the project options, rather than as relative from
the project location. If portENTER_CRITICAL() has not been defined then #ifdef __IAR_78K0R_Kx3L__
portmacro.h has not yet been included - as every portmacro.h provides a #include "../../Source/portable/IAR/78K0R/portmacro.h"
portENTER_CRITICAL() definition. Check the demo application for your demo #endif
to find the path to the correct portmacro.h file. */
#ifndef portENTER_CRITICAL /* Catch all to ensure portmacro.h is included in the build. Newer demos
#include "portmacro.h" have the path as part of the project options, rather than as relative from
#endif the project location. If portENTER_CRITICAL() has not been defined then
portmacro.h has not yet been included - as every portmacro.h provides a
#if portBYTE_ALIGNMENT == 8 portENTER_CRITICAL() definition. Check the demo application for your demo
#define portBYTE_ALIGNMENT_MASK ( 0x0007 ) to find the path to the correct portmacro.h file. */
#endif #ifndef portENTER_CRITICAL
#include "portmacro.h"
#if portBYTE_ALIGNMENT == 4 #endif
#define portBYTE_ALIGNMENT_MASK ( 0x0003 )
#endif #if portBYTE_ALIGNMENT == 8
#define portBYTE_ALIGNMENT_MASK ( 0x0007 )
#if portBYTE_ALIGNMENT == 2 #endif
#define portBYTE_ALIGNMENT_MASK ( 0x0001 )
#endif #if portBYTE_ALIGNMENT == 4
#define portBYTE_ALIGNMENT_MASK ( 0x0003 )
#if portBYTE_ALIGNMENT == 1 #endif
#define portBYTE_ALIGNMENT_MASK ( 0x0000 )
#endif #if portBYTE_ALIGNMENT == 2
#define portBYTE_ALIGNMENT_MASK ( 0x0001 )
#ifndef portBYTE_ALIGNMENT_MASK #endif
#error "Invalid portBYTE_ALIGNMENT definition"
#endif #if portBYTE_ALIGNMENT == 1
#define portBYTE_ALIGNMENT_MASK ( 0x0000 )
#ifndef portNUM_CONFIGURABLE_REGIONS #endif
#define portNUM_CONFIGURABLE_REGIONS 1
#endif #ifndef portBYTE_ALIGNMENT_MASK
#error "Invalid portBYTE_ALIGNMENT definition"
#ifdef __cplusplus #endif
extern "C" {
#endif #ifndef portNUM_CONFIGURABLE_REGIONS
#define portNUM_CONFIGURABLE_REGIONS 1
#include "mpu_wrappers.h" #endif
/* #ifdef __cplusplus
* Setup the stack of a new task so it is ready to be placed under the extern "C" {
* scheduler control. The registers have to be placed on the stack in #endif
* the order that the port expects to find them.
* #include "mpu_wrappers.h"
*/
#if( portUSING_MPU_WRAPPERS == 1 ) /*
portSTACK_TYPE *pxPortInitialiseStack( portSTACK_TYPE *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters, portBASE_TYPE xRunPrivileged ) PRIVILEGED_FUNCTION; * Setup the stack of a new task so it is ready to be placed under the
#else * scheduler control. The registers have to be placed on the stack in
portSTACK_TYPE *pxPortInitialiseStack( portSTACK_TYPE *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters ); * the order that the port expects to find them.
#endif *
*/
/* #if( portUSING_MPU_WRAPPERS == 1 )
* Map to the memory management routines required for the port. portSTACK_TYPE *pxPortInitialiseStack( portSTACK_TYPE *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters, portBASE_TYPE xRunPrivileged ) PRIVILEGED_FUNCTION;
*/ #else
void *pvPortMalloc( size_t xSize ) PRIVILEGED_FUNCTION; portSTACK_TYPE *pxPortInitialiseStack( portSTACK_TYPE *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters );
void vPortFree( void *pv ) PRIVILEGED_FUNCTION; #endif
void vPortInitialiseBlocks( void ) PRIVILEGED_FUNCTION;
size_t xPortGetFreeHeapSize( void ) PRIVILEGED_FUNCTION; /*
* Map to the memory management routines required for the port.
/* */
* Setup the hardware ready for the scheduler to take control. This generally void *pvPortMalloc( size_t xSize ) PRIVILEGED_FUNCTION;
* sets up a tick interrupt and sets timers for the correct tick frequency. void vPortFree( void *pv ) PRIVILEGED_FUNCTION;
*/ void vPortInitialiseBlocks( void ) PRIVILEGED_FUNCTION;
portBASE_TYPE xPortStartScheduler( void ) PRIVILEGED_FUNCTION; size_t xPortGetFreeHeapSize( void ) PRIVILEGED_FUNCTION;
/* /*
* Undo any hardware/ISR setup that was performed by xPortStartScheduler() so * Setup the hardware ready for the scheduler to take control. This generally
* the hardware is left in its original condition after the scheduler stops * sets up a tick interrupt and sets timers for the correct tick frequency.
* executing. */
*/ portBASE_TYPE xPortStartScheduler( void ) PRIVILEGED_FUNCTION;
void vPortEndScheduler( void ) PRIVILEGED_FUNCTION;
/*
/* * Undo any hardware/ISR setup that was performed by xPortStartScheduler() so
* The structures and methods of manipulating the MPU are contained within the * the hardware is left in its original condition after the scheduler stops
* port layer. * executing.
* */
* Fills the xMPUSettings structure with the memory region information void vPortEndScheduler( void ) PRIVILEGED_FUNCTION;
* contained in xRegions.
*/ /*
#if( portUSING_MPU_WRAPPERS == 1 ) * The structures and methods of manipulating the MPU are contained within the
struct xMEMORY_REGION; * port layer.
void vPortStoreTaskMPUSettings( xMPU_SETTINGS *xMPUSettings, const struct xMEMORY_REGION * const xRegions, portSTACK_TYPE *pxBottomOfStack, unsigned short usStackDepth ) PRIVILEGED_FUNCTION; *
#endif * Fills the xMPUSettings structure with the memory region information
* contained in xRegions.
#ifdef __cplusplus */
} #if( portUSING_MPU_WRAPPERS == 1 )
#endif struct xMEMORY_REGION;
void vPortStoreTaskMPUSettings( xMPU_SETTINGS *xMPUSettings, const struct xMEMORY_REGION * const xRegions, portSTACK_TYPE *pxBottomOfStack, unsigned short usStackDepth ) PRIVILEGED_FUNCTION;
#endif /* PORTABLE_H */ #endif
#ifdef __cplusplus
}
#endif
#endif /* PORTABLE_H */