Work-in-progress check in of MicroBlaze Kintex7 demo.

This commit is contained in:
Richard Barry
2015-03-10 15:58:19 +00:00
parent 96e72413f7
commit 3012d9b94d
19 changed files with 7584 additions and 34 deletions

View File

@ -512,7 +512,7 @@ TickType_t xTimeNow;
/* No mutual exclusion on xOkToGiveMutex, but this is only test code (and
only executed on a 32-bit architecture) so ignore that in this case. */
xTimeNow = xTaskGetTickCountFromISR();
if( ( xTimeNow - xLastGiveTime ) >= pdMS_TO_TICKS( intsemINTERRUPT_MUTEX_GIVE_PERIOD_MS ) )
if( ( ( TickType_t ) ( xTimeNow - xLastGiveTime ) ) >= pdMS_TO_TICKS( intsemINTERRUPT_MUTEX_GIVE_PERIOD_MS ) )
{
configASSERT( xISRMutex );
if( xOkToGiveMutex != pdFALSE )

View File

@ -395,9 +395,13 @@ static void prvTest3_CheckAutoReloadExpireRates( void )
{
uint8_t ucMaxAllowableValue, ucMinAllowableValue, ucTimer;
TickType_t xBlockPeriod, xTimerPeriod, xExpectedNumber;
UBaseType_t uxOriginalPriority;
/* Check the auto reload timers expire at the expected rates. */
/* Check the auto reload timers expire at the expected rates. Do this at a
high priority for maximum accuracy. This is ok as most of the time is spent
in the Blocked state. */
uxOriginalPriority = uxTaskPriorityGet( NULL );
vTaskPrioritySet( NULL, ( configMAX_PRIORITIES - 1 ) );
/* Delaying for configTIMER_QUEUE_LENGTH * xBasePeriod ticks should allow
all the auto reload timers to expire at least once. */
@ -425,6 +429,9 @@ TickType_t xBlockPeriod, xTimerPeriod, xExpectedNumber;
}
}
/* Return to the original priority. */
vTaskPrioritySet( NULL, uxOriginalPriority );
if( xTestStatus == pdPASS )
{
/* No errors have been reported so increment the loop counter so the

View File

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
<storageModule moduleId="org.eclipse.cdt.core.settings">
<cconfiguration id="org.eclipse.cdt.core.default.config.1741365255">
<storageModule buildSystemId="org.eclipse.cdt.core.defaultConfigDataProvider" id="org.eclipse.cdt.core.default.config.1741365255" moduleId="org.eclipse.cdt.core.settings" name="Configuration">
<externalSettings/>
<extensions/>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
</cconfiguration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
</cproject>

View File

@ -0,0 +1,76 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>BSP</name>
<comment>Created by SDK v2014.4</comment>
<projects>
<project>Hardware</project>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.cdt.make.core.makeBuilder</name>
<arguments>
<dictionary>
<key>org.eclipse.cdt.core.errorOutputParser</key>
<value>org.eclipse.cdt.core.GASErrorParser;org.eclipse.cdt.core.GLDErrorParser;org.eclipse.cdt.core.GCCErrorParser;org.eclipse.cdt.core.GmakeErrorParser;org.eclipse.cdt.core.VCErrorParser;org.eclipse.cdt.core.CWDLocator;org.eclipse.cdt.core.MakeErrorParser;</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.append_environment</key>
<value>true</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.build.arguments</key>
<value></value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.build.command</key>
<value>make</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.build.target.auto</key>
<value>all</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.build.target.clean</key>
<value>clean</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.build.target.inc</key>
<value>all</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.enableAutoBuild</key>
<value>true</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.enableCleanBuild</key>
<value>true</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.enableFullBuild</key>
<value>true</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.enabledIncrementalBuild</key>
<value>true</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.environment</key>
<value></value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.stopOnError</key>
<value>false</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key>
<value>true</value>
</dictionary>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>com.xilinx.sdk.sw.SwProjectNature</nature>
<nature>org.eclipse.cdt.core.cnature</nature>
<nature>org.eclipse.cdt.make.core.makeNature</nature>
</natures>
</projectDescription>

View File

@ -0,0 +1,3 @@
THIRPARTY=false
PROCESSOR=microblaze_0
MSS_FILE=system.mss

View File

@ -0,0 +1,31 @@
# Makefile generated by Xilinx.
PROCESSOR = microblaze_0
LIBRARIES = ${PROCESSOR}/lib/libxil.a
BSP_MAKEFILES := $(wildcard $(PROCESSOR)/libsrc/*/src/Makefile)
SUBDIRS := $(patsubst %/Makefile, %, $(BSP_MAKEFILES))
ifneq (,$(findstring win,$(RDI_PLATFORM)))
SHELL = CMD
endif
all: libs
@echo 'Finished building libraries'
include: $(addsuffix /make.include,$(SUBDIRS))
libs: $(addsuffix /make.libs,$(SUBDIRS))
$(PROCESSOR)/lib/libxil.a: $(PROCESSOR)/lib/libxil_init.a
cp -f $< $@
%/make.include: $(if $(wildcard $(PROCESSOR)/lib/libxil_init.a),$(PROCESSOR)/lib/libxil.a,)
@echo "Running Make include in $(subst /make.include,,$@)"
$(MAKE) -C $(subst /make.include,,$@) -s include "SHELL=$(SHELL)" "COMPILER=mb-gcc" "ARCHIVER=mb-ar" "COMPILER_FLAGS= -O2 -c -mcpu=v9.4 -mhard-float -mlittle-endian -mno-xl-soft-div -mno-xl-soft-mul -mxl-barrel-shift -mxl-float-convert -mxl-float-sqrt -mxl-multiply-high -mxl-pattern-compare" "EXTRA_COMPILER_FLAGS=-g -ffunction-sections -fdata-sections"
%/make.libs: include
@echo "Running Make libs in $(subst /make.libs,,$@)"
$(MAKE) -C $(subst /make.libs,,$@) -s libs "SHELL=$(SHELL)" "COMPILER=mb-gcc" "ARCHIVER=mb-ar" "COMPILER_FLAGS= -O2 -c -mcpu=v9.4 -mhard-float -mlittle-endian -mno-xl-soft-div -mno-xl-soft-mul -mxl-barrel-shift -mxl-float-convert -mxl-float-sqrt -mxl-multiply-high -mxl-pattern-compare" "EXTRA_COMPILER_FLAGS=-g -ffunction-sections -fdata-sections"
clean:
rm -f ${PROCESSOR}/lib/libxil.a

