您的位置:首页 > 其它

STM32 UCOS所需最小空间参考(备忘)

2015-12-27 17:27 246 查看
转载地址:
http://blog.sina.com.cn/s/blog_542bad910101qs9z.html


STM32 UCOS所需最小空间参考(备忘)

(2013-07-19 11:41:39)


转载▼

分类: STM32
利用STM32跑UCOS 写了个很简单的程序,编译如下

Program Size: Code=24562 RO-data=746 RW-data=88 ZI-data=7456

以此推算,小于FLASH小于24K RAM小于8K 根本不能考虑STM32的UCOS,只能祼奔,

STM32的FLASH到还好满足些,一般都有64K,主要是RAM,看来STM32F0XX STM32F100上估计是没多大希望的了

----------------------以下为main.c-----------------------

#define MAIN_C

#include "includes.h"

void first_task(void *pdata);

void task_2(void *pdata);

void task_3(void *pdata);

int main()

{

RCC_ClocksTypeDef OS_Clocks;

bsp_Ini(); //初始化各个驱动,放于bsp_ini.c中

OSInit(); //ucos的系统初始化

RCC_GetClocksFreq(&OS_Clocks);

OS_CPU_SysTickInit( OS_Clocks.HCLK_Frequency / OS_TICKS_PER_SEC ); //设置时钟滴答,1ms

OSTaskCreate(first_task,0,&stk1[99],task1_sn); //创建第一个任务

OSStart(); //任务开始

}

void first_task(void *pdata) //在第一个任务里面创建其他任务(官方的推荐)

{

INT8U err;

int AD_value;

pdata=pdata;

flag1=OSFlagCreate(0,&err);

OSTaskCreate(task_2,0,&stk2[99],task2_sn);

OSTaskCreate(task_3,0,&stk3[99],task3_sn);

while(1)

{

AD_value=(int) ( (double) ADC_GetConversionValue(ADC1) *3/4096 * 100 ) ;

DEBUG_COM_STREAM("\r\nAD=%L",(u8*)&AD_value);//USART_SendData(USART1, test);

OSTimeDly(1000);

}

}

void task_2(void *pdata) //在第一个任务里面创建其他任务(官方的推荐)

{

INT8U err1;

char test;

pdata=pdata;

while(1)

{

OSFlagPend(flag1,EVENT_1,OS_FLAG_WAIT_SET_ALL+OS_FLAG_CONSUME,0,&err1);

test = (char)USART_Date;

DEBUG_COM_STREAM("\r\n收到:%c",(u8*)&test);//USART_SendData(USART1, test);

DAC_SetChannel1Data(DAC_Align_12b_R, test*16);

}

}

u8 count;

void task_3(void *pdata) //在第一个任务里面创建其他任务(官方的推荐)

{

pdata=pdata;

GPIO_INITIAL();

EXTI_INITIAL(ENABLE);

while(1)

{

OSTimeDly(1000);

count++;

if(count==3000)

{PWR_EnterSTOPMode(PWR_Regulator_LowPower, PWR_STOPEntry_WFI);

RCC_Ini();//bsp_Ini();

count=0;

}

else if(wake_id!=0)

{DEBUG_COM_STREAM("wake_id=%x",(u8*)&wake_id);

wake_id=0;

}

DEBUG_COM_STREAM(" 我是任务3=%x",&count);

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: