From d567da4c197587e415cb4f8f7e65247cb17b9fea Mon Sep 17 00:00:00 2001 From: Sasan Golchin <ahmad.golchin@mail.polimi.it> Date: Wed, 7 Oct 2015 23:37:49 +0200 Subject: [PATCH] TIM2 is a 32-bit Timer/Counter with 4 Compare/Capture channels. In this subproject, an 64 bit apriodic timer is created based on TIM2 in which the overflow is managed automatically and the user is able to set checkpoints (in terms of timer ticks) to fire IRQ. An expected usecase is the use this driver as the context switch tool for the kernel. There might be some errors in which overflows/checkpoints are not managed correctly that will be OK asap. Signed-off-by: sasan_golchin <ahmad.golchin@mail.polimi.it> Signed-off-by: sasan_golchin <ahmad.golchin@mail.polimi.it> Signed-off-by: Terraneo Federico <fede.tft@miosix.org> --- Makefile | 2 +- cstimer.cpp | 127 +++ cstimer.h | 21 + main.cpp | 41 +- miosix/config/Makefile.inc | 6 +- miosix/config/miosix_settings.h | 4 +- miosix_np_2/nbproject/configurations.xml | 807 +++++++----------- .../nbproject/private/configurations.xml | 2 + miosix_np_2/nbproject/private/private.xml | 12 +- .../stm32f103ze_stm3210e-eval.properties | 1 + .../stm32f407vg_stm32f4discovery.properties | 1 + 11 files changed, 507 insertions(+), 517 deletions(-) create mode 100644 cstimer.cpp create mode 100644 cstimer.h diff --git a/Makefile b/Makefile index 1f279089..69ace418 100644 --- a/Makefile +++ b/Makefile @@ -19,7 +19,7 @@ SUBDIRS := $(KPATH) ## List here your source files (both .s, .c and .cpp) ## SRC := \ -main.cpp +main.cpp cstimer.cpp ## ## List here additional static libraries with relative path diff --git a/cstimer.cpp b/cstimer.cpp new file mode 100644 index 00000000..600f84f6 --- /dev/null +++ b/cstimer.cpp @@ -0,0 +1,127 @@ +#include "miosix.h" +#include "cstimer.h" +#include "kernel/logging.h" +#include <cstdlib> +using namespace miosix; + +static long long cst_ms32time = 0; //most significant 32 bits of counter +static long long cst_ms32chkp = 0; //most significant 32 bits of check point +static volatile bool cst_chkProcessed; +#define CST_ROLLOVER_INT (TIM2->SR & TIM_SR_UIF) && (TIM2->SR & TIM_SR_CC2IF) +ContextSwitchTimer& ContextSwitchTimer::instance() { + static ContextSwitchTimer _instance; + return _instance; +} + +ContextSwitchTimer::ContextSwitchTimer() { + /* + * TIM2 Source Clock (from APB1) Enable + */ + { + FastInterruptDisableLock idl; + RCC->APB1ENR |= RCC_APB1ENR_TIM2EN; + RCC_SYNC(); + } + /* + * Setup TIM2 base configuration + * Mode: Up-counter + * Interrupts: counter overflow, Compare/Capture on channel 1 + */ + TIM2->CR1=0; + TIM2->CCR1=0; + TIM2->CCR2=0; + TIM2->CCR3=0; + TIM2->CCR4=0; + TIM2->DIER=TIM_DIER_UIE | TIM_DIER_CC1IE; + NVIC_SetPriority(TIM2_IRQn,1); //TO-DO: WHICH IRQ Priority to use? 0? + NVIC_EnableIRQ(TIM2_IRQn); + /* + * Configure channel 1 as: + * Output channel (CC1S=0) + * No preload(OC1PE=0), hence TIM2_CCR1 can be written at anytime + * No effect on the output signal on match (OC1M = 0) + */ + TIM2->CCMR1 = 0; + TIM2->CCR1 = 0; + /* + * TIM2 Operation Frequency Configuration + */ + uint32_t pcsfreq = SystemCoreClock; + uint32_t apb1_div = (RCC->CFGR & RCC_CFGR_PPRE1)>>10; + //True assumption: AHB frequency is not divided :D + if (apb1_div & 0x4) //APB1 Divider is active + pcsfreq /= ((apb1_div & 0x3)+1)<<1; + + TIM2->PSC = 0; + TIM2->ARR = 0xFFFFFFFF; + //printf("PSCFreq: %lu PCS: %lu ARR: %lu CCR1: %lu SR: %lu CNT: %lu\n",pcsfreq,TIM2->PSC,TIM2->ARR,TIM2->CCR1,TIM2->SR,TIM2->CNT); + /* + * Other initializations + */ + // Enable TIM2 Counter + TIM2->EGR = TIM_EGR_UG; //To enforce the timer to apply PSC (and other non-immediate settings) + TIM2->CR1 |= TIM_CR1_CEN; + cst_ms32time = 0; +} + +long long ContextSwitchTimer::getCurrentTick() { + bool interrupts=areInterruptsEnabled(); + if(interrupts) disableInterrupts(); + //If overflow occurs while interrupts disabled + /* + * counter should be checked before rollover interrupt flag + * + */ + uint32_t counter = TIM2->CNT; + if (CST_ROLLOVER_INT && counter < 0x80000000){ + long long result=(cst_ms32time | counter) + 0x100000000ll; + if(interrupts) enableInterrupts(); + return result; + } + long long result=cst_ms32time | counter; + if(interrupts) enableInterrupts(); + return result; +} + +void ContextSwitchTimer::setNextInterrupt(long long tick) { + cst_ms32chkp = tick & 0xFFFFFFFF00000000; + TIM2->CCR1 = (uint32_t)(tick & 0xFFFFFFFF); + cst_chkProcessed = false; +} + +long long ContextSwitchTimer::getNextInterrupt(){ + return cst_ms32chkp | TIM2->CCR1; +} + +void __attribute__((used)) cstirqhnd(){ + if ((TIM2->SR & TIM_SR_CC1IF) && (cst_ms32time==cst_ms32chkp)){ + //Checkpoint met + TIM2->SR = ~TIM_SR_CC1IF; + IRQbootlog(" (CHK POINT) \r\n"); + cst_chkProcessed = true; + + } + if (CST_ROLLOVER_INT){ + //Rollover (Update and CC2 that is always set on zero) + //On the initial update SR = UIF (ONLY) + TIM2->SR = ~TIM_SR_UIF; //w0 clear + IRQbootlog(" (ROLLOVER) \r\n"); + cst_ms32time += 0x100000000; + + } + /* + if (!cst_chkProcessed && cst_ms32chkp < (cst_ms32time | TIM2->CNT) && cst_ms32time==cst_ms32chkp){ + IRQbootlog(" (CHK POINT) \r\n"); + cst_chkProcessed = true; + }*/ +} + +void __attribute__((naked)) TIM2_IRQHandler(){ + saveContext(); + asm volatile ("bl _Z9cstirqhndv"); + restoreContext(); +} + +ContextSwitchTimer::~ContextSwitchTimer() { + +} diff --git a/cstimer.h b/cstimer.h new file mode 100644 index 00000000..8b9491cb --- /dev/null +++ b/cstimer.h @@ -0,0 +1,21 @@ +#ifndef CSTIMER_H +#define CSTIMER_H + +namespace miosix{ + class ContextSwitchTimer{ + public: + static ContextSwitchTimer& instance(); + void setNextInterrupt(long long tick); //timer tick + long long getNextInterrupt(); + /** + * Could be call both when the interrupts are enabled/disabled! + * @return + */ + long long getCurrentTick(); + virtual ~ContextSwitchTimer(); + private: + ContextSwitchTimer(); + }; +} +#endif /* TIMER_H */ + diff --git a/main.cpp b/main.cpp index 8764b9fa..5e20d2f8 100644 --- a/main.cpp +++ b/main.cpp @@ -1,11 +1,42 @@ - #include <cstdio> +#include <cmath> #include "miosix.h" - +#include "kernel/logging.h" +#include "e20/e20.h" +#include "cstimer.h" using namespace std; using namespace miosix; -int main() -{ - //iprintf("Hello world, write your application here\n"); +void basicTests(){ + ContextSwitchTimer t = ContextSwitchTimer::instance(); + long long chkpoint = 0xFFFFFFFFll+1899760; + //chkpoint = 0xFFFFFFFFll-20; //Test Case: CHKPNT right really before rollover -> OK + //chkpoint = 0xFFFFFFFFll-2000; //Test Case: CHKPNT right before rollover -> OK + //chkpoint = 0xFFFFFFFFll+2000; //Test Case: CHKPNT right afrer rollover -> OK + //chkpoint = 0xFFFFFFFFll+20; //Test Case: CHKPNT right really afrer rollover -> OK + t.setNextInterrupt(chkpoint); //checkpoint near the rollover + while(1){ + Thread::sleep(10000); + printf("-CNT: %llu , NEXT CHKPNT: %llu\n",t.getCurrentTick(),t.getNextInterrupt()); + + } +} +void rightAfterCurrentTime(){ + ContextSwitchTimer t = ContextSwitchTimer::instance(); + + while(1){ + Thread::sleep(10000); + //checkpoint near the current tick + //A chkpoint with dist. less than 80 is not set in time => lost! + t.setNextInterrupt(t.getCurrentTick()+80); + printf("-CNT: %llu , NEXT CHKPNT: %llu\n",t.getCurrentTick(),t.getNextInterrupt()); + + } +} + +int main(){ + iprintf("Context Switch Timer Driver Test1 (80)\n"); + + //basicTests(); //passed + rightAfterCurrentTime(); } diff --git a/miosix/config/Makefile.inc b/miosix/config/Makefile.inc index b2d67a02..62737f90 100644 --- a/miosix/config/Makefile.inc +++ b/miosix/config/Makefile.inc @@ -17,7 +17,7 @@ #OPT_BOARD := stm32f100rb_stm32vldiscovery #OPT_BOARD := stm32f103ve_strive_mini #OPT_BOARD := stm32f103ze_redbull_v2 -#OPT_BOARD := stm32f407vg_stm32f4discovery +OPT_BOARD := stm32f407vg_stm32f4discovery #OPT_BOARD := stm32f207ig_stm3220g-eval #OPT_BOARD := stm32f207zg_ethboard_v2 #OPT_BOARD := stm32f207ze_als_camboard @@ -58,8 +58,8 @@ ## -O2 is recomended otherwise, as it provides a good balance between code ## size and speed ## -#OPT_OPTIMIZATION := -O0 -OPT_OPTIMIZATION := -O2 +OPT_OPTIMIZATION := -O0 +#OPT_OPTIMIZATION := -O2 #OPT_OPTIMIZATION := -O3 #OPT_OPTIMIZATION := -Os diff --git a/miosix/config/miosix_settings.h b/miosix/config/miosix_settings.h index 45c2f4c7..dcb9b886 100644 --- a/miosix/config/miosix_settings.h +++ b/miosix/config/miosix_settings.h @@ -34,7 +34,7 @@ // The PARSING_FROM_IDE is because Netbeans gets confused by this, it is never // defined when compiling the code. #ifndef PARSING_FROM_IDE -#error This error is a reminder that you have not edited miosix_settings.h yet. +//#error This error is a reminder that you have not edited miosix_settings.h yet. #endif //PARSING_FROM_IDE /** @@ -149,7 +149,7 @@ const unsigned char MAX_OPEN_FILES=8; * mode, so to use debugging it is necessary to disable sleep in the idle thread. * By default it is not defined (idle thread calls sleep). */ -//#define JTAG_DISABLE_SLEEP +#define JTAG_DISABLE_SLEEP /// Minimum stack size (MUST be divisible by 4) const unsigned int STACK_MIN=256; diff --git a/miosix_np_2/nbproject/configurations.xml b/miosix_np_2/nbproject/configurations.xml index 259cd5e0..73b553dc 100644 --- a/miosix_np_2/nbproject/configurations.xml +++ b/miosix_np_2/nbproject/configurations.xml @@ -86,6 +86,7 @@ <in>serial_efm32.cpp</in> <in>serial_lpc2000.cpp</in> <in>serial_stm32.cpp</in> + <in>servo_stm32.cpp</in> <in>stm32_hardware_rng.cpp</in> <in>stm32_hardware_rng.h</in> <in>stm32f2_f4_i2c.cpp</in> @@ -453,6 +454,8 @@ </df> <in>miosix.h</in> </df> + <in>cstimer.cpp</in> + <in>cstimer.h</in> <in>main.cpp</in> </df> <logicalFolder name="ExternalFiles" @@ -521,6 +524,10 @@ </ccTool> </makeTool> </makefileType> + <item path="../cstimer.cpp" ex="false" tool="1" flavor2="0"> + </item> + <item path="../cstimer.h" ex="false" tool="3" flavor2="0"> + </item> <item path="../main.cpp" ex="false" tool="1" flavor2="0"> </item> <item path="../miosix/arch/arm7_lpc2000/common/arch_settings.h" @@ -1249,6 +1256,10 @@ </ccTool> </makeTool> </makefileType> + <item path="../cstimer.cpp" ex="false" tool="1" flavor2="0"> + </item> + <item path="../cstimer.h" ex="false" tool="3" flavor2="0"> + </item> <item path="../main.cpp" ex="false" tool="1" flavor2="0"> <ccTool> <incDir> @@ -1762,6 +1773,9 @@ <dependencyChecking>false</dependencyChecking> <rebuildPropChanged>false</rebuildPropChanged> </toolsSet> + <flagsDictionary> + <element flagsID="0" commonFlags="-std=gnu++11"/> + </flagsDictionary> <codeAssistance> </codeAssistance> <makefileType> @@ -1791,18 +1805,27 @@ </ccTool> </makeTool> </makefileType> - <item path="../main.cpp" ex="false" tool="1" flavor2="0"> - <ccTool> + <item path="../cstimer.cpp" ex="false" tool="1" flavor2="0"> + </item> + <item path="../cstimer.h" ex="false" tool="3" flavor2="0"> + </item> + <item path="../main.cpp" ex="false" tool="1" flavor2="8"> + <ccTool flags="0"> <incDir> - <pElem>/opt/arm-miosix-eabi/arm-miosix-eabi/include/c++/4.7.3/arm-miosix-eabi/thumb/cm3/bits</pElem> - <pElem>../miosix/arch/cortexM3_stm32/common</pElem> - <pElem>../miosix/arch/cortexM3_stm32/stm32f103ze_stm3210e-eval</pElem> - <pElem>../miosix/config</pElem> - <pElem>../miosix/kernel/scheduler/control</pElem> - <pElem>../miosix/arch/cortexM3_stm32/common/interfaces-impl</pElem> - <pElem>../miosix/arch/common/CMSIS/Include</pElem> + <pElem>../miosix</pElem> + <pElem>../miosix/config/arch/cortexM4_stm32f4/stm32f407vg_stm32f4discovery</pElem> <pElem>..</pElem> + <pElem>../miosix/arch/common</pElem> + <pElem>../miosix/arch/cortexM4_stm32f4/common</pElem> + <pElem>../miosix/arch/cortexM4_stm32f4/stm32f407vg_stm32f4discovery</pElem> </incDir> + <preprocessorList> + <Elem>HSE_VALUE=8000000</Elem> + <Elem>SYSCLK_FREQ_168MHz=168000000</Elem> + <Elem>_ARCH_CORTEXM4_STM32F4</Elem> + <Elem>_BOARD_STM32F4DISCOVERY</Elem> + <Elem>_MIOSIX_BOARDNAME="stm32f407vg_stm32f4discovery"</Elem> + </preprocessorList> </ccTool> </item> <item path="../miosix/arch/common/CMSIS/Device/ST/STM32F10x/Source/Templates/system_stm32f10x.c" @@ -1813,12 +1836,12 @@ <item path="../miosix/arch/common/core/interrupts_cortexMx.cpp" ex="false" tool="1" - flavor2="0"> + flavor2="4"> </item> <item path="../miosix/arch/common/drivers/sd_stm32f1.cpp" ex="false" tool="1" - flavor2="0"> + flavor2="4"> <ccTool> <incDir> <pElem>../miosix/kernel</pElem> @@ -1842,7 +1865,7 @@ <item path="../miosix/arch/common/drivers/serial_stm32.cpp" ex="false" tool="1" - flavor2="0"> + flavor2="4"> <ccTool> <incDir> <pElem>../miosix/arch/common/drivers</pElem> @@ -1869,7 +1892,7 @@ <item path="../miosix/arch/cortexM3_stm32/common/interfaces-impl/delays.cpp" ex="false" tool="1" - flavor2="0"> + flavor2="4"> <ccTool> <incDir> <pElem>../miosix/interfaces</pElem> @@ -1880,7 +1903,7 @@ <item path="../miosix/arch/cortexM3_stm32/common/interfaces-impl/portability.cpp" ex="false" tool="1" - flavor2="0"> + flavor2="4"> <ccTool> <incDir> <pElem>../miosix/kernel/scheduler</pElem> @@ -1903,12 +1926,12 @@ <item path="../miosix/arch/cortexM3_stm32/stm32f103ze_stm3210e-eval/core/stage_1_boot.cpp" ex="false" tool="1" - flavor2="0"> + flavor2="4"> </item> <item path="../miosix/arch/cortexM3_stm32/stm32f103ze_stm3210e-eval/interfaces-impl/bsp.cpp" ex="false" tool="1" - flavor2="0"> + flavor2="4"> </item> <item path="../miosix/arch/cortexM4_stm32f4/stm32f429zi_skyward_anakin/interfaces-impl/hwmapping.h" ex="false" @@ -1918,17 +1941,17 @@ <item path="../miosix/filesystem/console/console_device.cpp" ex="false" tool="1" - flavor2="0"> + flavor2="4"> </item> <item path="../miosix/filesystem/devfs/devfs.cpp" ex="false" tool="1" - flavor2="0"> + flavor2="4"> </item> <item path="../miosix/filesystem/fat32/ccsbcs.cpp" ex="false" tool="1" - flavor2="0"> + flavor2="4"> <ccTool> <incDir> <pElem>/opt/arm-miosix-eabi/arm-miosix-eabi/include/c++/4.7.3/arm-miosix-eabi/thumb/cm3/bits</pElem> @@ -1944,7 +1967,7 @@ <item path="../miosix/filesystem/fat32/diskio.cpp" ex="false" tool="1" - flavor2="0"> + flavor2="4"> <ccTool> <incDir> <pElem>../miosix/kernel</pElem> @@ -1962,7 +1985,7 @@ <item path="../miosix/filesystem/fat32/fat32.cpp" ex="false" tool="1" - flavor2="0"> + flavor2="4"> <ccTool> <incDir> <pElem>../miosix/kernel</pElem> @@ -1982,7 +2005,7 @@ </incDir> </ccTool> </item> - <item path="../miosix/filesystem/fat32/ff.cpp" ex="false" tool="1" flavor2="0"> + <item path="../miosix/filesystem/fat32/ff.cpp" ex="false" tool="1" flavor2="4"> <ccTool> <incDir> <pElem>../miosix/kernel</pElem> @@ -2001,7 +2024,7 @@ <item path="../miosix/filesystem/fat32/wtoupper.cpp" ex="false" tool="1" - flavor2="0"> + flavor2="4"> <ccTool> <incDir> <pElem>/opt/arm-miosix-eabi/arm-miosix-eabi/include/c++/4.7.3/arm-miosix-eabi/thumb/cm3/bits</pElem> @@ -2014,7 +2037,7 @@ </incDir> </ccTool> </item> - <item path="../miosix/filesystem/file.cpp" ex="false" tool="1" flavor2="0"> + <item path="../miosix/filesystem/file.cpp" ex="false" tool="1" flavor2="4"> <ccTool> <incDir> <pElem>../miosix/filesystem</pElem> @@ -2034,7 +2057,7 @@ <item path="../miosix/filesystem/file_access.cpp" ex="false" tool="1" - flavor2="0"> + flavor2="4"> <ccTool> <incDir> <pElem>../miosix/kernel</pElem> @@ -2058,12 +2081,12 @@ <item path="../miosix/filesystem/mountpointfs/mountpointfs.cpp" ex="false" tool="1" - flavor2="0"> + flavor2="4"> </item> <item path="../miosix/filesystem/stringpart.cpp" ex="false" tool="1" - flavor2="0"> + flavor2="4"> <ccTool> <incDir> <pElem>../miosix/filesystem</pElem> @@ -2072,7 +2095,7 @@ </incDir> </ccTool> </item> - <item path="../miosix/kernel/error.cpp" ex="false" tool="1" flavor2="0"> + <item path="../miosix/kernel/error.cpp" ex="false" tool="1" flavor2="4"> <ccTool> <incDir> <pElem>../miosix/kernel</pElem> @@ -2089,7 +2112,7 @@ </incDir> </ccTool> </item> - <item path="../miosix/kernel/kernel.cpp" ex="false" tool="1" flavor2="0"> + <item path="../miosix/kernel/kernel.cpp" ex="false" tool="1" flavor2="4"> <ccTool> <incDir> <pElem>../miosix/kernel</pElem> @@ -2108,7 +2131,7 @@ </incDir> </ccTool> </item> - <item path="../miosix/kernel/pthread.cpp" ex="false" tool="1" flavor2="0"> + <item path="../miosix/kernel/pthread.cpp" ex="false" tool="1" flavor2="4"> <ccTool> <incDir> <pElem>../miosix/kernel</pElem> @@ -2130,9 +2153,9 @@ <item path="../miosix/kernel/scheduler/priority/priority_scheduler.cpp" ex="false" tool="1" - flavor2="0"> + flavor2="4"> </item> - <item path="../miosix/kernel/stage_2_boot.cpp" ex="false" tool="1" flavor2="0"> + <item path="../miosix/kernel/stage_2_boot.cpp" ex="false" tool="1" flavor2="4"> <ccTool> <incDir> <pElem>../miosix/kernel</pElem> @@ -2153,7 +2176,7 @@ <item path="../miosix/stdlib_integration/libc_integration.cpp" ex="false" tool="1" - flavor2="0"> + flavor2="4"> <ccTool> <incDir> <pElem>../miosix/stdlib_integration</pElem> @@ -2176,7 +2199,7 @@ <item path="../miosix/stdlib_integration/libstdcpp_integration.cpp" ex="false" tool="1" - flavor2="0"> + flavor2="4"> <ccTool> <incDir> <pElem>../miosix/kernel</pElem> @@ -2195,14 +2218,14 @@ </incDir> </ccTool> </item> - <item path="../miosix/util/unicode.cpp" ex="false" tool="1" flavor2="0"> + <item path="../miosix/util/unicode.cpp" ex="false" tool="1" flavor2="4"> <ccTool> <incDir> <pElem>../miosix</pElem> </incDir> </ccTool> </item> - <item path="../miosix/util/util.cpp" ex="false" tool="1" flavor2="0"> + <item path="../miosix/util/util.cpp" ex="false" tool="1" flavor2="4"> <ccTool> <incDir> <pElem>../miosix/kernel</pElem> @@ -2216,13 +2239,24 @@ </incDir> </ccTool> </item> - <item path="../miosix/util/version.cpp" ex="false" tool="1" flavor2="0"> + <item path="../miosix/util/version.cpp" ex="false" tool="1" flavor2="4"> <ccTool> <incDir> <pElem>../miosix</pElem> </incDir> </ccTool> </item> + <folder path="0/miosix"> + <ccTool> + <preprocessorList> + <Elem>COMPILING_MIOSIX</Elem> + <Elem>PARSING_FROM_IDE</Elem> + <Elem>STM32F10X_HD</Elem> + <Elem>_ARCH_CORTEXM3_STM32</Elem> + <Elem>_BOARD_STM3210E_EVAL</Elem> + </preprocessorList> + </ccTool> + </folder> <folder path="0/miosix/arch/common/core"> <ccTool> <incDir> @@ -2408,6 +2442,10 @@ </ccTool> </makeTool> </makefileType> + <item path="../cstimer.cpp" ex="false" tool="1" flavor2="0"> + </item> + <item path="../cstimer.h" ex="false" tool="3" flavor2="0"> + </item> <item path="../main.cpp" ex="false" tool="1" flavor2="0"> <ccTool> <incDir> @@ -3027,6 +3065,10 @@ </ccTool> </makeTool> </makefileType> + <item path="../cstimer.cpp" ex="false" tool="1" flavor2="0"> + </item> + <item path="../cstimer.h" ex="false" tool="3" flavor2="0"> + </item> <item path="../main.cpp" ex="false" tool="1" flavor2="0"> <ccTool> <incDir> @@ -3496,6 +3538,10 @@ </ccTool> </makeTool> </makefileType> + <item path="../cstimer.cpp" ex="false" tool="1" flavor2="0"> + </item> + <item path="../cstimer.h" ex="false" tool="3" flavor2="0"> + </item> <item path="../main.cpp" ex="false" tool="1" flavor2="0"> <ccTool> <incDir> @@ -4116,6 +4162,10 @@ </ccTool> </makeTool> </makefileType> + <item path="../cstimer.cpp" ex="false" tool="1" flavor2="0"> + </item> + <item path="../cstimer.h" ex="false" tool="3" flavor2="0"> + </item> <item path="../main.cpp" ex="false" tool="1" flavor2="0"> <ccTool> <incDir> @@ -4707,6 +4757,10 @@ <dependencyChecking>false</dependencyChecking> <rebuildPropChanged>false</rebuildPropChanged> </toolsSet> + <flagsDictionary> + <element flagsID="0" commonFlags="-g"/> + <element flagsID="1" commonFlags="-std=gnu++11"/> + </flagsDictionary> <codeAssistance> </codeAssistance> <makefileType> @@ -4716,13 +4770,20 @@ <cleanCommand>${MAKE} -f Makefile clean</cleanCommand> <executablePath>../main.elf</executablePath> <cTool> + <incDir> + <pElem>../miosix</pElem> + <pElem>../miosix/config/arch/cortexM4_stm32f4/stm32f407vg_stm32f4discovery</pElem> + <pElem>../miosix/arch/common</pElem> + <pElem>../miosix/arch/cortexM4_stm32f4/common</pElem> + <pElem>../miosix/arch/cortexM4_stm32f4/stm32f407vg_stm32f4discovery</pElem> + </incDir> <preprocessorList> <Elem>COMPILING_MIOSIX</Elem> - <Elem>PARSING_FROM_IDE</Elem> - <Elem>SYSCLK_FREQ_168MHz</Elem> + <Elem>HSE_VALUE=8000000</Elem> + <Elem>SYSCLK_FREQ_168MHz=168000000</Elem> <Elem>_ARCH_CORTEXM4_STM32F4</Elem> <Elem>_BOARD_STM32F4DISCOVERY</Elem> - <Elem>__VFP_FP__</Elem> + <Elem>_MIOSIX_BOARDNAME="stm32f407vg_stm32f4discovery"</Elem> </preprocessorList> <undefinedList> <Elem>__SOFTFP__</Elem> @@ -4731,12 +4792,11 @@ <ccTool> <standard>8</standard> <preprocessorList> - <Elem>COMPILING_MIOSIX</Elem> - <Elem>PARSING_FROM_IDE</Elem> - <Elem>SYSCLK_FREQ_168MHz</Elem> + <Elem>HSE_VALUE=8000000</Elem> + <Elem>SYSCLK_FREQ_168MHz=168000000</Elem> <Elem>_ARCH_CORTEXM4_STM32F4</Elem> <Elem>_BOARD_STM32F4DISCOVERY</Elem> - <Elem>__VFP_FP__</Elem> + <Elem>_MIOSIX_BOARDNAME="stm32f407vg_stm32f4discovery"</Elem> </preprocessorList> <undefinedList> <Elem>__SOFTFP__</Elem> @@ -4744,17 +4804,23 @@ </ccTool> </makeTool> </makefileType> - <item path="../main.cpp" ex="false" tool="1" flavor2="0"> - <ccTool> + <item path="../cstimer.cpp" ex="false" tool="1" flavor2="8"> + <ccTool flags="1"> <incDir> - <pElem>/opt/arm-miosix-eabi/arm-miosix-eabi/include/c++/4.7.3/arm-miosix-eabi/thumb/cm4/hardfp/fpv4/bits</pElem> + <pElem>..</pElem> + <pElem>../miosix/arch/common</pElem> <pElem>../miosix/arch/cortexM4_stm32f4/common</pElem> <pElem>../miosix/arch/cortexM4_stm32f4/stm32f407vg_stm32f4discovery</pElem> - <pElem>../miosix/config</pElem> - <pElem>../miosix/kernel/scheduler/control</pElem> - <pElem>../miosix/arch/cortexM4_stm32f4/common/interfaces-impl</pElem> - <pElem>../miosix/arch/common/CMSIS/Include</pElem> + </incDir> + </ccTool> + </item> + <item path="../main.cpp" ex="false" tool="1" flavor2="8"> + <ccTool flags="1"> + <incDir> <pElem>..</pElem> + <pElem>../miosix/arch/common</pElem> + <pElem>../miosix/arch/cortexM4_stm32f4/common</pElem> + <pElem>../miosix/arch/cortexM4_stm32f4/stm32f407vg_stm32f4discovery</pElem> </incDir> </ccTool> </item> @@ -4762,122 +4828,89 @@ ex="false" tool="0" flavor2="2"> + <cTool flags="0"> + </cTool> </item> <item path="../miosix/arch/common/core/interrupts_cortexMx.cpp" ex="false" tool="1" - flavor2="0"> + flavor2="8"> + <ccTool flags="1"> + </ccTool> + </item> + <item path="../miosix/arch/common/drivers/dcc.cpp" + ex="false" + tool="1" + flavor2="8"> + <ccTool flags="1"> + </ccTool> </item> <item path="../miosix/arch/common/drivers/sd_stm32f2_f4.cpp" ex="false" tool="1" - flavor2="0"> - <ccTool> - <incDir> - <pElem>../miosix/kernel</pElem> - <pElem>../miosix/arch/common/CMSIS/Include</pElem> - <pElem>../miosix/arch/cortexM4_stm32f4/common/interfaces-impl</pElem> - <pElem>../miosix/arch/common/drivers</pElem> - <pElem>../miosix/kernel/scheduler</pElem> - <pElem>../miosix/filesystem/devfs</pElem> - <pElem>../miosix/arch/common/CMSIS/Device/ST/STM32F4xx/Include</pElem> - <pElem>../miosix/kernel/scheduler/priority</pElem> - <pElem>../miosix/stdlib_integration</pElem> - <pElem>../miosix/arch/cortexM4_stm32f4/common</pElem> - <pElem>../miosix/arch/cortexM4_stm32f4/stm32f407vg_stm32f4discovery</pElem> - <pElem>../miosix/config</pElem> - <pElem>../miosix/kernel/scheduler/control</pElem> - <pElem>../miosix/interfaces</pElem> - <pElem>/opt/arm-miosix-eabi/arm-miosix-eabi/include/c++/4.7.3/arm-miosix-eabi/thumb/cm4/hardfp/fpv4/bits</pElem> - <pElem>../miosix/filesystem</pElem> - <pElem>../miosix</pElem> - <pElem>../miosix/arch/common</pElem> - </incDir> + flavor2="8"> + <ccTool flags="1"> </ccTool> </item> <item path="../miosix/arch/common/drivers/serial_stm32.cpp" ex="false" tool="1" - flavor2="0"> - <ccTool> - <incDir> - <pElem>../miosix/arch/common/drivers</pElem> - <pElem>../miosix/kernel</pElem> - <pElem>../miosix/arch/common/CMSIS/Include</pElem> - <pElem>../miosix/arch/cortexM4_stm32f4/common/interfaces-impl</pElem> - <pElem>../miosix/filesystem/devfs</pElem> - <pElem>../miosix/kernel/scheduler</pElem> - <pElem>/opt/arm-miosix-eabi/arm-miosix-eabi/include/c++/4.7.3/arm-miosix-eabi/thumb/cm4/hardfp/fpv4/bits</pElem> - <pElem>../miosix/arch/common/CMSIS/Device/ST/STM32F4xx/Include</pElem> - <pElem>../miosix/arch/cortexM4_stm32f4/common</pElem> - <pElem>../miosix/kernel/scheduler/priority</pElem> - <pElem>../miosix/stdlib_integration</pElem> - <pElem>../miosix/arch/cortexM4_stm32f4/stm32f407vg_stm32f4discovery</pElem> - <pElem>../miosix/config</pElem> - <pElem>../miosix/kernel/scheduler/control</pElem> - <pElem>../miosix/filesystem</pElem> - <pElem>../miosix/interfaces</pElem> - <pElem>../miosix</pElem> - <pElem>../miosix/arch/common</pElem> - </incDir> + flavor2="8"> + <ccTool flags="1"> + </ccTool> + </item> + <item path="../miosix/arch/common/drivers/servo_stm32.cpp" + ex="false" + tool="1" + flavor2="8"> + <ccTool flags="1"> + </ccTool> + </item> + <item path="../miosix/arch/common/drivers/stm32_hardware_rng.cpp" + ex="false" + tool="1" + flavor2="8"> + <ccTool flags="1"> </ccTool> </item> <item path="../miosix/arch/cortexM4_stm32f4/common/interfaces-impl/delays.cpp" ex="false" tool="1" - flavor2="0"> - <ccTool> - <incDir> - <pElem>../miosix/interfaces</pElem> - <pElem>../miosix</pElem> - </incDir> + flavor2="8"> + <ccTool flags="1"> </ccTool> </item> <item path="../miosix/arch/cortexM4_stm32f4/common/interfaces-impl/gpio_impl.cpp" ex="false" tool="1" - flavor2="0"> - <ccTool> - <incDir> - <pElem>../miosix/arch/common/CMSIS/Device/ST/STM32F4xx/Include</pElem> - <pElem>../miosix/arch/common/CMSIS/Include</pElem> - <pElem>../miosix/arch/common</pElem> - <pElem>../miosix</pElem> - </incDir> + flavor2="8"> + <ccTool flags="1"> </ccTool> </item> <item path="../miosix/arch/cortexM4_stm32f4/common/interfaces-impl/portability.cpp" ex="false" tool="1" - flavor2="0"> - <ccTool> - <incDir> - <pElem>../miosix/kernel/scheduler</pElem> - <pElem>../miosix/arch/common/CMSIS/Include</pElem> - <pElem>../miosix/arch/common/CMSIS/Device/ST/STM32F4xx/Include</pElem> - <pElem>../miosix/kernel/scheduler/priority</pElem> - <pElem>../miosix/kernel</pElem> - <pElem>../miosix/stdlib_integration</pElem> - <pElem>../miosix/arch/cortexM4_stm32f4/common</pElem> - <pElem>../miosix/arch/cortexM4_stm32f4/stm32f407vg_stm32f4discovery</pElem> - <pElem>../miosix/config</pElem> - <pElem>../miosix/kernel/scheduler/control</pElem> - <pElem>/opt/arm-miosix-eabi/arm-miosix-eabi/include/c++/4.7.3/arm-miosix-eabi/thumb/cm4/hardfp/fpv4/bits</pElem> - <pElem>../miosix/interfaces</pElem> - <pElem>../miosix</pElem> - <pElem>../miosix/arch/common</pElem> - </incDir> + flavor2="8"> + <ccTool flags="1"> </ccTool> </item> <item path="../miosix/arch/cortexM4_stm32f4/stm32f407vg_stm32f4discovery/core/stage_1_boot.cpp" ex="false" tool="1" - flavor2="0"> + flavor2="8"> + <ccTool flags="1"> + </ccTool> </item> <item path="../miosix/arch/cortexM4_stm32f4/stm32f407vg_stm32f4discovery/interfaces-impl/bsp.cpp" ex="false" tool="1" - flavor2="0"> + flavor2="8"> + <ccTool flags="1"> + </ccTool> + </item> + <item path="../miosix/e20/e20.cpp" ex="false" tool="1" flavor2="8"> + <ccTool flags="1"> + </ccTool> </item> <item path="../miosix/arch/cortexM4_stm32f4/stm32f429zi_skyward_anakin/interfaces-impl/hwmapping.h" ex="false" @@ -4887,458 +4920,182 @@ <item path="../miosix/filesystem/console/console_device.cpp" ex="false" tool="1" - flavor2="0"> + flavor2="8"> + <ccTool flags="1"> + </ccTool> </item> <item path="../miosix/filesystem/devfs/devfs.cpp" ex="false" tool="1" - flavor2="0"> + flavor2="8"> + <ccTool flags="1"> + </ccTool> </item> <item path="../miosix/filesystem/fat32/ccsbcs.cpp" ex="false" tool="1" - flavor2="0"> - <ccTool> - <incDir> - <pElem>/opt/arm-miosix-eabi/arm-miosix-eabi/include/c++/4.7.3/arm-miosix-eabi/thumb/cm4/hardfp/fpv4/bits</pElem> - <pElem>../miosix/interfaces</pElem> - <pElem>../miosix/arch/cortexM4_stm32f4/common</pElem> - <pElem>../miosix/arch/cortexM4_stm32f4/stm32f407vg_stm32f4discovery</pElem> - <pElem>../miosix/config</pElem> - <pElem>../miosix/arch/common/CMSIS/Include</pElem> - <pElem>../miosix</pElem> - </incDir> + flavor2="8"> + <ccTool flags="1"> </ccTool> </item> <item path="../miosix/filesystem/fat32/diskio.cpp" ex="false" tool="1" - flavor2="0"> - <ccTool> - <incDir> - <pElem>../miosix/kernel</pElem> - <pElem>/opt/arm-miosix-eabi/arm-miosix-eabi/include/c++/4.7.3/arm-miosix-eabi/thumb/cm4/hardfp/fpv4/bits</pElem> - <pElem>../miosix/interfaces</pElem> - <pElem>../miosix/arch/cortexM4_stm32f4/common</pElem> - <pElem>../miosix/arch/cortexM4_stm32f4/stm32f407vg_stm32f4discovery</pElem> - <pElem>../miosix/config</pElem> - <pElem>../miosix/arch/common/CMSIS/Include</pElem> - <pElem>../miosix/filesystem</pElem> - <pElem>../miosix</pElem> - </incDir> + flavor2="8"> + <ccTool flags="1"> </ccTool> </item> <item path="../miosix/filesystem/fat32/fat32.cpp" ex="false" tool="1" - flavor2="0"> - <ccTool> - <incDir> - <pElem>../miosix/kernel</pElem> - <pElem>../miosix/arch/common/CMSIS/Include</pElem> - <pElem>../miosix/arch/cortexM4_stm32f4/common/interfaces-impl</pElem> - <pElem>../miosix/filesystem</pElem> - <pElem>/opt/arm-miosix-eabi/arm-miosix-eabi/include/c++/4.7.3/arm-miosix-eabi/thumb/cm4/hardfp/fpv4/bits</pElem> - <pElem>../miosix/interfaces</pElem> - <pElem>../miosix/kernel/scheduler/priority</pElem> - <pElem>../miosix/stdlib_integration</pElem> - <pElem>../miosix/kernel/scheduler</pElem> - <pElem>../miosix/arch/cortexM4_stm32f4/common</pElem> - <pElem>../miosix/arch/cortexM4_stm32f4/stm32f407vg_stm32f4discovery</pElem> - <pElem>../miosix/config</pElem> - <pElem>../miosix/kernel/scheduler/control</pElem> - <pElem>../miosix</pElem> - </incDir> + flavor2="8"> + <ccTool flags="1"> </ccTool> </item> - <item path="../miosix/filesystem/fat32/ff.cpp" ex="false" tool="1" flavor2="0"> - <ccTool> - <incDir> - <pElem>../miosix/kernel</pElem> - <pElem>../miosix/arch/common/CMSIS/Include</pElem> - <pElem>../miosix/arch/cortexM4_stm32f4/common/interfaces-impl</pElem> - <pElem>../miosix/util</pElem> - <pElem>/opt/arm-miosix-eabi/arm-miosix-eabi/include/c++/4.7.3/arm-miosix-eabi/thumb/cm4/hardfp/fpv4/bits</pElem> - <pElem>../miosix/interfaces</pElem> - <pElem>../miosix/arch/cortexM4_stm32f4/common</pElem> - <pElem>../miosix/arch/cortexM4_stm32f4/stm32f407vg_stm32f4discovery</pElem> - <pElem>../miosix/config</pElem> - <pElem>../miosix</pElem> - </incDir> + <item path="../miosix/filesystem/fat32/ff.cpp" ex="false" tool="1" flavor2="8"> + <ccTool flags="1"> </ccTool> </item> <item path="../miosix/filesystem/fat32/wtoupper.cpp" ex="false" tool="1" - flavor2="0"> - <ccTool> - <incDir> - <pElem>/opt/arm-miosix-eabi/arm-miosix-eabi/include/c++/4.7.3/arm-miosix-eabi/thumb/cm4/hardfp/fpv4/bits</pElem> - <pElem>../miosix/interfaces</pElem> - <pElem>../miosix/arch/cortexM4_stm32f4/common</pElem> - <pElem>../miosix/arch/cortexM4_stm32f4/stm32f407vg_stm32f4discovery</pElem> - <pElem>../miosix/config</pElem> - <pElem>../miosix/arch/common/CMSIS/Include</pElem> - <pElem>../miosix</pElem> - </incDir> + flavor2="8"> + <ccTool flags="1"> </ccTool> </item> - <item path="../miosix/filesystem/file.cpp" ex="false" tool="1" flavor2="0"> - <ccTool> - <incDir> - <pElem>../miosix/filesystem</pElem> - <pElem>../miosix/kernel</pElem> - <pElem>../miosix/arch/common/CMSIS/Include</pElem> - <pElem>../miosix/arch/cortexM4_stm32f4/common/interfaces-impl</pElem> - <pElem>/opt/arm-miosix-eabi/arm-miosix-eabi/include/c++/4.7.3/arm-miosix-eabi/thumb/cm4/hardfp/fpv4/bits</pElem> - <pElem>../miosix/interfaces</pElem> - <pElem>../miosix/arch/cortexM4_stm32f4/common</pElem> - <pElem>../miosix/arch/cortexM4_stm32f4/stm32f407vg_stm32f4discovery</pElem> - <pElem>../miosix/config</pElem> - <pElem>../miosix/kernel/scheduler/control</pElem> - <pElem>../miosix</pElem> - </incDir> + <item path="../miosix/filesystem/file.cpp" ex="false" tool="1" flavor2="8"> + <ccTool flags="1"> </ccTool> </item> <item path="../miosix/filesystem/file_access.cpp" ex="false" tool="1" - flavor2="0"> - <ccTool> - <incDir> - <pElem>../miosix/kernel</pElem> - <pElem>../miosix/filesystem</pElem> - <pElem>../miosix/arch/common/CMSIS/Include</pElem> - <pElem>../miosix/arch/cortexM4_stm32f4/common/interfaces-impl</pElem> - <pElem>../miosix/filesystem/mountpointfs</pElem> - <pElem>/opt/arm-miosix-eabi/arm-miosix-eabi/include/c++/4.7.3/arm-miosix-eabi/thumb/cm4/hardfp/fpv4/bits</pElem> - <pElem>../miosix/interfaces</pElem> - <pElem>../miosix/filesystem/devfs</pElem> - <pElem>../miosix/filesystem/console</pElem> - <pElem>../miosix/filesystem/fat32</pElem> - <pElem>../miosix/arch/cortexM4_stm32f4/common</pElem> - <pElem>../miosix/arch/cortexM4_stm32f4/stm32f407vg_stm32f4discovery</pElem> - <pElem>../miosix/config</pElem> - <pElem>../miosix/kernel/scheduler/control</pElem> - <pElem>../miosix</pElem> - </incDir> + flavor2="8"> + <ccTool flags="1"> </ccTool> </item> <item path="../miosix/filesystem/mountpointfs/mountpointfs.cpp" ex="false" tool="1" - flavor2="0"> + flavor2="8"> + <ccTool flags="1"> + </ccTool> </item> <item path="../miosix/filesystem/stringpart.cpp" ex="false" tool="1" - flavor2="0"> - <ccTool> - <incDir> - <pElem>../miosix/filesystem</pElem> - <pElem>/opt/arm-miosix-eabi/arm-miosix-eabi/include/c++/4.7.3/arm-miosix-eabi/thumb/cm4/hardfp/fpv4/bits</pElem> - <pElem>../miosix</pElem> - </incDir> + flavor2="8"> + <ccTool flags="1"> </ccTool> </item> - <item path="../miosix/kernel/error.cpp" ex="false" tool="1" flavor2="0"> - <ccTool> - <incDir> - <pElem>../miosix/kernel</pElem> - <pElem>../miosix/arch/common/CMSIS/Include</pElem> - <pElem>../miosix/arch/cortexM4_stm32f4/common/interfaces-impl</pElem> - <pElem>../miosix/filesystem/console</pElem> - <pElem>../miosix/arch/cortexM4_stm32f4/common</pElem> - <pElem>../miosix/arch/cortexM4_stm32f4/stm32f407vg_stm32f4discovery</pElem> - <pElem>../miosix/config</pElem> - <pElem>../miosix/kernel/scheduler/control</pElem> - <pElem>/opt/arm-miosix-eabi/arm-miosix-eabi/include/c++/4.7.3/arm-miosix-eabi/thumb/cm4/hardfp/fpv4/bits</pElem> - <pElem>../miosix/interfaces</pElem> - <pElem>../miosix</pElem> - </incDir> + <item path="../miosix/kernel/SystemMap.cpp" ex="false" tool="1" flavor2="8"> + <ccTool flags="1"> </ccTool> </item> - <item path="../miosix/kernel/kernel.cpp" ex="false" tool="1" flavor2="0"> - <ccTool> - <incDir> - <pElem>../miosix/kernel</pElem> - <pElem>../miosix/arch/common/CMSIS/Include</pElem> - <pElem>../miosix/arch/cortexM4_stm32f4/common/interfaces-impl</pElem> - <pElem>../miosix/kernel/scheduler</pElem> - <pElem>../miosix/kernel/scheduler/priority</pElem> - <pElem>../miosix/stdlib_integration</pElem> - <pElem>../miosix/arch/cortexM4_stm32f4/common</pElem> - <pElem>../miosix/arch/cortexM4_stm32f4/stm32f407vg_stm32f4discovery</pElem> - <pElem>../miosix/config</pElem> - <pElem>../miosix/kernel/scheduler/control</pElem> - <pElem>/opt/arm-miosix-eabi/arm-miosix-eabi/include/c++/4.7.3/arm-miosix-eabi/thumb/cm4/hardfp/fpv4/bits</pElem> - <pElem>../miosix/interfaces</pElem> - <pElem>../miosix</pElem> - </incDir> + <item path="../miosix/kernel/elf_program.cpp" ex="false" tool="1" flavor2="8"> + <ccTool flags="1"> </ccTool> </item> - <item path="../miosix/kernel/pthread.cpp" ex="false" tool="1" flavor2="0"> - <ccTool> - <incDir> - <pElem>../miosix/kernel</pElem> - <pElem>../miosix/arch/common/CMSIS/Include</pElem> - <pElem>../miosix/arch/cortexM4_stm32f4/common/interfaces-impl</pElem> - <pElem>/opt/arm-miosix-eabi/arm-miosix-eabi/include/c++/4.7.3/arm-miosix-eabi/thumb/cm4/hardfp/fpv4/bits</pElem> - <pElem>../miosix/arch/cortexM4_stm32f4/common</pElem> - <pElem>../miosix/kernel/scheduler/priority</pElem> - <pElem>../miosix/stdlib_integration</pElem> - <pElem>../miosix/kernel/scheduler</pElem> - <pElem>../miosix/arch/cortexM4_stm32f4/stm32f407vg_stm32f4discovery</pElem> - <pElem>../miosix/config</pElem> - <pElem>../miosix/kernel/scheduler/control</pElem> - <pElem>../miosix/interfaces</pElem> - <pElem>../miosix</pElem> - </incDir> + <item path="../miosix/kernel/error.cpp" ex="false" tool="1" flavor2="8"> + <ccTool flags="1"> + </ccTool> + </item> + <item path="../miosix/kernel/kernel.cpp" ex="false" tool="1" flavor2="8"> + <ccTool flags="1"> + </ccTool> + </item> + <item path="../miosix/kernel/process.cpp" ex="false" tool="1" flavor2="8"> + <ccTool flags="1"> + </ccTool> + </item> + <item path="../miosix/kernel/process_pool.cpp" ex="false" tool="1" flavor2="8"> + <ccTool flags="1"> + </ccTool> + </item> + <item path="../miosix/kernel/pthread.cpp" ex="false" tool="1" flavor2="8"> + <ccTool flags="1"> + </ccTool> + </item> + <item path="../miosix/kernel/scheduler/control/control_scheduler.cpp" + ex="false" + tool="1" + flavor2="8"> + <ccTool flags="1"> + </ccTool> + </item> + <item path="../miosix/kernel/scheduler/edf/edf_scheduler.cpp" + ex="false" + tool="1" + flavor2="8"> + <ccTool flags="1"> + </ccTool> + </item> + <item path="../miosix/kernel/scheduler/priority/priority_scheduler.cpp" + ex="false" + tool="1" + flavor2="8"> + <ccTool flags="1"> </ccTool> </item> - <item path="../miosix/kernel/scheduler/priority/priority_scheduler.cpp" + <item path="../miosix/kernel/stage_2_boot.cpp" ex="false" tool="1" flavor2="8"> + <ccTool flags="1"> + </ccTool> + </item> + <item path="../miosix/kernel/sync.cpp" ex="false" tool="1" flavor2="8"> + <ccTool flags="1"> + </ccTool> + </item> + <item path="../miosix/kernel/timeconversion.cpp" ex="false" tool="1" - flavor2="0"> - </item> - <item path="../miosix/kernel/stage_2_boot.cpp" ex="false" tool="1" flavor2="0"> - <ccTool> - <incDir> - <pElem>../miosix/kernel</pElem> - <pElem>../miosix/arch/common/CMSIS/Include</pElem> - <pElem>../miosix/arch/cortexM4_stm32f4/common/interfaces-impl</pElem> - <pElem>/opt/arm-miosix-eabi/arm-miosix-eabi/include/c++/4.7.3/arm-miosix-eabi/thumb/cm4/hardfp/fpv4/bits</pElem> - <pElem>../miosix/interfaces</pElem> - <pElem>../miosix/filesystem/console</pElem> - <pElem>../miosix/util</pElem> - <pElem>../miosix/arch/cortexM4_stm32f4/common</pElem> - <pElem>../miosix/arch/cortexM4_stm32f4/stm32f407vg_stm32f4discovery</pElem> - <pElem>../miosix/config</pElem> - <pElem>../miosix/kernel/scheduler/control</pElem> - <pElem>../miosix</pElem> - </incDir> + flavor2="8"> + <ccTool flags="1"> </ccTool> </item> <item path="../miosix/stdlib_integration/libc_integration.cpp" ex="false" tool="1" - flavor2="0"> - <ccTool> - <incDir> - <pElem>../miosix/stdlib_integration</pElem> - <pElem>../miosix/filesystem</pElem> - <pElem>../miosix/kernel</pElem> - <pElem>../miosix/arch/common/CMSIS/Include</pElem> - <pElem>../miosix/arch/cortexM4_stm32f4/common/interfaces-impl</pElem> - <pElem>/opt/arm-miosix-eabi/arm-miosix-eabi/include/c++/4.7.3/arm-miosix-eabi/thumb/cm4/hardfp/fpv4/bits</pElem> - <pElem>../miosix/kernel/scheduler/priority</pElem> - <pElem>../miosix/kernel/scheduler</pElem> - <pElem>../miosix/arch/cortexM4_stm32f4/common</pElem> - <pElem>../miosix/arch/cortexM4_stm32f4/stm32f407vg_stm32f4discovery</pElem> - <pElem>../miosix/config</pElem> - <pElem>../miosix/kernel/scheduler/control</pElem> - <pElem>../miosix/interfaces</pElem> - <pElem>../miosix</pElem> - </incDir> + flavor2="8"> + <ccTool flags="1"> </ccTool> </item> <item path="../miosix/stdlib_integration/libstdcpp_integration.cpp" ex="false" tool="1" - flavor2="0"> - <ccTool> - <incDir> - <pElem>../miosix/kernel</pElem> - <pElem>../miosix/stdlib_integration</pElem> - <pElem>../miosix/arch/common/CMSIS/Include</pElem> - <pElem>../miosix/arch/cortexM4_stm32f4/common/interfaces-impl</pElem> - <pElem>../miosix/kernel/scheduler/priority</pElem> - <pElem>../miosix/kernel/scheduler</pElem> - <pElem>../miosix/filesystem/console</pElem> - <pElem>../miosix/arch/cortexM4_stm32f4/common</pElem> - <pElem>../miosix/arch/cortexM4_stm32f4/stm32f407vg_stm32f4discovery</pElem> - <pElem>../miosix/config</pElem> - <pElem>../miosix/kernel/scheduler/control</pElem> - <pElem>/opt/arm-miosix-eabi/arm-miosix-eabi/include/c++/4.7.3/arm-miosix-eabi/thumb/cm4/hardfp/fpv4/bits</pElem> - <pElem>../miosix</pElem> - </incDir> + flavor2="8"> + <ccTool flags="1"> </ccTool> </item> - <item path="../miosix/util/unicode.cpp" ex="false" tool="1" flavor2="0"> - <ccTool> - <incDir> - <pElem>../miosix</pElem> - </incDir> + <item path="../miosix/util/crc16.cpp" ex="false" tool="1" flavor2="8"> + <ccTool flags="1"> </ccTool> </item> - <item path="../miosix/util/util.cpp" ex="false" tool="1" flavor2="0"> - <ccTool> - <incDir> - <pElem>../miosix/kernel</pElem> - <pElem>../miosix/arch/cortexM4_stm32f4/common</pElem> - <pElem>../miosix/arch/cortexM4_stm32f4/stm32f407vg_stm32f4discovery</pElem> - <pElem>../miosix/config</pElem> - <pElem>../miosix/kernel/scheduler/control</pElem> - <pElem>../miosix/stdlib_integration</pElem> - <pElem>../miosix/arch/common/CMSIS/Include</pElem> - <pElem>../miosix</pElem> - </incDir> + <item path="../miosix/util/lcd44780.cpp" ex="false" tool="1" flavor2="8"> + <ccTool flags="1"> </ccTool> </item> - <item path="../miosix/util/version.cpp" ex="false" tool="1" flavor2="0"> - <ccTool> - <incDir> - <pElem>../miosix</pElem> - </incDir> + <item path="../miosix/util/unicode.cpp" ex="false" tool="1" flavor2="8"> + <ccTool flags="1"> </ccTool> </item> - <folder path="0/miosix/arch/common/core"> - <ccTool> - <incDir> - <pElem>../miosix/arch/common/core</pElem> - <pElem>../miosix/kernel</pElem> - <pElem>../miosix/arch/common/CMSIS/Include</pElem> - <pElem>../miosix/arch/cortexM4_stm32f4/common/interfaces-impl</pElem> - <pElem>/opt/arm-miosix-eabi/arm-miosix-eabi/include/c++/4.7.3/arm-miosix-eabi/thumb/cm4/hardfp/fpv4/bits</pElem> - <pElem>../miosix/arch/cortexM4_stm32f4/common</pElem> - <pElem>../miosix/filesystem/console</pElem> - <pElem>../miosix/arch/cortexM4_stm32f4/stm32f407vg_stm32f4discovery</pElem> - <pElem>../miosix/config</pElem> - <pElem>../miosix/kernel/scheduler/control</pElem> - <pElem>../miosix/interfaces</pElem> - <pElem>../miosix</pElem> - </incDir> - </ccTool> - </folder> - <folder path="0/miosix/arch/cortexM4_stm32f4/common"> - <ccTool> - <incDir> - <pElem>../miosix/arch/cortexM4_stm32f4/common/interfaces-impl</pElem> - </incDir> + <item path="../miosix/util/util.cpp" ex="false" tool="1" flavor2="8"> + <ccTool flags="1"> </ccTool> - </folder> - <folder path="0/miosix/arch/cortexM4_stm32f4/stm32f407vg_stm32f4discovery/core"> - <ccTool> - <incDir> - <pElem>../miosix/arch/cortexM4_stm32f4/stm32f407vg_stm32f4discovery/core</pElem> - <pElem>../miosix/arch/common/CMSIS/Include</pElem> - <pElem>../miosix/arch/common/CMSIS/Device/ST/STM32F4xx/Include</pElem> - <pElem>../miosix/arch/common/core</pElem> - <pElem>../miosix</pElem> - </incDir> + </item> + <item path="../miosix/util/version.cpp" ex="false" tool="1" flavor2="8"> + <ccTool flags="1"> </ccTool> - </folder> - <folder path="0/miosix/arch/cortexM4_stm32f4/stm32f407vg_stm32f4discovery/interfaces-impl"> + </item> + <folder path="0/miosix"> <ccTool> <incDir> - <pElem>../miosix/kernel</pElem> - <pElem>../miosix/arch/common/CMSIS/Include</pElem> - <pElem>../miosix/arch/cortexM4_stm32f4/common/interfaces-impl</pElem> - <pElem>../miosix/arch/cortexM4_stm32f4/stm32f407vg_stm32f4discovery/interfaces-impl</pElem> - <pElem>../miosix/filesystem</pElem> - <pElem>/opt/arm-miosix-eabi/arm-miosix-eabi/include/c++/4.7.3/arm-miosix-eabi/thumb/cm4/hardfp/fpv4/bits</pElem> - <pElem>../miosix/arch/common/CMSIS/Device/ST/STM32F4xx/Include</pElem> - <pElem>../miosix/filesystem/console</pElem> - <pElem>../miosix/arch/common/drivers</pElem> - <pElem>../miosix/arch/cortexM4_stm32f4/common</pElem> - <pElem>../miosix/arch/cortexM4_stm32f4/stm32f407vg_stm32f4discovery</pElem> - <pElem>../miosix/config</pElem> - <pElem>../miosix/kernel/scheduler/control</pElem> - <pElem>../miosix/interfaces</pElem> - <pElem>../miosix</pElem> <pElem>../miosix/arch/common</pElem> - </incDir> - </ccTool> - </folder> - <folder path="0/miosix/filesystem/console"> - <ccTool> - <incDir> - <pElem>../miosix/filesystem/console</pElem> - <pElem>../miosix/kernel</pElem> - <pElem>../miosix/arch/common/CMSIS/Include</pElem> - <pElem>../miosix/arch/cortexM4_stm32f4/common/interfaces-impl</pElem> - <pElem>../miosix/filesystem/devfs</pElem> - <pElem>/opt/arm-miosix-eabi/arm-miosix-eabi/include/c++/4.7.3/arm-miosix-eabi/thumb/cm4/hardfp/fpv4/bits</pElem> - <pElem>../miosix/arch/cortexM4_stm32f4/common</pElem> - <pElem>../miosix/kernel/scheduler/priority</pElem> - <pElem>../miosix/stdlib_integration</pElem> - <pElem>../miosix/kernel/scheduler</pElem> - <pElem>../miosix/arch/cortexM4_stm32f4/stm32f407vg_stm32f4discovery</pElem> - <pElem>../miosix/config</pElem> - <pElem>../miosix/kernel/scheduler/control</pElem> - <pElem>../miosix</pElem> - </incDir> - </ccTool> - </folder> - <folder path="0/miosix/filesystem/devfs"> - <ccTool> - <incDir> - <pElem>../miosix/filesystem/devfs</pElem> - <pElem>../miosix/kernel</pElem> - <pElem>../miosix/filesystem</pElem> - <pElem>../miosix/arch/common/CMSIS/Include</pElem> - <pElem>../miosix/arch/cortexM4_stm32f4/common/interfaces-impl</pElem> - <pElem>/opt/arm-miosix-eabi/arm-miosix-eabi/include/c++/4.7.3/arm-miosix-eabi/thumb/cm4/hardfp/fpv4/bits</pElem> - <pElem>../miosix/interfaces</pElem> - <pElem>../miosix/kernel/scheduler/priority</pElem> - <pElem>../miosix/stdlib_integration</pElem> - <pElem>../miosix/kernel/scheduler</pElem> - <pElem>../miosix/arch/cortexM4_stm32f4/common</pElem> - <pElem>../miosix/arch/cortexM4_stm32f4/stm32f407vg_stm32f4discovery</pElem> - <pElem>../miosix/config</pElem> - <pElem>../miosix/kernel/scheduler/control</pElem> - <pElem>../miosix</pElem> - </incDir> - </ccTool> - </folder> - <folder path="0/miosix/filesystem/fat32"> - <ccTool> - <incDir> - <pElem>../miosix/filesystem/fat32</pElem> - </incDir> - </ccTool> - </folder> - <folder path="0/miosix/filesystem/mountpointfs"> - <ccTool> - <incDir> - <pElem>../miosix/filesystem/mountpointfs</pElem> - <pElem>../miosix/filesystem</pElem> - <pElem>../miosix/kernel</pElem> - <pElem>../miosix/arch/common/CMSIS/Include</pElem> - <pElem>../miosix/arch/cortexM4_stm32f4/common/interfaces-impl</pElem> - <pElem>/opt/arm-miosix-eabi/arm-miosix-eabi/include/c++/4.7.3/arm-miosix-eabi/thumb/cm4/hardfp/fpv4/bits</pElem> - <pElem>../miosix/interfaces</pElem> - <pElem>../miosix/arch/cortexM4_stm32f4/common</pElem> - <pElem>../miosix/arch/cortexM4_stm32f4/stm32f407vg_stm32f4discovery</pElem> - <pElem>../miosix/config</pElem> - <pElem>../miosix/kernel/scheduler/control</pElem> - <pElem>../miosix</pElem> - </incDir> - </ccTool> - </folder> - <folder path="0/miosix/kernel/scheduler"> - <ccTool> - <incDir> - <pElem>../miosix/kernel/scheduler/priority</pElem> - <pElem>../miosix/kernel</pElem> - <pElem>../miosix/stdlib_integration</pElem> - <pElem>../miosix/kernel/scheduler</pElem> <pElem>../miosix/arch/cortexM4_stm32f4/common</pElem> <pElem>../miosix/arch/cortexM4_stm32f4/stm32f407vg_stm32f4discovery</pElem> - <pElem>../miosix/config</pElem> - <pElem>../miosix/kernel/scheduler/control</pElem> - <pElem>/opt/arm-miosix-eabi/arm-miosix-eabi/include/c++/4.7.3/arm-miosix-eabi/thumb/cm4/hardfp/fpv4/bits</pElem> - <pElem>../miosix/arch/common/CMSIS/Include</pElem> - <pElem>../miosix/arch/cortexM4_stm32f4/common/interfaces-impl</pElem> - <pElem>../miosix</pElem> - </incDir> - </ccTool> - </folder> - <folder path="0/miosix/util"> - <ccTool> - <incDir> - <pElem>../miosix/util</pElem> </incDir> + <preprocessorList> + <Elem>COMPILING_MIOSIX</Elem> + </preprocessorList> </ccTool> </folder> </conf> @@ -5375,6 +5132,10 @@ </ccTool> </makeTool> </makefileType> + <item path="../cstimer.cpp" ex="false" tool="1" flavor2="0"> + </item> + <item path="../cstimer.h" ex="false" tool="3" flavor2="0"> + </item> <item path="../main.cpp" ex="false" tool="1" flavor2="0"> <ccTool> <incDir> @@ -6005,6 +5766,10 @@ </ccTool> </makeTool> </makefileType> + <item path="../cstimer.cpp" ex="false" tool="1" flavor2="0"> + </item> + <item path="../cstimer.h" ex="false" tool="3" flavor2="0"> + </item> <item path="../main.cpp" ex="false" tool="1" flavor2="0"> <ccTool> <incDir> @@ -6635,6 +6400,10 @@ </ccTool> </makeTool> </makefileType> + <item path="../cstimer.cpp" ex="false" tool="1" flavor2="0"> + </item> + <item path="../cstimer.h" ex="false" tool="3" flavor2="0"> + </item> <item path="../main.cpp" ex="false" tool="1" flavor2="0"> <ccTool> <incDir> @@ -7104,6 +6873,10 @@ </ccTool> </makeTool> </makefileType> + <item path="../cstimer.cpp" ex="false" tool="1" flavor2="0"> + </item> + <item path="../cstimer.h" ex="false" tool="3" flavor2="0"> + </item> <item path="../main.cpp" ex="false" tool="1" flavor2="0"> <ccTool> <incDir> @@ -7588,6 +7361,10 @@ </ccTool> </makeTool> </makefileType> + <item path="../cstimer.cpp" ex="false" tool="1" flavor2="0"> + </item> + <item path="../cstimer.h" ex="false" tool="3" flavor2="0"> + </item> <item path="../main.cpp" ex="false" tool="1" flavor2="0"> <ccTool> <incDir> @@ -8219,6 +7996,10 @@ </ccTool> </makeTool> </makefileType> + <item path="../cstimer.cpp" ex="false" tool="1" flavor2="0"> + </item> + <item path="../cstimer.h" ex="false" tool="3" flavor2="0"> + </item> <item path="../main.cpp" ex="false" tool="1" flavor2="0"> <ccTool> <incDir> @@ -8709,6 +8490,10 @@ </ccTool> </makeTool> </makefileType> + <item path="../cstimer.cpp" ex="false" tool="1" flavor2="0"> + </item> + <item path="../cstimer.h" ex="false" tool="3" flavor2="0"> + </item> <item path="../main.cpp" ex="false" tool="1" flavor2="0"> <ccTool> <incDir> @@ -9375,6 +9160,10 @@ </ccTool> </makeTool> </makefileType> + <item path="../cstimer.cpp" ex="false" tool="1" flavor2="0"> + </item> + <item path="../cstimer.h" ex="false" tool="3" flavor2="0"> + </item> <item path="../main.cpp" ex="false" tool="1" flavor2="9"> <ccTool> <incDir> @@ -9864,6 +9653,10 @@ </ccTool> </makeTool> </makefileType> + <item path="../cstimer.cpp" ex="false" tool="1" flavor2="0"> + </item> + <item path="../cstimer.h" ex="false" tool="3" flavor2="0"> + </item> <item path="../main.cpp" ex="false" tool="1" flavor2="9"> <ccTool> <incDir> @@ -10358,6 +10151,10 @@ </ccTool> </makeTool> </makefileType> + <item path="../cstimer.cpp" ex="false" tool="1" flavor2="0"> + </item> + <item path="../cstimer.h" ex="false" tool="3" flavor2="0"> + </item> <item path="../main.cpp" ex="false" tool="1" flavor2="9"> <ccTool> <incDir> diff --git a/miosix_np_2/nbproject/private/configurations.xml b/miosix_np_2/nbproject/private/configurations.xml index f63d12e9..894791aa 100644 --- a/miosix_np_2/nbproject/private/configurations.xml +++ b/miosix_np_2/nbproject/private/configurations.xml @@ -680,6 +680,8 @@ </df> <df name="miosix_np_2"> </df> + <in>cstimer.cpp</in> + <in>cstimer.h</in> <in>main.cpp</in> </df> </logicalFolder> diff --git a/miosix_np_2/nbproject/private/private.xml b/miosix_np_2/nbproject/private/private.xml index 382d3d0d..8efeae4e 100644 --- a/miosix_np_2/nbproject/private/private.xml +++ b/miosix_np_2/nbproject/private/private.xml @@ -10,7 +10,17 @@ <editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/1"/> <editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/2" lastBookmarkId="0"/> <open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2"> - <group/> + <group> + <file>file:/home/sasan/thesis/miosix/miosix-kernel/miosix/kernel/error.cpp</file> + <file>file:/home/sasan/thesis/miosix/miosix-kernel/cstimer.h</file> + <file>file:/home/sasan/thesis/miosix/miosix-kernel/miosix/arch/common/drivers/servo_stm32.cpp</file> + <file>file:/home/sasan/thesis/miosix/miosix-kernel/cstimer.cpp</file> + <file>file:/home/sasan/thesis/miosix/miosix-kernel/miosix/arch/common/CMSIS/Device/ST/STM32F4xx/Include/stm32f407xx.h</file> + <file>file:/home/sasan/thesis/miosix/miosix-kernel/miosix/arch/common/drivers/servo_stm32.h</file> + <file>file:/home/sasan/thesis/miosix/miosix-kernel/main.cpp</file> + <file>file:/home/sasan/thesis/miosix/miosix-kernel/miosix/arch/cortexM4_stm32f4/stm32f407vg_stm32f4discovery/interfaces-impl/arch_registers_impl.h</file> + <file>file:/home/sasan/thesis/miosix/miosix-kernel/miosix/kernel/kernel.h</file> + </group> </open-files> <preferences xmlns="http://www.netbeans.org/ns/auxiliary-configuration-preferences/1"> <module name="org-netbeans-modules-cnd-discovery"> diff --git a/miosix_np_2/nbproject/private/stm32f103ze_stm3210e-eval.properties b/miosix_np_2/nbproject/private/stm32f103ze_stm3210e-eval.properties index e69de29b..b7de9fba 100644 --- a/miosix_np_2/nbproject/private/stm32f103ze_stm3210e-eval.properties +++ b/miosix_np_2/nbproject/private/stm32f103ze_stm3210e-eval.properties @@ -0,0 +1 @@ +/home/sasan/thesis/miosix/miosix-kernel/main.cpp=/home/sasan/thesis/miosix/miosix-kernel#-MMD -MP -std=gnu++11 -D_MIOSIX_BOARDNAME=\"stm32f407vg_stm32f4discovery\" -Wno-unused-but-set-variable -D_BOARD_STM32F4DISCOVERY -D_ARCH_CORTEXM4_STM32F4 -DHSE_VALUE=8000000 -DSYSCLK_FREQ_168MHz=168000000 -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -O0 -ffunction-sections -Wall -g -c -Imiosix -Imiosix/config/arch/cortexM4_stm32f4/stm32f407vg_stm32f4discovery -I. -Imiosix -Imiosix/arch/common -Imiosix/arch/cortexM4_stm32f4/common -Imiosix/arch/cortexM4_stm32f4/stm32f407vg_stm32f4discovery main.cpp -o main.o diff --git a/miosix_np_2/nbproject/private/stm32f407vg_stm32f4discovery.properties b/miosix_np_2/nbproject/private/stm32f407vg_stm32f4discovery.properties index e69de29b..08aa6fcd 100644 --- a/miosix_np_2/nbproject/private/stm32f407vg_stm32f4discovery.properties +++ b/miosix_np_2/nbproject/private/stm32f407vg_stm32f4discovery.properties @@ -0,0 +1 @@ +/home/sasan/thesis/miosix/miosix-kernel/cstimer.cpp=/home/sasan/thesis/miosix/miosix-kernel#-MMD -MP -std=gnu++11 -D_MIOSIX_BOARDNAME=\"stm32f407vg_stm32f4discovery\" -Wno-unused-but-set-variable -D_BOARD_STM32F4DISCOVERY -D_ARCH_CORTEXM4_STM32F4 -DHSE_VALUE=8000000 -DSYSCLK_FREQ_168MHz=168000000 -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -O0 -ffunction-sections -Wall -g -c -Imiosix -Imiosix/config/arch/cortexM4_stm32f4/stm32f407vg_stm32f4discovery -I. -Imiosix -Imiosix/arch/common -Imiosix/arch/cortexM4_stm32f4/common -Imiosix/arch/cortexM4_stm32f4/stm32f407vg_stm32f4discovery cstimer.cpp -o cstimer.o -- GitLab