- 博客(16)
- 资源 (3)
- 收藏
- 关注
原创 STM32F10X启动代码注释
;* 文件名 : startup_stm32f10x_hd.s;* 库版本 : V3.5.0;* 说明 : 此文件为STM32F10x高密度设备的MDK工具链的启动文件;* 该模块执行以下操作:;* -设置初始堆栈指针(SP);* -设置初始程序计数器(PC)为复位向量,并在执行main函数前初始化系统时钟;* -设置向量表入口为异常事件的入口地址;* -复
2015-04-19 13:03:22
1351
原创 启动ucosii之七PC_SetTickRate(OS_TICKS_PER_SEC)
/*uCOS-II定义频率,以改变钟节拍的速率.在DOS下,每秒产生18.20648次时钟节拍,或每隔54.925ms一次.这是因为82C54定时器芯片没有初始化,而使用默认值65535的结果.如果初始化为58659,那么时钟节拍的速率就会精确地为20.000Hz*/void PC_SetTickRate (INT16U freq){#if OS_CRITICAL_ME
2013-05-24 16:38:35
3097
原创 启动ucosii之一OSInit()
第一步: OSInit();//初始化uCOS_II.该函数位于OS_CORE.C,主要工作:函数原型位于OS_CORE.COS_InitMisc(); /* 基础参数初始化 Initialize miscellaneous(混杂的,各种各样的) variables */OS_InitRdyList(); /* 初始化任务就绪表 Initialize the Ready List *
2013-05-24 16:30:01
4649
原创 启动之OS_CPU_C
任务堆栈结构的初始化在uC/OS-II中,任务是一个无限循环,任务之间也不会互相调用,但是uC/OS-II总是执行优先级最高的任务,假定当前有一个更高优先级的任务进入就绪状态,为了保证原来低优先级任务的完整性,uC/OS-II为每个任务建立了任务堆栈,就相当于函数调用时保存返回地址和参数一样,用来保存当前任务的状态,保证任务切换能和函数调用一样正确.只不过函数调用时函数堆栈的操作过程是编译器自
2013-05-24 14:47:13
1627
原创 启动ucosii之九OSTimeDlyHMSM(hours,minutes,seconds,milli)
//延迟指定时间长度原型出自OS_TIME.CINT8U OSTimeDlyHMSM (INT8U hours, INT8U minutes, INT8U seconds, INT16U milli){ INT32U ticks; INT16U loops; if (hours > 0 || minutes > 0 || seconds > 0 ||
2013-05-24 14:45:17
2602
原创 启动ucosii之五OSStart()
函数原型来自OS_CORE.C//该函数由SStart()函数调用,功能是运行优先级最高的就绪任务,在调用OSStart()之前,用户必须先调用OSInit(),并且已经至少创建了一个任务.//OSStartHighRdy()默认指针OSTCBHighRdy指向优先级最高就绪任务的任务控制块(OS_TCB)(在这之前OSTCBHighRdy已由OSStart()设置好了).void
2013-05-24 14:43:17
11649
2
原创 启动ucosii之八OSStatInit()
原型出自内核OS_CORE.C//统计任务的初始化#if OS_TASK_STAT_EN > 0void OSStatInit (void){#if OS_CRITICAL_METHOD == 3 /* Allocate storage for CPU status register */ OS_CPU_
2013-05-24 14:40:20
5588
原创 启动ucosii之六PC_VectSet(0x08,OSTickISR)
原型来自PC.Cvoid PC_VectSet (INT8U vect, void (*isr)(void)){#if OS_CRITICAL_METHOD == 3 /* Allocate storage for CPU status register */ OS_CPU_SR cpu_sr;#endif
2013-05-24 14:32:55
3327
原创 启动ucosii之四OSTaskCreate()
函数原型来自OS_TASK.C/*********************************************************************************************************** CREATE A TASK**************
2013-05-24 14:23:21
5129
原创 启动ucosii之三PC_VectSet(uCOS,OSCtxSw)
原型来自PC.CPC_VectSet(uCOS,OSCtxSw);//vect向量号,一个内部中断(软中断)向量号//参数2-中断处理函数.即中断号为0x80的中断处理函数void PC_VectSet (INT8U vect, void (*isr)(void)){#if OS_CRITICAL_METHOD == 3 /* Al
2013-05-24 14:18:05
4156
原创 启动ucosii之二PC_DOSSaveReturn()
以下函数原型来自PC.Cvoid PC_DOSSaveReturn (void){#if OS_CRITICAL_METHOD == 3 /* Allocate storage for CPU status register */ OS_CPU_SR cpu_sr;//OS_CPU.H typedef uns
2013-05-24 13:54:22
2231
原创 PC下简单任务之uCOSII启动脉络
#include "includes.h"#define TASK_STK_SIZE 512 //任务堆栈长度//typedef unsigned int OS_STK;定义在OS_CPU.h中OS_STK TaskStartStk[TASK_STK_SIZE]; //定义任务堆栈区-大小为2*512=1024byte=1kINT16S key;
2013-05-24 13:42:29
1199
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人