⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qspy_ref.txt

📁 事件驱动程序设计很好的框架
💻 TXT
📖 第 1 页 / 共 4 页
字号:
    <TD><B>MATLAB Index Matrix</B></TD>  </TR>  <TR bgColor="#f0f0f0">    <TD>\c #QS_QF_NEW</TD>    <TD><TT>%Q_NEW(:,6) &gt; 0</TT></TD>  </TR>  <TR bgColor="#c0c0c0">    <TD>\c #QS_QF_GC_ATTEMPT</TD>    <TD><TT>%Q_NEW(:,6) == 0</TT></TD>  </TR>  <TR bgColor="#f0f0f0">    <TD>\c #QS_QF_GC</TD>    <TD><TT>%Q_NEW(:,6) &lt; 0</TT></TD>  </TR></TABLE>\section MATLAB_Q_PUB Q_PUB MatrixThe N-by-6 \c Q_PUB matrix stores QS records pertaining to publishing eventsin QF. The following table summarizes how the QS records are stored in thematrix:<TABLE SUMMARY="Q_PUB Matrix" cellSpacing=4 cellPadding=1 border=0ALIGN="center">  <TR bgColor="#c8cedc" ALIGN="center">    <TD><B>&nbsp;MATLAB index --&gt;</B></TD>    <TD><B>1</B></TD>    <TD><B>2</B></TD>    <TD><B>3</B></TD>    <TD><B>4</B></TD>    <TD><B>5</B></TD>    <TD><B>6</B></TD>  </TR>  <TR bgColor="#f0f0f0" ALIGN="center">    <TD><B>QS Record\n |\n V</B></TD>    <TD><B>Time\n Stamp</B></TD>    <TD><B>Signal</B></TD>    <TD><B>PoolID</B></TD>    <TD><B>Ref.\n Count</B></TD>    <TD><B># Events\n Multicast</B></TD>    <TD><B>Delta</B></TD>  </TR>  <TR bgColor="#c0c0c0" ALIGN="center">    <TD>\c #QS_QF_PUBLISH</TD>    <TD>#</TD>    <TD>#</TD>    <TD>#</TD>    <TD>#</TD>    <TD>#</TD>    <TD>#</TD>  </TR></TABLE>The following criteria (index matrices in MATLAB) unambiguously select the QSrecords from the \c Q_PUB matrix:<TABLE SUMMARY="Q_PUB records" cellSpacing=4 cellPadding=1 border=0ALIGN="center">  <TR bgColor="#c8cedc" ALIGN="center">    <TD><B>QS Record</B></TD>    <TD><B>MATLAB Index Matrix</B></TD>  </TR>  <TR bgColor="#f0f0f0">    <TD>\c #QS_QF_PUBLISH</TD>    <TD><TT>Q_PUB(:,6) &gt; 0</TT></TD>  </TR></TABLE>\section MATLAB_Q_TIME Q_TIME MatrixThe N-by-7 \c Q_TIME matrix stores QS records pertaining to time events in QF.The following table summarizes how the QS records are stored in the matrix:<TABLE SUMMARY="Q_TIME Matrix" cellSpacing=4 cellPadding=1 border=0ALIGN="center">  <TR bgColor="#c8cedc" ALIGN="center">    <TD><B>&nbsp;MATLAB index --&gt;</B></TD>    <TD><B>1</B></TD>    <TD><B>2</B></TD>    <TD><B>3</B></TD>    <TD><B>4</B></TD>    <TD><B>5</B></TD>    <TD><B>6</B></TD>    <TD><B>7</B></TD>  </TR>  <TR bgColor="#f0f0f0" ALIGN="center">    <TD><B>QS Record\n |\n V</B></TD>    <TD><B>Time\n Stamp</B></TD>    <TD><B>QTimeEvt\n Object</B></TD>    <TD><B>Signal</B></TD>    <TD><B>QActive\n Object</B></TD>    <TD><B>QTimeEvt\n Counter</B></TD>    <TD><B>QTimeEvt\n Interval</B></TD>    <TD><B>QTimeEvt\n Delta</B></TD>  </TR>  <TR bgColor="#c0c0c0" ALIGN="center">    <TD>\c #QS_QF_TICK</TD>    <TD>NaN</TD>    <TD>NaN</TD>    <TD>NaN</TD>    <TD>NaN</TD>    <TD>#(1)</TD>    <TD>NaN</TD>    <TD>0</TD>  </TR>  <TR bgColor="#f0f0f0" ALIGN="center">    <TD>\c #QS_QF_TIMEEVT_ARM</TD>    <TD>#</TD>    <TD>#</TD>    <TD>NaN</TD>    <TD>#</TD>    <TD>#</TD>    <TD>#</TD>    <TD>+1</TD>  </TR>  <TR bgColor="#c0c0c0" ALIGN="center">    <TD>\c #QS_QF_TIMEEVT_DISARM</TD>    <TD>#</TD>    <TD>#</TD>    <TD>NaN</TD>    <TD>#</TD>    <TD>#</TD>    <TD>#</TD>    <TD>-1</TD>  </TR>  <TR bgColor="#f0f0f0" ALIGN="center">    <TD>\c #QS_QF_TIMEEVT_AUTO_DISARM</TD>    <TD>NaN</TD>    <TD>#</TD>    <TD>NaN</TD>    <TD>#</TD>    <TD>NaN</TD>    <TD>NaN</TD>    <TD>-1</TD>  </TR>  <TR bgColor="#c0c0c0" ALIGN="center">    <TD>\c #QS_QF_TIMEEVT_DISARM_ATTEMPT</TD>    <TD>#</TD>    <TD>#</TD>    <TD>NaN</TD>    <TD>#</TD>    <TD>NaN</TD>    <TD>NaN</TD>    <TD>0</TD>  </TR>  <TR bgColor="#f0f0f0" ALIGN="center">    <TD>\c #QS_QF_TIMEEVT_REARM</TD>    <TD>#</TD>    <TD>#</TD>    <TD>NaN</TD>    <TD>#</TD>    <TD>#</TD>    <TD>#</TD>    <TD>#(2)</TD>  </TR>  <TR bgColor="#c0c0c0" ALIGN="center">    <TD>\c #QS_QF_TIMEEVT_POST</TD>    <TD>#</TD>    <TD>#</TD>    <TD>#</TD>    <TD>#</TD>    <TD>NaN</TD>    <TD>NaN</TD>    <TD>0</TD>  </TR></TABLE>(1) For #QS_QF_TICK record this matrix element contains the Tick Counter.(2) For #QS_QF_TIMEEVT_REARM event this matrix element is 0 if the timeevent was disarmed and rearmed again, and 1 if the time event was only armed.The cumulative sum over the 'Delta' column indicates the total number of armedtime events at any given time. The following picture shows the plot for thetest data:\image html FigQSPY.04.jpg "Plot stairs(Q_TIME(:,1), cumsum(Q_TIME(:,7)))"The following criteria (index matrices in MATLAB) unambiguously select the QSrecords from the \c Q_TIME matrix:<TABLE SUMMARY="Q_TIME records" cellSpacing=4 cellPadding=1 border=0ALIGN="center">  <TR bgColor="#c8cedc" ALIGN="center">    <TD><B>QS Record</B></TD>    <TD><B>MATLAB Index Matrix</B></TD>  </TR>  <TR bgColor="#f0f0f0">    <TD>\c #QS_QF_TICK</TD>    <TD><TT>isnan(Q_TIME(:,2))</TT></TD>  </TR>  <TR bgColor="#c0c0c0">    <TD>\c #QS_QF_TIMEEVT_ARM</TD>    <TD><TT>Q_TIME(:,7) &gt; 0</TT></TD>  </TR>  <TR bgColor="#f0f0f0">    <TD>\c #QS_QF_TIMEEVT_DISARM</TD>    <TD><TT>~isnan(Q_TIME(:,1)) & Q_TIME(:,7) &lt; 0</TT></TD>  </TR>  <TR bgColor="#c0c0c0">    <TD>\c #QS_QF_TIMEEVT_AUTO_DISARM</TD>    <TD><TT>isnan(Q_TIME(:,1)) & Q_TIME(:,7) &lt; 0</TT></TD>  </TR>  <TR bgColor="#f0f0f0">    <TD>\c #QS_QF_TIMEEVT_DISARM_ATTEMPT</TD>    <TD><TT>isnan(Q_TIME(:,3)) & isnan(Q_TIME(:,5)) & Q_TIME(:,7) == 0</TT></TD>  </TR>  <TR bgColor="#c0c0c0">    <TD>\c #QS_QF_TIMEEVT_REARM</TD>    <TD><TT>isnan(Q_TIME(:,3)) & ~isnan(Q_TIME(:,5))</TT></TD>  </TR>  <TR bgColor="#f0f0f0">    <TD>\c #QS_QF_TIMEEVT_POST</TD>    <TD><TT>~isnan(Q_TIME(:,3)) & ~isnan(Q_TIME(:,4))</TT></TD>  </TR></TABLE>\section MATLAB_Q_INT Q_INT MatrixThe N-by-3 \c Q_INT matrix stores QS records pertaining to interrupt lockingand unlocking. The following table summarizes how the QS records are stored inthe matrix:<TABLE SUMMARY="Q_INT Matrix" cellSpacing=4 cellPadding=1 border=0ALIGN="center">  <TR bgColor="#c8cedc" ALIGN="center">    <TD><B>&nbsp;MATLAB index --&gt;</B></TD>    <TD><B>1</B></TD>    <TD><B>2</B></TD>    <TD><B>3</B></TD>  </TR>  <TR bgColor="#f0f0f0" ALIGN="center">    <TD><B>QS Record\n |\n V</B></TD>    <TD><B>Time\n Stamp</B></TD>    <TD><B>Interrupt\n Nesting</B></TD>    <TD><B>Nesting\n Delta</B></TD>  </TR>  <TR bgColor="#c0c0c0" ALIGN="center">    <TD>\c #QS_QF_INT_LOCK</TD>    <TD>#</TD>    <TD>#</TD>    <TD>+1</TD>  </TR>  <TR bgColor="#f0f0f0" ALIGN="center">    <TD>\c #QS_QF_INT_UNLOCK</TD>    <TD>#</TD>    <TD>#</TD>    <TD>-1</TD>  </TR></TABLE>The cumulative sum over the 'Delta' column indicates interrupt lock nestingand should closely follow column 2.The following criteria (index matrices in MATLAB) unambiguously select the QSrecords from the \c Q_INT matrix:<TABLE SUMMARY="Q_INT records" cellSpacing=4 cellPadding=1 border=0ALIGN="center">  <TR bgColor="#c8cedc" ALIGN="center">    <TD><B>QS Record</B></TD>    <TD><B>MATLAB Index Matrix</B></TD>  </TR>  <TR bgColor="#f0f0f0">    <TD>\c #QS_QF_INT_LOCK</TD>    <TD><TT>Q_INT(:,3) &gt; 0</TT></TD>  </TR>  <TR bgColor="#c0c0c0">    <TD>\c #QS_QF_INT_UNLOCK</TD>    <TD><TT>Q_INT(:,3) &lt; 0</TT></TD>  </TR></TABLE>\section MATLAB_Q_ISR Q_ISR MatrixThe N-by-4 \c Q_ISR matrix stores QS records pertaining to interrupt entry andexit. The following table summarizes how the QS records are stored in thematrix:<TABLE SUMMARY="Q_ISR Matrix" cellSpacing=4 cellPadding=1 border=0ALIGN="center">  <TR bgColor="#c8cedc" ALIGN="center">    <TD><B>&nbsp;MATLAB index --&gt;</B></TD>    <TD><B>1</B></TD>    <TD><B>2</B></TD>    <TD><B>3</B></TD>    <TD><B>4</B></TD>  </TR>  <TR bgColor="#f0f0f0" ALIGN="center">    <TD><B>QS Record\n |\n V</B></TD>    <TD><B>Time\n Stamp</B></TD>    <TD><B>Interrupt\n Nesting</B></TD>    <TD><B>ISR\n Priority</B></TD>    <TD><B>Nesting\n Delta</B></TD>  </TR>  <TR bgColor="#c0c0c0" ALIGN="center">    <TD>\c #QS_QF_ISR_ENTRY</TD>    <TD>#</TD>    <TD>#</TD>    <TD>#</TD>    <TD>+1</TD>  </TR>  <TR bgColor="#f0f0f0" ALIGN="center">    <TD>\c #QS_QF_ISR_EXIT</TD>    <TD>#</TD>    <TD>#</TD>    <TD>#</TD>    <TD>-1</TD>  </TR></TABLE>The cumulative sum over the 'Delta' column indicates interrupt nesting leveland should closely follow column 2.The following criteria (index matrices in MATLAB) unambiguously select the QSrecords from the \c Q_ISR matrix:<TABLE SUMMARY="Q_ISR records" cellSpacing=4 cellPadding=1 border=0ALIGN="center">  <TR bgColor="#c8cedc" ALIGN="center">    <TD><B>QS Record</B></TD>    <TD><B>MATLAB Index Matrix</B></TD>  </TR>  <TR bgColor="#f0f0f0">    <TD>\c #QS_QF_ISR_ENTRY</TD>    <TD><TT>Q_ISR(:,4) &gt; 0</TT></TD>  </TR>  <TR bgColor="#c0c0c0">    <TD>\c #QS_QF_ISR_EXIT</TD>    <TD><TT>Q_ISR(:,4) &lt; 0</TT></TD>  </TR></TABLE>\section MATLAB_Q_MUTEX Q_MUTEX MatrixThe N-by-4 \c Q_MUTEX matrix stores QS records pertaining to thepriority-ceiling mutex activity in QK. The following table summarizes how theQS records are stored in the matrix:<TABLE SUMMARY="Q_MUTEX Matrix" cellSpacing=4 cellPadding=1 border=0ALIGN="center">  <TR bgColor="#c8cedc" ALIGN="center">    <TD><B>&nbsp;MATLAB index --&gt;</B></TD>    <TD><B>1</B></TD>    <TD><B>2</B></TD>    <TD><B>3</B></TD>    <TD><B>4</B></TD>  </TR>  <TR bgColor="#f0f0f0" ALIGN="center">    <TD><B>QS Record\n |\n V</B></TD>    <TD><B>Time\n Stamp</B></TD>    <TD><B>Original\n Priority</B></TD>    <TD><B>Priority\n Ceiling</B></TD>    <TD><B>Nesting\n Delta</B></TD>  </TR>  <TR bgColor="#c0c0c0" ALIGN="center">    <TD>\c #QS_QK_MUTEX_LOCK</TD>    <TD>#</TD>    <TD>#</TD>    <TD>#</TD>    <TD>+1</TD>  </TR>  <TR bgColor="#f0f0f0" ALIGN="center">    <TD>\c #QS_QK_MUTEX_UNLOCK</TD>    <TD>#</TD>    <TD>#</TD>    <TD>#</TD>    <TD>-1</TD>  </TR></TABLE>The cumulative sum over the 'Delta' column indicates QK scheduler lock nestinglevel.\image html FigQSPY.05.jpg "Plot stairs(Q_MUTEX(:,1), cumsum(Q_MUTEX(:,4)), 'r') (red)"The following criteria (index matrices in MATLAB) unambiguously select the QSrecords from the \c Q_ISR matrix:<TABLE SUMMARY="Q_ISR records" cellSpacing=4 cellPadding=1 border=0ALIGN="center">  <TR bgColor="#c8cedc" ALIGN="center">    <TD><B>QS Record</B></TD>    <TD><B>MATLAB Index Matrix</B></TD>  </TR>  <TR bgColor="#f0f0f0">    <TD>\c #QS_QK_MUTEX_LOCK</TD>    <TD><TT>Q_MUTEX(:,4) &gt; 0</TT></TD>  </TR>  <TR bgColor="#c0c0c0">    <TD>\c #QS_QK_MUTEX_UNLOCK</TD>    <TD><TT>Q_MUTEX(:,4) &lt; 0</TT></TD>  </TR></TABLE>\section MATLAB_Q_SCHED Q_SCHED MatrixThe N-by-3 \c Q_SCHED matrix stores QS records pertaining to scheduling nexttask in QK. The following table summarizes how the QS records are stored inthe matrix:<TABLE SUMMARY="Q_MUTEX Matrix" cellSpacing=4 cellPadding=1 border=0ALIGN="center">  <TR bgColor="#c8cedc" ALIGN="center">    <TD><B>&nbsp;MATLAB index --&gt;</B></TD>    <TD><B>1</B></TD>    <TD><B>2</B></TD>    <TD><B>3</B></TD>  </TR>  <TR bgColor="#f0f0f0" ALIGN="center">    <TD><B>QS Record\n |\n V</B></TD>    <TD><B>Time\n Stamp</B></TD>    <TD><B>Preempted\n Priority</B></TD>    <TD><B>New\n Priority</B></TD>  </TR>  <TR bgColor="#c0c0c0" ALIGN="center">    <TD>\c #QS_QK_SCHEDULE</TD>    <TD>#</TD>    <TD>#</TD>    <TD>#</TD>  </TR></TABLE>\image html logo_ql_TM.jpgCopyright &copy; 2002-2008 Quantum Leaps, LLC. All Rights Reserved.\nhttp://www.quantum-leaps.com*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -