add screen library
This commit is contained in:
		| @@ -0,0 +1,74 @@ | ||||
| #ifndef CORTEXMMCUINSTRUMENTATION_HPP | ||||
| #define CORTEXMMCUINSTRUMENTATION_HPP | ||||
|  | ||||
| #include <platform/core/MCUInstrumentation.hpp> | ||||
| #include <stdint.h> | ||||
|  | ||||
| namespace touchgfx | ||||
| { | ||||
| /** | ||||
|  * @class CortexMMCUInstrumentation CortexMMCUInstrumentation.hpp platform/core/arm/cortex-m/CortexMMCUInstrumentation.hpp | ||||
|  * | ||||
|  * @brief Interface for instrumenting Cortex-M processors to measure MCU load via measured CPU | ||||
|  *        cycles. | ||||
|  * | ||||
|  *        Interface for instrumenting Cortex-M processors to measure MCU load via measured CPU | ||||
|  *        cycles. | ||||
|  * | ||||
|  * @sa MCUInstrumentation | ||||
|  */ | ||||
| class CortexMMCUInstrumentation : public MCUInstrumentation | ||||
| { | ||||
| public: | ||||
|     /** | ||||
|      * @fn virtual void CortexMMCUInstrumentation::init(); | ||||
|      * | ||||
|      * @brief Initialization. | ||||
|      * | ||||
|      *        Initialization. | ||||
|      */ | ||||
|     virtual void init(); | ||||
|  | ||||
|     /** | ||||
|      * @fn virtual unsigned int CortexMMCUInstrumentation::getElapsedUS(unsigned int start, unsigned int now, unsigned int clockfrequency); | ||||
|      * | ||||
|      * @brief Gets elapsed microseconds basedon clockfrequency. | ||||
|      * | ||||
|      *        Gets elapsed microseconds basedon clockfrequency. | ||||
|      * | ||||
|      * @param start          Start time. | ||||
|      * @param now            Current time. | ||||
|      * @param clockfrequency Clock frequency of the system. | ||||
|      * | ||||
|      * @return Elapsed microseconds start and now. | ||||
|      */ | ||||
|     virtual unsigned int getElapsedUS(unsigned int start, unsigned int now, unsigned int clockfrequency); | ||||
|  | ||||
|     /** | ||||
|      * @fn virtual unsigned int CortexMMCUInstrumentation::getCPUCycles(); | ||||
|      * | ||||
|      * @brief Gets CPU cycles from register. | ||||
|      * | ||||
|      *        Gets CPU cycles from register. | ||||
|      * | ||||
|      * @return CPU cycles. | ||||
|      */ | ||||
|     virtual unsigned int getCPUCycles(); | ||||
|  | ||||
|     /** | ||||
|      * @fn virtual void CortexMMCUInstrumentation::setMCUActive(bool active); | ||||
|      * | ||||
|      * @brief Register if MCU is active by measuring cpu cycles. | ||||
|      * | ||||
|      *        Register if MCU is active by measuring cpu cycles. If user wishes to track | ||||
|      *        MCU load, this method should be called whenever the OS Idle task is scheduled | ||||
|      *        in or out. This method makes calls to a concrete implementation of GPIO | ||||
|      *        functionality and a concrete implementation of cpu cycles. | ||||
|      * | ||||
|      * @param active If true, MCU is registered as being active, inactive otherwise. | ||||
|      */ | ||||
|     virtual void setMCUActive(bool active); | ||||
| }; | ||||
| } // namespace touchgfx | ||||
|  | ||||
| #endif // CORTEXMMCUINSTRUMENTATION_HPP | ||||
		Reference in New Issue
	
	Block a user