View File

@ -0,0 +1,78 @@
PARAMETER NAME = C:\E\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\MicroBlaze_Kintex7_EthernetLite\BSP\system.mss
PARAMETER VERSION = 2.2.0
BEGIN OS
PARAMETER OS_NAME = standalone
PARAMETER OS_VER = 4.2
PARAMETER PROC_INSTANCE = microblaze_0
PARAMETER stdin = axi_uartlite_0
PARAMETER stdout = axi_uartlite_0
END
BEGIN PROCESSOR
PARAMETER DRIVER_NAME = cpu
PARAMETER DRIVER_VER = 2.2
PARAMETER HW_INSTANCE = microblaze_0
END
BEGIN DRIVER
PARAMETER DRIVER_NAME = emaclite
PARAMETER DRIVER_VER = 4.0
PARAMETER HW_INSTANCE = axi_ethernetlite_0
END
BEGIN DRIVER
PARAMETER DRIVER_NAME = gpio
PARAMETER DRIVER_VER = 4.0
PARAMETER HW_INSTANCE = axi_gpio_0
END
BEGIN DRIVER
PARAMETER DRIVER_NAME = intc
PARAMETER DRIVER_VER = 3.2
PARAMETER HW_INSTANCE = axi_intc_0
END
BEGIN DRIVER
PARAMETER DRIVER_NAME = tmrctr
PARAMETER DRIVER_VER = 3.0
PARAMETER HW_INSTANCE = axi_timer_0
END
BEGIN DRIVER
PARAMETER DRIVER_NAME = uartlite
PARAMETER DRIVER_VER = 3.0
PARAMETER HW_INSTANCE = axi_uartlite_0
END
BEGIN DRIVER
PARAMETER DRIVER_NAME = bram
PARAMETER DRIVER_VER = 4.0
PARAMETER HW_INSTANCE = microblaze_0_local_memory_dlmb_bram_if_cntlr
END
BEGIN DRIVER
PARAMETER DRIVER_NAME = bram
PARAMETER DRIVER_VER = 4.0
PARAMETER HW_INSTANCE = microblaze_0_local_memory_ilmb_bram_if_cntlr
END
BEGIN DRIVER
PARAMETER DRIVER_NAME = mig_7series
PARAMETER DRIVER_VER = 2.0
PARAMETER HW_INSTANCE = mig_7series_0
END
BEGIN LIBRARY
PARAMETER LIBRARY_NAME = lwip140
PARAMETER LIBRARY_VER = 2.3
PARAMETER PROC_INSTANCE = microblaze_0
END

View File

