Tidy up the IAR SmartFusion demo reading for release.

pull/1/head
Richard Barry 14 years ago
parent f6879be327
commit f155921461

@ -58,14 +58,6 @@
*/ */
/* The following #error directive is to remind users that a batch file must be
* executed prior to this project being built. The batch file *cannot* be
* executed from within CCS4! Once it has been executed, re-open or refresh
* the CCS4 project and remove the #error line below.
*/
//#error Ensure CreateProjectDirectoryStructure.bat has been executed before building. See comment immediately above.
#ifndef FREERTOS_CONFIG_H #ifndef FREERTOS_CONFIG_H
#define FREERTOS_CONFIG_H #define FREERTOS_CONFIG_H

@ -1671,7 +1671,7 @@
</debuggerPlugins> </debuggerPlugins>
</configuration> </configuration>
<configuration> <configuration>
<name>Full-with-optimisation</name> <name>Full_with_optimisation</name>
<toolchain> <toolchain>
<name>ARM</name> <name>ARM</name>
</toolchain> </toolchain>

@ -1142,6 +1142,8 @@
<state>$PROJ_DIR$/MicroSemi_Code/CMSIS</state> <state>$PROJ_DIR$/MicroSemi_Code/CMSIS</state>
<state>$PROJ_DIR$/MicroSemi_Code/drivers/mss_gpio</state> <state>$PROJ_DIR$/MicroSemi_Code/drivers/mss_gpio</state>
<state>$PROJ_DIR$/MicroSemi_Code/drivers/mss_watchdog</state> <state>$PROJ_DIR$/MicroSemi_Code/drivers/mss_watchdog</state>
<state>$PROJ_DIR$/MicroSemi_Code/drivers/mss_ace</state>
<state>$PROJ_DIR$/MicroSemi_Code/drivers_config/mss_ace</state>
<state>$PROJ_DIR$/WebServer</state> <state>$PROJ_DIR$/WebServer</state>
<state>$PROJ_DIR$/../Common/ethernet/FreeTCPIP/apps/httpd</state> <state>$PROJ_DIR$/../Common/ethernet/FreeTCPIP/apps/httpd</state>
<state>$PROJ_DIR$/../Common/ethernet/FreeTCPIP</state> <state>$PROJ_DIR$/../Common/ethernet/FreeTCPIP</state>
@ -1733,7 +1735,7 @@
</settings> </settings>
</configuration> </configuration>
<configuration> <configuration>
<name>Full-with-optimisation</name> <name>Full_with_optimisation</name>
<toolchain> <toolchain>
<name>ARM</name> <name>ARM</name>
</toolchain> </toolchain>
@ -1747,15 +1749,15 @@
<debug>1</debug> <debug>1</debug>
<option> <option>
<name>ExePath</name> <name>ExePath</name>
<state>Full-with-optimisation\Exe</state> <state>Full_with_optimisation\Exe</state>
</option> </option>
<option> <option>
<name>ObjPath</name> <name>ObjPath</name>
<state>Full-with-optimisation\Obj</state> <state>Full_with_optimisation\Obj</state>
</option> </option>
<option> <option>
<name>ListPath</name> <name>ListPath</name>
<state>Full-with-optimisation\List</state> <state>Full_with_optimisation\List</state>
</option> </option>
<option> <option>
<name>Variant</name> <name>Variant</name>
@ -2011,6 +2013,8 @@
<state>$PROJ_DIR$/MicroSemi_Code/CMSIS</state> <state>$PROJ_DIR$/MicroSemi_Code/CMSIS</state>
<state>$PROJ_DIR$/MicroSemi_Code/drivers/mss_gpio</state> <state>$PROJ_DIR$/MicroSemi_Code/drivers/mss_gpio</state>
<state>$PROJ_DIR$/MicroSemi_Code/drivers/mss_watchdog</state> <state>$PROJ_DIR$/MicroSemi_Code/drivers/mss_watchdog</state>
<state>$PROJ_DIR$/MicroSemi_Code/drivers/mss_ace</state>
<state>$PROJ_DIR$/MicroSemi_Code/drivers_config/mss_ace</state>
<state>$PROJ_DIR$/WebServer</state> <state>$PROJ_DIR$/WebServer</state>
<state>$PROJ_DIR$/../Common/ethernet/FreeTCPIP/apps/httpd</state> <state>$PROJ_DIR$/../Common/ethernet/FreeTCPIP/apps/httpd</state>
<state>$PROJ_DIR$/../Common/ethernet/FreeTCPIP</state> <state>$PROJ_DIR$/../Common/ethernet/FreeTCPIP</state>
@ -2695,6 +2699,18 @@
</group> </group>
<group> <group>
<name>Drivers</name> <name>Drivers</name>
<file>
<name>$PROJ_DIR$\MicroSemi_Code\drivers_config\mss_ace\ace_config.c</name>
<excluded>
<configuration>Blinky</configuration>
</excluded>
</file>
<file>
<name>$PROJ_DIR$\MicroSemi_Code\drivers\mss_ace\ace_convert.c</name>
<excluded>
<configuration>Blinky</configuration>
</excluded>
</file>
<file> <file>
<name>$PROJ_DIR$\MicroSemi_Code\drivers\mss_ethernet_mac\crc32.c</name> <name>$PROJ_DIR$\MicroSemi_Code\drivers\mss_ethernet_mac\crc32.c</name>
<excluded> <excluded>
@ -2707,6 +2723,248 @@
<configuration>Blinky</configuration> <configuration>Blinky</configuration>
</excluded> </excluded>
</file> </file>
<file>
<name>$PROJ_DIR$\MicroSemi_Code\drivers\mss_ace\mss_ace.c</name>
<excluded>
<configuration>Blinky</configuration>
</excluded>
<configuration>
<name>Blinky</name>
<settings>
<name>ICCARM</name>
<data>
<version>26</version>
<wantNonLocal>0</wantNonLocal>
<debug>1</debug>
<option>
<name>CCDefines</name>
<state></state>
</option>
<option>
<name>CCPreprocFile</name>
<state>0</state>
</option>
<option>
<name>CCPreprocComments</name>
<state>0</state>
</option>
<option>
<name>CCPreprocLine</name>
<state>0</state>
</option>
<option>
<name>CCListCFile</name>
<state>0</state>
</option>
<option>
<name>CCListCMnemonics</name>
<state>0</state>
</option>
<option>
<name>CCListCMessages</name>
<state>0</state>
</option>
<option>
<name>CCListAssFile</name>
<state>0</state>
</option>
<option>
<name>CCListAssSource</name>
<state>0</state>
</option>
<option>
<name>CCEnableRemarks</name>
<state>0</state>
</option>
<option>
<name>CCDiagSuppress</name>
<state>Pa082</state>
</option>
<option>
<name>CCDiagRemark</name>
<state></state>
</option>
<option>
<name>CCDiagWarning</name>
<state></state>
</option>
<option>
<name>CCDiagError</name>
<state></state>
</option>
<option>
<name>CCObjPrefix</name>
<state>1</state>
</option>
<option>
<name>CCAllowList</name>
<version>1</version>
<state>0000000</state>
</option>
<option>
<name>CCDebugInfo</name>
<state>1</state>
</option>
<option>
<name>IEndianMode</name>
<state>1</state>
</option>
<option>
<name>IProcessor</name>
<state>1</state>
</option>
<option>
<name>IExtraOptionsCheck</name>
<state>0</state>
</option>
<option>
<name>IExtraOptions</name>
<state></state>
</option>
<option>
<name>CCLangConformance</name>
<state>0</state>
</option>
<option>
<name>CCSignedPlainChar</name>
<state>1</state>
</option>
<option>
<name>CCRequirePrototypes</name>
<state>0</state>
</option>
<option>
<name>CCMultibyteSupport</name>
<state>0</state>
</option>
<option>
<name>CCDiagWarnAreErr</name>
<state>0</state>
</option>
<option>
<name>CCCompilerRuntimeInfo</name>
<state>0</state>
</option>
<option>
<name>IFpuProcessor</name>
<state>1</state>
</option>
<option>
<name>OutputFile</name>
<state>$FILE_BNAME$.o</state>
</option>
<option>
<name>CCLibConfigHeader</name>
<state>1</state>
</option>
<option>
<name>PreInclude</name>
<state></state>
</option>
<option>
<name>CompilerMisraOverride</name>
<state>0</state>
</option>
<option>
<name>CCIncludePath2</name>
<state>$PROJ_DIR$/../../Source/include</state>
<state>$PROJ_DIR$/../../Source/portable/IAR/ARM_CM3</state>
<state>$PROJ_DIR$</state>
<state>$PROJ_DIR$/MicroSemi_Code/CMSIS</state>
<state>$PROJ_DIR$/MicroSemi_Code/drivers/mss_gpio</state>
<state>$PROJ_DIR$/MicroSemi_Code/drivers/mss_watchdog</state>
</option>
<option>
<name>CCStdIncCheck</name>
<state>0</state>
</option>
<option>
<name>CCCodeSection</name>
<state>.text</state>
</option>
<option>
<name>IInterwork2</name>
<state>0</state>
</option>
<option>
<name>IProcessorMode2</name>
<state>1</state>
</option>
<option>
<name>CCOptLevel</name>
<state>0</state>
</option>
<option>
<name>CCOptStrategy</name>
<version>0</version>
<state>0</state>
</option>
<option>
<name>CCOptLevelSlave</name>
<state>0</state>
</option>
<option>
<name>CompilerMisraRules98</name>
<version>0</version>
<state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>
</option>
<option>
<name>CompilerMisraRules04</name>
<version>0</version>
<state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>
</option>
<option>
<name>CCPosIndRopi</name>
<state>0</state>
</option>
<option>
<name>CCPosIndRwpi</name>
<state>0</state>
</option>
<option>
<name>CCPosIndNoDynInit</name>
<state>0</state>
</option>
<option>
<name>IccLang</name>
<state>0</state>
</option>
<option>
<name>IccCDialect</name>
<state>1</state>
</option>
<option>
<name>IccAllowVLA</name>
<state>0</state>
</option>
<option>
<name>IccCppDialect</name>
<state>1</state>
</option>
<option>
<name>IccExceptions</name>
<state>1</state>
</option>
<option>
<name>IccRTTI</name>
<state>1</state>
</option>
<option>
<name>IccStaticDestr</name>
<state>1</state>
</option>
<option>
<name>IccRelaxedFpPrecision</name>
<state>0</state>
</option>
<option>
<name>IccCppInlineSemantics</name>
<state>0</state>
</option>
</data>
</settings>
</configuration>
</file>
<file> <file>
<name>$PROJ_DIR$\MicroSemi_Code\drivers\mss_ethernet_mac\mss_ethernet_mac.c</name> <name>$PROJ_DIR$\MicroSemi_Code\drivers\mss_ethernet_mac\mss_ethernet_mac.c</name>
<excluded> <excluded>
@ -2758,7 +3016,7 @@
<name>$PROJ_DIR$\main-blinky.c</name> <name>$PROJ_DIR$\main-blinky.c</name>
<excluded> <excluded>
<configuration>Full</configuration> <configuration>Full</configuration>
<configuration>Full-with-optimisation</configuration> <configuration>Full_with_optimisation</configuration>
</excluded> </excluded>
</file> </file>
<file> <file>

