make

CC=gcc
main:main.o dbproc.o sysconfig.o
$(CC)-o main main.o dbproc.o sysconfig.o
main.o:main.c mydef.h mytools.h
$(CC) -c main.c
dbproc.o:dbproc.c mydef.h
$(CC) -c dbproc.c
sysconfig.o:sysconfig.c mytools.h
$(CC) -c sysconfig.c
clean:
rm -f *.o

输出内容:

gcc-c main.c
gcc-c dbproc.c
gcc-c sysconfig.c
gcc-o main main.o dbproc.o sysconfig.o

function

void timex(FUNCPTR func,int arg1,int arg2,,,int arg8)
int taskSpawn(char* name,int priority,int options,int stacksize,FUNCPTR entryPt,int arg1,,,int arg8)
SEM_ID semMCreate ( int options);
STATUS semDelete ( SEM_ID semId); /* delete a semaphore */
STATUS semGive ( SEM_ID semId); /* give a semaphore*/
STATUS semTake ( SEM_ID semId, int timeout); /* take a semaphore*/
STATUS semFlush ( SEM_ID semId); /* unblock every task pended on a semaphore*/ 
MSG_Q_ID msgQCreate ( int maxMsgs, int maxMsgLength, int options); 
STATUS msgQSend ( MSG_Q_ID msgQId, char *buffer, UINT nBytes, int timeout,int priority );
/* send a message to a message queue,函数 msgQSend()可以指定欲发送消息的优先级:正常
MSG_PRI_NORMAL 或紧急 MSG_PRI_URGENT。*/
int msgQReceive(MSG_Q_ID msgQId, char *buffer, UINT maxNBytes, int timeout );
/* receive a message from a message queue*/
STATUS kernelTimeSlice(int ticks)
STATUS taskPrioritySet(int tid,int priority)

优先级

当高优先级的任务不得不等待一段不确定的时间,等待低优先级任务完成操作时,就发生优先级倒转。例如,prioHigh、prioMedium 和 prioLow 三个任务的优先级由高到低排列,prioLow 请求一个与二进制信号量相联系的资源,当prioHigh 抢占 prioLow 并需要竞争相同的资源,它将被阻塞。如果 prioHigh 阻塞的时间全部用来等待 prioLow 使用该资源,那么不会存在什么问题,因为资源不会被抢占。然而,如果这个低优先级的任务不得不被中等优先级的任务prioMedium 抢占,由于它不需要使用该资源,这时 prioLow 仍然占用该资源。这种情况可能进一步发生,使得 prioHigh 被迫等待一段不确定的时间。为避免这种情况,VxWorks 引进优先级继承机制。为使用优先级继承机制,当使用互斥信号量时,VxWorks 提供了一个附加的选项 SEM_INVERSION_SAFE,它允许使用优先级继承算法,该算法保证占有一个资源的任务,在其运行时,其优先级等于阻塞在该资源上的所有任务的优先级的最高值。当执行完成,这个任务释放资源,返回正常的优先级。因此,这个继承了最高优先级的任务,将不会被优先级比它的正常优先级高但又比继承的优先级低的任务抢占。

SEM_ID semId = semMCreate(SEM_Q_PRIORITY | SEM_INVERSION_SAFE) ; 

Q&A

Tornado 开发系统包含三个高度集成的部分,VxWorks;运行在目标机上的高性
能、可剪裁的实时操作系统;连接宿主机和目标机的多种通信方式以太网、串口线等等;

Boot Loader 是在嵌入式系统复位启动时,操作系统内核运行前,执行的一段程序。通过 Boot Loader,初始化硬件设备,建立内存和 I/O空间映射图,为最终加载操作系统内核调整好适当的系统软硬件环境。