@ -0,0 +1,68 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>Hardware</name>
<comment>Created by SDK v2014.4</comment>
<projects>
</projects>
<buildSpec>
</buildSpec>
<natures>
<nature>com.xilinx.sdk.hw.HwProject</nature>
</natures>
<filteredResources>
<filter>
<id>1421760060412</id>
<name></name>
<type>6</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-name-matches-false-false-*.xml</arguments>
</matcher>
</filter>
<filter>
<id>1421760060422</id>
<name></name>
<type>6</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-name-matches-false-false-*.svd</arguments>
</matcher>
</filter>
<filter>
<id>1421760060432</id>
<name></name>
<type>6</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-name-matches-false-false-*.hwh</arguments>
</matcher>
</filter>
<filter>
<id>1421760060432</id>
<name></name>
<type>6</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-name-matches-false-false-*.bit</arguments>
</matcher>
</filter>
<filter>
<id>1421760060442</id>
<name></name>
<type>6</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-name-matches-false-false-*.bmm</arguments>
</matcher>
</filter>
<filter>
<id>1421760060442</id>
<name></name>
<type>6</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-name-matches-false-false-*.mmi</arguments>
</matcher>
</filter>
</filteredResources>
</projectDescription>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,14 @@
<?xml version="1.0"?>
<Project Version="1" Minor="0">
<BUILD_NUMBER Name="1071353"/>
<FULL_BUILD Name="SW Build 1071353 on Tue Nov 18 18:29:27 MST 2014"/>
<MODE Name="Post-Bitstream"/>
<SYSTEMINFO BOARD="xilinx.com:kc705:part0:1.1" ARCH="kintex7" PACKAGE="ffg900" DEVICE="7k325t" SPEED="-2" LUT="" FF="" BRAM="" DSP=""/>
<HIERARCHY Name="base_microblaze_design_i"/>
<File Type="HW_HANDOFF" Name="base_microblaze_design.hwh" ModTime="1421754940"/>
<File Type="BIT" Name="base_microblaze_design_wrapper.bit" ModTime="1421759776"/>
<File Type="BMM" Name="base_microblaze_design_wrapper.mmi" ModTime="1421759676"/>
<File Type="BD_TCL" Name="base_microblaze_design_bd.tcl" ModTime="1421754940"/>
<USEDRESOURCES LUT="" FF="" BRAM="" DSP=""/>
</Project>

View File

@ -115,7 +115,7 @@
</matcher>
</filter>
<filter>
<id>1421425118832</id>
<id>1426001044021</id>
<name>src/Full_Demo/Common_Demo_Source/Minimal</name>
<type>5</type>
<matcher>
@ -124,7 +124,7 @@
</matcher>
</filter>
<filter>
<id>1421425118842</id>
<id>1426001044028</id>
<name>src/Full_Demo/Common_Demo_Source/Minimal</name>
<type>5</type>
<matcher>
@ -133,7 +133,7 @@
</matcher>
</filter>
<filter>
<id>1421425118842</id>
<id>1426001044037</id>
<name>src/Full_Demo/Common_Demo_Source/Minimal</name>
<type>5</type>
<matcher>
@ -142,7 +142,7 @@
</matcher>
</filter>
<filter>
<id>1421425118852</id>
<id>1426001044046</id>
<name>src/Full_Demo/Common_Demo_Source/Minimal</name>
<type>5</type>
<matcher>
@ -151,7 +151,7 @@
</matcher>
</filter>
<filter>
<id>1421425118852</id>
<id>1426001044057</id>
<name>src/Full_Demo/Common_Demo_Source/Minimal</name>
<type>5</type>
<matcher>
@ -160,7 +160,7 @@
</matcher>
</filter>
<filter>
<id>1421425118852</id>
<id>1426001044063</id>
<name>src/Full_Demo/Common_Demo_Source/Minimal</name>
<type>5</type>
<matcher>
@ -169,7 +169,7 @@
</matcher>
</filter>
<filter>
<id>1421425118862</id>
<id>1426001044071</id>
<name>src/Full_Demo/Common_Demo_Source/Minimal</name>
<type>5</type>
<matcher>
@ -178,7 +178,7 @@
</matcher>
</filter>
<filter>
<id>1421425118872</id>
<id>1426001044076</id>
<name>src/Full_Demo/Common_Demo_Source/Minimal</name>
<type>5</type>
<matcher>
@ -187,7 +187,7 @@
</matcher>
</filter>
<filter>
<id>1421425118872</id>
<id>1426001044081</id>
<name>src/Full_Demo/Common_Demo_Source/Minimal</name>
<type>5</type>
<matcher>
@ -196,7 +196,7 @@
</matcher>
</filter>
<filter>
<id>1421425118872</id>
<id>1426001044088</id>
<name>src/Full_Demo/Common_Demo_Source/Minimal</name>
<type>5</type>
<matcher>
@ -205,7 +205,7 @@
</matcher>
</filter>
<filter>
<id>1421425118882</id>
<id>1426001044094</id>
<name>src/Full_Demo/Common_Demo_Source/Minimal</name>
<type>5</type>
<matcher>
@ -214,7 +214,7 @@
</matcher>
</filter>
<filter>
<id>1421425118882</id>
<id>1426001044098</id>
<name>src/Full_Demo/Common_Demo_Source/Minimal</name>
<type>5</type>
<matcher>
@ -223,7 +223,7 @@
</matcher>
</filter>
<filter>
<id>1421425118892</id>
<id>1426001044103</id>
<name>src/Full_Demo/Common_Demo_Source/Minimal</name>
<type>5</type>
<matcher>
@ -232,7 +232,7 @@
</matcher>
</filter>
<filter>
<id>1421425118892</id>
<id>1426001044107</id>
<name>src/Full_Demo/Common_Demo_Source/Minimal</name>
<type>5</type>
<matcher>