@ -49,6 +49,7 @@
#include "apps/httpd/httpd.h" #include "apps/httpd/httpd.h"
#include "apps/httpd/httpd-cgi.h" #include "apps/httpd/httpd-cgi.h"
#include "apps/httpd/httpd-fs.h" #include "apps/httpd/httpd-fs.h"
#include "mss_ace.h"
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
@ -210,6 +211,8 @@ static unsigned short generate_io_state( void *arg )
{ {
extern long lParTestGetLEDState( unsigned long ulLED ); extern long lParTestGetLEDState( unsigned long ulLED );
( void ) arg; ( void ) arg;
unsigned short usRawVoltage;
const ace_channel_handle_t xVoltageChannel = ( ace_channel_handle_t ) 0;
/* Are the dynamically setable LEDs currently on or off? */ /* Are the dynamically setable LEDs currently on or off? */
if( lParTestGetLEDState( 3 ) ) if( lParTestGetLEDState( 3 ) )
@ -221,7 +224,8 @@ static unsigned short generate_io_state( void *arg )
pcStatus = ""; pcStatus = "";
} }
sprintf( uip_appdata, "<input type=\"checkbox\" name=\"LED0\" value=\"1\" %s>LED<p><p>", pcStatus ); usRawVoltage = ( unsigned short ) ACE_get_ppe_sample( xVoltageChannel );
sprintf( uip_appdata, "<input type=\"checkbox\" name=\"LED0\" value=\"1\" %s>LED<p><p><p>Raw voltage input is %d", pcStatus, usRawVoltage );
return strlen( uip_appdata ); return strlen( uip_appdata );
} }

