花了几天时间,陆陆续续把书看完了。感觉也找到了。晚上的时候做了一个扩展测试。修改的代码EX1,主要增加的测试有:
1、单独创建一个task,用于semaphore测试
2、创建一个task,用于mailbox测试
3、创建一个task,用于queue测试
4、创建memory机制
增加了exttest.c和exttesth,修改了os_cfg.h文件。几个注意的地方:
1、函数返回值要检查
2、全局变量要保护
3、内存块的总数,大小、申请和释放
练习了可变函数的编写,如:
void DispError(const char *format,…)
{
va_list args; // should #include <stdarg.h>
va_start(args, format);
OS_ENTER_CRITICAL();
vsprintf(gmDispBuf, format, args);
OS_EXIT_CRITICAL();
va_end(args);
PC_DispClrRow(DISP_EXT_Y_ERROR_BAR, DISP_FGND_BLUE+ DISP_BGND_LIGHT_GRAY);
PC_DispStr(0, DISP_EXT_Y_ERROR_BAR, gmDispBuf, DISP_FGND_BLUE+ DISP_BGND_LIGHT_GRAY);
}
Posted by Ian at 06:28 Tagged with: 练习, 编码
1、单独创建一个task,用于semaphore测试
2、创建一个task,用于mailbox测试
3、创建一个task,用于queue测试
4、创建memory机制
增加了exttest.c和exttesth,修改了os_cfg.h文件。几个注意的地方:
1、函数返回值要检查
2、全局变量要保护
3、内存块的总数,大小、申请和释放
练习了可变函数的编写,如:
void DispError(const char *format,…)
{
va_list args; // should #include <stdarg.h>
va_start(args, format);
OS_ENTER_CRITICAL();
vsprintf(gmDispBuf, format, args);
OS_EXIT_CRITICAL();
va_end(args);
PC_DispClrRow(DISP_EXT_Y_ERROR_BAR, DISP_FGND_BLUE+ DISP_BGND_LIGHT_GRAY);
PC_DispStr(0, DISP_EXT_Y_ERROR_BAR, gmDispBuf, DISP_FGND_BLUE+ DISP_BGND_LIGHT_GRAY);
}
Posted by Ian at 06:28 Tagged with: 练习, 编码