View File

@ -137,7 +137,6 @@
#include "partest.h"
#include "serial.h"
#include "TimerDemo.h"
#include "IntQueue.h"
#include "EventGroupsDemo.h"
#include "TaskNotify.h"
#include "IntSemTest.h"
@ -242,8 +241,6 @@ void main_full( void )
/* Start all the other standard demo/test tasks. They have not particular
functionality, but do demonstrate how to use the FreeRTOS API and test the
kernel port. */
// vStartInterruptQueueTasks();
vStartDynamicPriorityTasks();
vCreateBlockTimeTasks();
vStartCountingSemaphoreTasks();
@ -321,11 +318,6 @@ unsigned long ulErrorFound = pdFALSE;
/* Check all the demo tasks (other than the flash tasks) to ensure
that they are all still running, and that none have detected an error. */
if( 0 )// if( xAreIntQueueTasksStillRunning() != pdTRUE )
{
ulErrorFound |= 1UL << 0UL;
}
if( xAreMathsTaskStillRunning() != pdTRUE )
{
ulErrorFound |= 1UL << 1UL;
@ -356,6 +348,11 @@ if( 0 )// if( xAreIntQueueTasksStillRunning() != pdTRUE )
ulErrorFound |= 1UL << 8UL;
}
if( xAreTimerDemoTasksStillRunning( ( TickType_t ) mainNO_ERROR_CHECK_TASK_PERIOD ) != pdPASS )
{
ulErrorFound |= 1UL << 9UL;
}
if( xAreCountingSemaphoreTasksStillRunning() != pdTRUE )
{
ulErrorFound |= 1UL << 10UL;
@ -366,11 +363,6 @@ if( 0 )// if( xAreIntQueueTasksStillRunning() != pdTRUE )
ulErrorFound |= 1UL << 14UL;
}
if( xAreTimerDemoTasksStillRunning( ( TickType_t ) mainNO_ERROR_CHECK_TASK_PERIOD ) != pdPASS )
{
ulErrorFound |= 1UL << 9UL;
}
if( xAreEventGroupTasksStillRunning() != pdPASS )
{
ulErrorFound |= 1UL << 12UL;

View File

@ -77,7 +77,7 @@
typedef void (*TaskFunction_t)( void * );
/* Converts a time in milliseconds to a time in ticks. */
#define pdMS_TO_TICKS( xTimeInMs ) ( ( ( TickType_t ) ( xTimeInMs ) * configTICK_RATE_HZ ) / ( TickType_t ) 1000 )
#define pdMS_TO_TICKS( xTimeInMs ) ( ( TickType_t ) ( ( ( TickType_t ) ( xTimeInMs ) * ( TickType_t ) configTICK_RATE_HZ ) / ( TickType_t ) 1000 ) )
#define pdFALSE ( ( BaseType_t ) 0 )
#define pdTRUE ( ( BaseType_t ) 1 )

View File

@ -489,7 +489,6 @@ __asm void xPortPendSVHandler( void )
#endif
bx r14
nop
}
/*-----------------------------------------------------------*/

View File

@ -340,7 +340,7 @@ int8_t *pcAllocatedBuffer;
if( pcAllocatedBuffer != NULL )
{
pxNewQueue = ( Queue_t * ) pcAllocatedBuffer; /*lint !e826 MISRA The buffer cannot be to small because it was dimensioned by sizeof( Queue_t ) + xQueueSizeInBytes. */
pxNewQueue = ( Queue_t * ) pcAllocatedBuffer; /*lint !e826 MISRA The buffer cannot be too small because it was dimensioned by sizeof( Queue_t ) + xQueueSizeInBytes. */
if( uxItemSize == ( UBaseType_t ) 0 )
{