By Mcuzone
调试串口波特率:115200-uart2
基于MDKK70-EK_T7硬件平台
MQX系统功能测试,全部测试函数测试通过后,串口输出:All tests passed.
程序:
extern void background_test_task(uint_32);
const TASK_TEMPLATE_STRUCT MQX_template_list[] =
{
/* Task Index, Function, Stack, Priority, Name, Attributes, Param, Time Slice */
{ 10, background_test_task, 2000, 8, "Main", MQX_AUTO_START_TASK, 0, 0 },
{ 0 }
};
/*TASK*----------------------------------------------------------
*
* Task Name : background_test_task
* Comments :
* This task is meant to run in the background testing for
* integrity of MQX component datastructures.
*END*-----------------------------------------------------------*/
void background_test_task
(
uint_32 parameter
)
{
_partition_id partition;
_lwmem_pool_id lwmem_pool_id;
pointer error_ptr;
pointer error2_ptr;
_mqx_uint error;
_mqx_uint result;
while (TRUE) {
result = _event_test(&error_ptr);
if (result != MQX_OK){
printf("\nFailed _event_test: 0x%X.", result);
_task_block();
}
result = _log_test(&error);
if (result != MQX_OK){
printf("\nFailed _log_test: 0x%X.", result);
_task_block();
}
result = _lwevent_test(&error_ptr, &error2_ptr);
if (result != MQX_OK){
printf("\nFailed _lwevent_test: 0x%X.", result);
_task_block();
}
result = _lwlog_test(&error);
if (result != MQX_OK){
printf("\nFailed _lwlog_test: 0x%X.", result);
_task_block();
}
result = _lwsem_test(&error_ptr, &error2_ptr);
if (result != MQX_OK){
printf("\nFailed _lwsem_test: 0x%X.", result);
_task_block();
}
result = _lwmem_test(&lwmem_pool_id, &error_ptr);
if (result != MQX_OK){
printf("\nFailed _lwmem_test: 0x%X.", result);
_task_block();
}
result = _lwtimer_test(&error_ptr, &error2_ptr);
if (result != MQX_OK){
printf("\nFailed _lwtimer_test: 0x%X.", result);
_task_block();
}
#if ! MQX_USE_LWMEM_ALLOCATOR
result = _mem_test_all(&error_ptr);
if (result != MQX_OK){
printf("\nFailed _mem_test_all,");
printf("\nError = 0x%X, pool = 0x%X.", result,
(_mqx_uint)error_ptr);
_task_block();
}
#endif
/*
** Create the message component.
** Verify the integrity of message pools and message queues.
*/
if (_msg_create_component() != MQX_OK){
printf("\nError creating the message component.");
_task_block();
}
if (_msgpool_test(&error_ptr, &error2_ptr) != MQX_OK){
printf("\nFailed _msgpool_test.");
_task_block();
}
if (_msgq_test(&error_ptr, &error2_ptr) != MQX_OK){
printf("\nFailed _msgq_test.");
_task_block();
}
if (_mutex_test(&error_ptr) != MQX_OK){
printf("\nFailed _mutex_test.");
_task_block();
}
if (_name_test(&error_ptr, &error2_ptr) != MQX_OK){
printf("\nFailed _name_test.");
_task_block();
}
if (_partition_test(&partition, &error_ptr, &error2_ptr)
!= MQX_OK)
{
printf("\nFailed _partition_test.");
_task_block();
}
if (_sem_test(&error_ptr) != MQX_OK){
printf("\nFailed _sem_test.");
_task_block();
}
if (_taskq_test(&error_ptr, &error2_ptr) != MQX_OK){
printf("\nFailed _takq_test.");
_task_block();
}
if (_timer_test(&error_ptr) != MQX_OK){
printf("\nFailed _timer_test.");
_task_block();
}
if (_watchdog_test(&error_ptr, &error2_ptr) != MQX_OK){
printf("\nFailed _watchlog_test.");
_task_block();
}
printf("All tests passed.");
_task_block();
}
}
基于MDKK70-EK_T7硬件平台
MQX系统功能测试,全部测试函数测试通过后,串口输出:All tests passed.
程序:
extern void background_test_task(uint_32);
const TASK_TEMPLATE_STRUCT MQX_template_list[] =
{
/* Task Index, Function, Stack, Priority, Name, Attributes, Param, Time Slice */
{ 10, background_test_task, 2000, 8, "Main", MQX_AUTO_START_TASK, 0, 0 },
{ 0 }
};
/*TASK*----------------------------------------------------------
*
* Task Name : background_test_task
* Comments :
* This task is meant to run in the background testing for
* integrity of MQX component datastructures.
*END*-----------------------------------------------------------*/
void background_test_task
(
uint_32 parameter
)
{
_partition_id partition;
_lwmem_pool_id lwmem_pool_id;
pointer error_ptr;
pointer error2_ptr;
_mqx_uint error;
_mqx_uint result;
while (TRUE) {
result = _event_test(&error_ptr);
if (result != MQX_OK){
printf("\nFailed _event_test: 0x%X.", result);
_task_block();
}
result = _log_test(&error);
if (result != MQX_OK){
printf("\nFailed _log_test: 0x%X.", result);
_task_block();
}
result = _lwevent_test(&error_ptr, &error2_ptr);
if (result != MQX_OK){
printf("\nFailed _lwevent_test: 0x%X.", result);
_task_block();
}
result = _lwlog_test(&error);
if (result != MQX_OK){
printf("\nFailed _lwlog_test: 0x%X.", result);
_task_block();
}
result = _lwsem_test(&error_ptr, &error2_ptr);
if (result != MQX_OK){
printf("\nFailed _lwsem_test: 0x%X.", result);
_task_block();
}
result = _lwmem_test(&lwmem_pool_id, &error_ptr);
if (result != MQX_OK){
printf("\nFailed _lwmem_test: 0x%X.", result);
_task_block();
}
result = _lwtimer_test(&error_ptr, &error2_ptr);
if (result != MQX_OK){
printf("\nFailed _lwtimer_test: 0x%X.", result);
_task_block();
}
#if ! MQX_USE_LWMEM_ALLOCATOR
result = _mem_test_all(&error_ptr);
if (result != MQX_OK){
printf("\nFailed _mem_test_all,");
printf("\nError = 0x%X, pool = 0x%X.", result,
(_mqx_uint)error_ptr);
_task_block();
}
#endif
/*
** Create the message component.
** Verify the integrity of message pools and message queues.
*/
if (_msg_create_component() != MQX_OK){
printf("\nError creating the message component.");
_task_block();
}
if (_msgpool_test(&error_ptr, &error2_ptr) != MQX_OK){
printf("\nFailed _msgpool_test.");
_task_block();
}
if (_msgq_test(&error_ptr, &error2_ptr) != MQX_OK){
printf("\nFailed _msgq_test.");
_task_block();
}
if (_mutex_test(&error_ptr) != MQX_OK){
printf("\nFailed _mutex_test.");
_task_block();
}
if (_name_test(&error_ptr, &error2_ptr) != MQX_OK){
printf("\nFailed _name_test.");
_task_block();
}
if (_partition_test(&partition, &error_ptr, &error2_ptr)
!= MQX_OK)
{
printf("\nFailed _partition_test.");
_task_block();
}
if (_sem_test(&error_ptr) != MQX_OK){
printf("\nFailed _sem_test.");
_task_block();
}
if (_taskq_test(&error_ptr, &error2_ptr) != MQX_OK){
printf("\nFailed _takq_test.");
_task_block();
}
if (_timer_test(&error_ptr) != MQX_OK){
printf("\nFailed _timer_test.");
_task_block();
}
if (_watchdog_test(&error_ptr, &error2_ptr) != MQX_OK){
printf("\nFailed _watchlog_test.");
_task_block();
}
printf("All tests passed.");
_task_block();
}
}