你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【STM32F429开发日志】5.uCOS-ii V2.91 移植OK

[复制链接]
caizhiwei 提问时间:2014-6-4 09:38 /


硬件平台:STM32F429-DISCOVERY
软件平台:MDK510
Author : http://blog.sina.com.cn/caizhiwei99
ucos-ii :Version   : V2.91


Readme:


修改说明:
1. 在stm32f4xx.h中,Uncomment the #define STM32F427_437xx ;
    Uncomment the #define USE_STDPERIPH_DRIVER ;
        modify:HSE_VALUE to 8Mhz
        #if !defined  (HSE_VALUE) 
    #define HSE_VALUE    ((uint32_t)8000000) /*!< Value of the External oscillator in Hz */
    #endif /* HSE_VALUE */
2. 在system_stm32f4xx.c中:
    #define PLL_M      8       
    #if defined (STM32F427_437xx) || defined (STM32F429_439xx)
      uint32_t SystemCoreClock = 168000000;
    #endif /* STM32F427_437x || STM32F429_439xx */
       
ucos-ii代码修改:
1.OS_CPU.H 
访问临界代码段的方法:
#define  OS_CRITICAL_METHOD   3


#if OS_CRITICAL_METHOD == 3
#define  OS_ENTER_CRITICAL()  {cpu_sr = OS_CPU_SR_Save();}
#define  OS_EXIT_CRITICAL()   {OS_CPU_SR_Restore(cpu_sr);}
#endif


以上是相关的程序片段。如果应用程序中用了这两个宏,那么要定义一个局部变量并初始化
为0 ,如OS_CPU_SR  cpu_sr  = 0; 


在中断服务函数中:
void SysTick_Handler(void)
{
#if OS_CRITICAL_METHOD == 3 /* Allocate storage for CPU status register */
    OS_CPU_SR  cpu_sr = 0;
#endif


    OS_ENTER_CRITICAL();  /* Tell uC/OS-II that we are starting an ISR */
    OSIntNesting++;
    OS_EXIT_CRITICAL();


    OSTimeTick();  /* Call uC/OS-II's OSTimeTick() */


    OSIntExit();  /* Tell uC/OS-II that we are leaving the ISR */       
}
在os_cpu_c中,systick初始化:
void  OS_CPU_SysTickInit (void)
{
    INT32U  cnts;
        RCC_ClocksTypeDef  rcc_clocks;


        RCC_GetClocksFreq(&rcc_clocks);        //获得系统时钟频率。
    cnts = rcc_clocks.HCLK_Frequency / OS_TICKS_PER_SEC;
        SysTick_Config(cnts);
}


1.本例程主要实现了二值信号量和互斥信号的优先级反转?
main.c文件里1-8注释说明了互斥执行顺序。由用户按键启动此过程。任务0、1、2。
2.加入对列的操作。其实队列Q就像是多个邮箱Mbox的组合。任务3。
加入了事件标志Flag,满足两个事件后,挂起的任务解锁。存储块的创建,获取,释放操作。任务4、5。


下载:


10.UCOSv2.91移植.zip (4.3 MB, 下载次数: 2383)
收藏 2 评论50 发布时间:2014-6-4 09:38

举报

50个回答
xuyejin 回答时间:2016-1-8 17:15:44
你好,这个ucos楼主试过 ossempost 和ossempend么?好像不行啊,一切换就死啊
jetmin 回答时间:2016-8-3 18:53:23
好东西啊,真好需要
dengyijun103 回答时间:2017-9-12 16:05:38
谢谢!很感谢。
lnasdxx-79844 回答时间:2014-6-4 11:08:44

回复:【STM32F429开发日志】5.uCOS-ii V2.91 移植OK

学习学习!谢谢了
yf341 回答时间:2014-6-5 10:21:37

RE:【STM32F429开发日志】5.uCOS-ii V2.91 移植OK

谢谢分享,
飞翔-396652 回答时间:2014-6-5 10:35:39

RE:【STM32F429开发日志】5.uCOS-ii V2.91 移植OK

学习学习!谢谢了
守望者-425038 回答时间:2014-6-6 15:58:20

回复:【STM32F429开发日志】5.uCOS-ii V2.91 移植OK

xuexi
ddllxxrr 回答时间:2014-6-15 18:19:42

RE:【STM32F429开发日志】5.uCOS-ii V2.91 移植OK

谢谢分享
abcdotaabc 回答时间:2014-6-16 10:47:03

RE:【STM32F429开发日志】5.uCOS-ii V2.91 移植OK

楼主可以留下一个联系方式?
lanxinmhj-34912 回答时间:2014-6-17 15:09:58

RE:【STM32F429开发日志】5.uCOS-ii V2.91 移植OK

挺好的,学习了。
nzhuzhu 回答时间:2014-6-23 09:28:50

RE:【STM32F429开发日志】5.uCOS-ii V2.91 移植OK

多谢分享
友情牵绊-2046836 回答时间:2014-6-24 18:03:45

回复:【STM32F429开发日志】5.uCOS-ii V2.91 移植OK

 参考参考!!!
快乐汉 回答时间:2014-6-24 20:56:15

回复:【STM32F429开发日志】5.uCOS-ii V2.91 移植OK

学习中,谢谢分享!
yulin 回答时间:2014-6-29 11:31:14

RE:【STM32F429开发日志】5.uCOS-ii V2.91 移植OK

学习学习!谢谢
ikxlf 回答时间:2014-7-7 19:00:36

回复:【STM32F429开发日志】5.uCOS-ii V2.91 移植OK

[face]0fffff04[/face]
漠小然 回答时间:2014-7-7 19:11:33

RE:【STM32F429开发日志】5.uCOS-ii V2.91 移植OK

又要回复
菜鸟的m4之路 回答时间:2014-7-7 23:20:00

回复:【STM32F429开发日志】5.uCOS-ii V2.91 移植OK

 好好学习,楼主霸气
1234下一页
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版