@ -308,6 +308,8 @@ unsigned long ulReceivedValue;
static void prvSetupHardware( void ) static void prvSetupHardware( void )
{ {
SystemCoreClockUpdate();
/* Disable the Watch Dog Timer */ /* Disable the Watch Dog Timer */
MSS_WD_disable( ); MSS_WD_disable( );
@ -376,4 +378,21 @@ volatile size_t xFreeStackSpace;
reduced accordingly. */ reduced accordingly. */
} }
} }
/*-----------------------------------------------------------*/
void vMainConfigureTimerForRunTimeStats( void )
{
/* This function is not used by the Blinky build configuration, but needs
to be defined as the Blinky and Full build configurations share a
FreeRTOSConfig.h header file. */
}
/*-----------------------------------------------------------*/
unsigned long ulGetRunTimeCounterValue( void )
{
/* This function is not used by the Blinky build configuration, but needs
to be defined as the Blinky and Full build configurations share a
FreeRTOSConfig.h header file. */
return 0UL;
}

@ -148,6 +148,7 @@
#include "mss_gpio.h" #include "mss_gpio.h"
#include "mss_watchdog.h" #include "mss_watchdog.h"
#include "mss_timer.h" #include "mss_timer.h"
#include "mss_ace.h"
#include "oled.h" #include "oled.h"
/* Common demo includes. */ /* Common demo includes. */
@ -552,6 +553,9 @@ static void prvSetupHardware( void )
/* Configure the GPIO for the LEDs. */ /* Configure the GPIO for the LEDs. */
vParTestInitialise(); vParTestInitialise();
/* ACE Initialization */
ACE_init();
/* Setup the GPIO and the NVIC for the switch used in this simple demo. */ /* Setup the GPIO and the NVIC for the switch used in this simple demo. */
NVIC_SetPriority( GPIO8_IRQn, configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY ); NVIC_SetPriority( GPIO8_IRQn, configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY );
NVIC_EnableIRQ( GPIO8_IRQn ); NVIC_EnableIRQ( GPIO8_IRQn );
@ -628,6 +632,7 @@ const unsigned long ulMax32BitValue = 0xffffffffUL;
MSS_TIM64_start(); MSS_TIM64_start();
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
unsigned long ulGetRunTimeCounterValue( void ) unsigned long ulGetRunTimeCounterValue( void )
{ {
unsigned long long ullCurrentValue; unsigned long long ullCurrentValue;

@ -159,8 +159,8 @@ clock_time_t clock_time( void )
void vuIP_Task( void *pvParameters ) void vuIP_Task( void *pvParameters )
{ {
portBASE_TYPE i; portBASE_TYPE i;
unsigned long ulNewEvent = 0UL; unsigned long ulNewEvent = 0UL, ulUIP_Events = 0UL;
unsigned long ulUIP_Events = 0UL; long lPacketLength;
/* Just to prevent compiler warnings about the unused parameter. */ /* Just to prevent compiler warnings about the unused parameter. */
( void ) pvParameters; ( void ) pvParameters;
@ -174,11 +174,13 @@ unsigned long ulUIP_Events = 0UL;
for( ;; ) for( ;; )
{ {
/* Is there received data ready to be processed? */ /* Is there received data ready to be processed? */
uip_len = MSS_MAC_rx_packet(); lPacketLength = MSS_MAC_rx_packet();
/* Statements to be executed if data has been received on the Ethernet. */ /* Statements to be executed if data has been received on the Ethernet. */
if( ( uip_len > 0 ) && ( uip_buf != NULL ) ) if( ( lPacketLength > 0 ) && ( uip_buf != NULL ) )
{ {
uip_len = ( u16_t ) lPacketLength;
/* Standard uIP loop taken from the uIP manual. */ /* Standard uIP loop taken from the uIP manual. */
if( xHeader->type == htons( UIP_ETHTYPE_IP ) ) if( xHeader->type == htons( UIP_ETHTYPE_IP ) )
{ {
@ -356,7 +358,7 @@ void vEMACWrite( void )
{ {
const long lMaxAttempts = 10; const long lMaxAttempts = 10;
long lAttempt; long lAttempt;
const portTickType xShortDelay = ( 10 / portTICK_RATE_MS ); const portTickType xShortDelay = ( 5 / portTICK_RATE_MS );
/* Try to send data to the Ethernet. Keep trying for a while if data cannot /* Try to send data to the Ethernet. Keep trying for a while if data cannot
be sent immediately. Note that this will actually cause the data to be sent be sent immediately. Note that this will actually cause the data to be sent

Loading…
Cancel
Save