为什么很少有在pic18上移植ucos移植的信息

博客访问: 94622
博文数量: 47
博客积分: 2190
博客等级: 大尉
技术积分: 658
注册时间:
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: 嵌入式
由于项目需求要移植ucos到PIC24F单片机,就移植过程中遇到的问题进行一下总结:
1.系统时钟:
&& 整个单片机运行的基础,上手的BSP_INT()中一定要选择好时钟。
2.定时器中断:
&& 一定要在OSStart()后开启定时器中断,但是系统调用OSStart()后不会返回,所以应该在第一个任务开始的时候开启定时器中断。
3.时钟节拍:
&&& 时钟节拍是整个ucos运行的基础,是ucos模拟时间片的核心,一般在定时器中断中调用时钟节拍函数OSTimeTick(),然后进行任务调度。但是如果调用OSIntExt(),程序总是跑飞。至今没找到原因。将OSIntExt()中的OSIntCtxSw()换成OSCtxSw()后,程序可以运行。
4.空闲任务:
&&& 不要在空闲任务中进行任务调度。
5.每秒时钟节拍数:
&&& 每秒时钟节拍数不能太低,如果CPU主频不是太低的话,最好能在每秒钟500以上。我原来将它设的太低,导致LCD总是出现乱码。但也不能太高,否则系统开销太大。
阅读(715) | 评论(0) | 转发(0) |
相关热门文章
给主人留下些什么吧!~~
请登录后评论。不错,1!!
因为跳不出思想的桎梏,所以逃不过命运的摆布。
UID1017881&帖子54&精华0&积分58&资产58 信元&发贴收入275 信元&推广收入0 信元&附件收入0 信元&下载支出316 信元&阅读权限10&在线时间16 小时&注册时间&最后登录&
支持一个....
UID121970&帖子34&精华0&积分2&资产2 信元&发贴收入180 信元&推广收入0 信元&附件收入0 信元&下载支出264 信元&阅读权限10&在线时间13 小时&注册时间&最后登录&
PIC成冷门了
[通过 QQ、MSN 分享给朋友]
TI信号链专区正式上线,欢迎访问!推荐这篇日记的豆列
······后使用快捷导航没有帐号?
为什么从micrium官网上下载的PIC18系列移植范例不能用
在线时间13 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 60, 距离下一级还需 140 积分
一粒金砂(中级), 积分 60, 距离下一级还需 140 积分
我编译时候出现提示头文件找不到,比如有个delays.h,根本就没有,这个是怎么回事啊,网上也找不到成功能用的范例,痛苦啊
忘了补充一下,PIC我虽然知道,也有一块板子,但几乎没用过,更没有在上面跑过UCOS2,会不会是官方添加的不知道,我只是在UCOS2的文件里找过,没有这个delays.h或类似的文件。&
这个可能是你从官网上下载下来的移植范例里面没有带UCOS2的代码文件,例如os_core.c、os_flag.c、os_mbox.c、os_mem.c等11个文件,你先查查这个文件有吗。如果没有,这个似乎是因为担心版权的问题,官方不提供相关的&
在线时间228 小时
威望3062分
芯币4946枚
E金币280枚
TA的帖子TA的资源
五彩晶圆(初级), 积分 3062, 距离下一级还需 438 积分
五彩晶圆(初级), 积分 3062, 距离下一级还需 438 积分
原帖由 lxgree2013 于
16:08 发表
我编译时候出现提示头文件找不到,比如有个delays.h,根本就没有,这个是怎么回事啊,网上也找不到成功能用的范例,痛苦啊 这个可能是你从官网上下载下来的移植范例里面没有带UCOS2的代码文件,例如os_core.c、os_flag.c、os_mbox.c、os_mem.c等11个文件,你先查查这个文件有吗。如果没有,这个似乎是因为担心版权的问题,官方不提供相关的代码,需要你自己去获得,只需要把这些文件放到它对应要求的目录下。因为UCOS2是极具移植性的在C上,所以几乎所有的嵌入式CPU上,这一套代码都一样。你自己去网上搜一下,估计论坛里也有支持下载的,你加进去试试。
至于delays,我查了下,确实是没有的。你确认你下的文件是官方的移植范例吗???你是不是改了,或者说是下了个本身有问题的范例呀!!!
在线时间228 小时
威望3062分
芯币4946枚
E金币280枚
TA的帖子TA的资源
五彩晶圆(初级), 积分 3062, 距离下一级还需 438 积分
五彩晶圆(初级), 积分 3062, 距离下一级还需 438 积分
原帖由 lxgree2013 于
16:08 发表
我编译时候出现提示头文件找不到,比如有个delays.h,根本就没有,这个是怎么回事啊,网上也找不到成功能用的范例,痛苦啊 忘了补充一下,PIC我虽然知道,也有一块板子,但几乎没用过,更没有在上面跑过UCOS2,会不会是官方添加的不知道,我只是在UCOS2的文件里找过,没有这个delays.h或类似的文件。
看到你的头像我就笑了,自来也 sa ma,三忍之一,哈哈:lol
其实Micrum官网上目前只有24和32系列的移植范例,18系列的已经没了,我在PUDN网上搜索到了,然后下载了好多个版本,里面都有这个delays.h,很奇怪&
在线时间13 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 60, 距离下一级还需 140 积分
一粒金砂(中级), 积分 60, 距离下一级还需 140 积分
回复 板凳 lr2131 的帖子
看到你的头像我就笑了,自来也 sa ma,三忍之一,哈哈
其实Micrum官网上目前只有24和32系列的移植范例,18系列的已经没了,我在PUDN网上搜索到了,然后下载了好多个版本,里面都有这个delays.h,很奇怪
还没有出结果吗?&
难道这个delays.h是PIC某个编译环境内部定义的库文件?
如果简单的话,你要不自己试着对着这些编译链接时链接不到的函数,按接口要求自己实现相关的函数,实现部分在delays.c中,然后写个delays.h的文件来声明这&
在线时间228 小时
威望3062分
芯币4946枚
E金币280枚
TA的帖子TA的资源
五彩晶圆(初级), 积分 3062, 距离下一级还需 438 积分
五彩晶圆(初级), 积分 3062, 距离下一级还需 438 积分
原帖由 lxgree2013 于
15:25 发表
看到你的头像我就笑了,自来也 sa ma,三忍之一,哈哈
其实Micrum官网上目前只有24和32系列的移植范例,18系列的已经没了,我在PUDN网上搜索到了,然后下载了好多个版本,里面都有这个delays.h,很奇怪 难道这个delays.h是PIC某个编译环境内部定义的库文件?
如果简单的话,你要不自己试着对着这些编译链接时链接不到的函数,按接口要求自己实现相关的函数,实现部分在delays.c中,然后写个delays.h的文件来声明这些函数。
在线时间228 小时
威望3062分
芯币4946枚
E金币280枚
TA的帖子TA的资源
五彩晶圆(初级), 积分 3062, 距离下一级还需 438 积分
五彩晶圆(初级), 积分 3062, 距离下一级还需 438 积分
原帖由 lxgree2013 于
15:25 发表
看到你的头像我就笑了,自来也 sa ma,三忍之一,哈哈
其实Micrum官网上目前只有24和32系列的移植范例,18系列的已经没了,我在PUDN网上搜索到了,然后下载了好多个版本,里面都有这个delays.h,很奇怪 还没有出结果吗?
我原先用的C编译器和当年作者移植时用的编译器不一样,下载了它用的编译器后,这个delays.h竟然是它里面的头文件:cold:&
在线时间13 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 60, 距离下一级还需 140 积分
一粒金砂(中级), 积分 60, 距离下一级还需 140 积分
回复 6楼 lr2131 的帖子
我原先用的C编译器和当年作者移植时用的编译器不一样,下载了它用的编译器后,这个delays.h竟然是它里面的头文件
果然还是编译器内部自带的文件。:@:&
在线时间228 小时
威望3062分
芯币4946枚
E金币280枚
TA的帖子TA的资源
五彩晶圆(初级), 积分 3062, 距离下一级还需 438 积分
五彩晶圆(初级), 积分 3062, 距离下一级还需 438 积分
原帖由 lxgree2013 于
18:38 发表
我原先用的C编译器和当年作者移植时用的编译器不一样,下载了它用的编译器后,这个delays.h竟然是它里面的头文件 果然还是编译器内部自带的文件。
。。。。。。。&
在线时间13 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 60, 距离下一级还需 140 积分
一粒金砂(中级), 积分 60, 距离下一级还需 140 积分
回复 8楼 lr2131 的帖子
。。。。。。。
我手上有一块PIC16F877A的PIC开发板,调试器有PICkit2。
PIC的编译环境几个月前搭建过,问题不大。但是没有搞过它的调试环境。你用过PIC的板子,能不能告诉我PICkit2能在仿真/调试时看到CPU的寄存器吗?总之,我需&
在线时间228 小时
威望3062分
芯币4946枚
E金币280枚
TA的帖子TA的资源
五彩晶圆(初级), 积分 3062, 距离下一级还需 438 积分
五彩晶圆(初级), 积分 3062, 距离下一级还需 438 积分
原帖由 lxgree2013 于
21:47 发表
。。。。。。。 我手上有一块PIC16F877A的PIC开发板,调试器有PICkit2。
PIC的编译环境几个月前搭建过,问题不大。但是没有搞过它的调试环境。你用过PIC的板子,能不能告诉我PICkit2能在仿真/调试时看到CPU的寄存器吗?总之,我需要用到仿真调试环境查看系统实际的内存和寄存器,不管用什么仿真调试器和编译环境。
我想写一下PIC 8位机的任务调度器,在ARM7和MSP430上都搞得差不多了,之后在AVR8位机上弄,那编译环境和调试仿真环境把我搞烦了,现在又想着回家,所以就放下没再搞了。
等开年来了接着把这些个8位机的再弄一下。
为什么刚发表的帖子还要审核?&
PIC16F877A算是国内学习PIC的入门级产品了,很经典,不过我没用过,我现在公司里用的都是PIC18F6720这个型号,算是8位机中的高档产品了,不过如果不管底层的话,用C语言,都没什么区别,不过PIC16F877A这个型号好像&
在线时间13 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 60, 距离下一级还需 140 积分
一粒金砂(中级), 积分 60, 距离下一级还需 140 积分
回复 10楼 lr2131 的帖子
PIC16F877A算是国内学习PIC的入门级产品了,很经典,不过我没用过,我现在公司里用的都是PIC18F6720这个型号,算是8位机中的高档产品了,不过如果不管底层的话,用C语言,都没什么区别,不过PIC16F877A这个型号好像没有硬件堆栈,好像也没有出栈入栈指令
PICkit2这个调试器我没用过,不过应该也是支持在线DEBUG的,我用的都是公司统一申购的ICD3,这个很好用的,支持在线调试,什么寄存器都能看到,不过你说的内存我没看过,也不知道怎么看,你能不能再描述的清楚点,因为我一直都是跑裸机的,从没接触过内存这块儿
8位机的任务调度器是什么意思?搞那个有什么用,跟UCOS-II有关系吗?
AVR我没用过,不过MSP430倒是用过,留给我的印象也非常好,TI大厂就是NB,不过个人感觉做实际控制的话,还是PIC的好用一些,我用PIC的有3年多了,对编译环境啊什么的问题你尽管问我,我会第一时间给你回复的,要不我加你QQ怎么样,可以吗
我玩了裸机3年,最近周围很多人在学习STM32,我其实很明白如果不跑操作系统且碰到的问题不复杂,那完全没有必要用那种单片机,你同意我的观点吗?我以前在学校时候就自学过MSP430的,C8051的,所以深知如果不深入底层研究,仅仅是操作一下外设的寄存器,真没有什么意思,我的计划是这样:
1:先看完邵贝贝的书(用了2个星期,已完成,头痛! )
2:从网上搞个PIC18系列的移植范例好好研究一下底层移植的原理(正在搞,问题越来越多 )
3:研究一下任务级的安排,体会一下在操作系统下的编程并熟练使用(主要是指主程序那块儿)
4:由于我也知道PIC18系列主频低(8M),RAM小,外设简单,如果将来想真正应用,必须学些PIC公司的高档产品PIC32系列,所以当在8位上玩转后,就自己找资料画个最小系统板,然后移植UCOS-II进去并熟练使用,这是我近期的终极目标
你觉得怎么样,有什么好的建议,我现在遇到的最大困难时,PIC移植的资料很少,很多都是ARM和STM的,但是我不想为了学习移植一个UC-OS而去学ARM,我感觉没有必要,再说PIC32的开发环境和烧写工具与目前一模一样,这样我会节省很多精力,你觉得呢
其实我主打的是ARM,但是也喜欢玩一些其他的MCU。很多人说学单片机,在AVR/MSP430/PIC里面挑一个学一下就可以了。我是想学了ARM,有时间就把这些都学一下,反正时间和板子都有,就算是考核一下把ARM的学习经验移&
在线时间13 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 60, 距离下一级还需 140 积分
一粒金砂(中级), 积分 60, 距离下一级还需 140 积分
回复 10楼 lr2131 的帖子
为什么刚发表的帖子还要审核?
如果带链接,是需要通过审核的。&
在线时间228 小时
威望3062分
芯币4946枚
E金币280枚
TA的帖子TA的资源
五彩晶圆(初级), 积分 3062, 距离下一级还需 438 积分
五彩晶圆(初级), 积分 3062, 距离下一级还需 438 积分
原帖由 lxgree2013 于
17:00 发表
PIC16F877A算是国内学习PIC的入门级产品了,很经典,不过我没用过,我现在公司里用的都是PIC18F6720这个型号,算是8位机中的高档产品了,不过如果不管底层的话,用C语言,都没什么区别,不过PIC16F877A这个型号好像没 ...
其实我主打的是ARM,但是也喜欢玩一些其他的MCU。很多人说学单片机,在AVR/MSP430/PIC里面挑一个学一下就可以了。我是想学了ARM,有时间就把这些都学一下,反正时间和板子都有,就算是考核一下把ARM的学习经验移植到这些MCU上吧。PIC16F877A确实是国内学习PIC的入门级的学习板,淘宝一看就是这个了。其实我也知道以后基本很少需要搞底层汇编的,只是出于兴趣和增强信心。PIC的汇编也还没开始看,有没有硬件堆栈,有没有栈操作命令也不敢早下定论。今天看了一天的CM3的汇编和体系结构,很复杂,也很有意思。
这里说的内存其实是指RAM,一般的调试环境可以查看用户指定的RAM地址周围的值。
然后代码一般在ROM(说flash也行)里面,可以查看二进制代码,不过意义不大么。
之前我一直以为AVR和PIC都是16位机(16位CPU),结果才发现原来PIC和AVR也分8位/16位/32位的系列,而MSP430只有16位的。我个人估计AVR和PIC不同位宽的CPU核的指令体系结构不同,所以做任务调度器的汇编代码应该就不一样了。所以这里专门明说8位机,以后再看有没有必要玩一下16位和32位吧。
我同意你的观点。操作系统,其实不要太担心这个问题,在没有MMU的MCU上,操作系统不会怎么特别复杂的,一旦是上了MMU,那就复杂多了,不过话说回来,上MMU的基本都是32位的,那一般能上文件系统(主要是虚拟存储管理)的操作系统模块都会有方案提供商给出能用的操作系统,我们剩下的基本都是做一下应用程序开发,最多就是修改移植一下驱动程序。本质上和裸机开发区别很大的。没有MMU的MCU都可以算是裸机开发,但不过也分汇编级的开发和C/C++级的开发。目前汇编级的开发基本上都很少了,都是MCU官方或方案提供商来搞吧。一般都是做C/C++级的应用开发。
确实,只知道操作寄存器实在没意思,什么MCU上都有操作寄存器的。经验具有极大的移植性。会这个是必须的,但只会这个是不够的。
我觉得你的计划确实很好。确实没有必要为了学UCOS2和移植UCOS2,去深入ARM的实例,毕竟STM32的ARM核是ARMv6甚至是ARMv7的体系结构,比ARMv4的复杂的多得多了。真要学ARM底层,建议从ARM7(ARMv4)开始。简单一些且也很实用。当然,其实也没有必要为了学UCOS2专门去学ARM7。上到PIC32上,不见得它的主频和资源比ARM差,我记得AVR32似乎都比ARM11强大,STM32属于高端的。
开发环境确实是个不能忽视的因素,很多小鸟和老鸟都是在这个环境上面磨光了激情。我其实也是个初学者,不能算是老鸟,也被这个环境的问题消磨了,在AVR上花了不少时间,几种环境和调试器都试过了,要么这不行,要么那不行,头大啊。
呵呵,求加QQ啊:victory:&
在线时间13 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 60, 距离下一级还需 140 积分
一粒金砂(中级), 积分 60, 距离下一级还需 140 积分
回复 13楼 lr2131 的帖子
呵呵,求加QQ啊
在线时间8870 小时
威望185270分
芯币15944枚
TA的帖子TA的资源
原帖由 lxgree2013 于
17:04 发表
为什么刚发表的帖子还要审核? 如果带链接,是需要通过审核的。
2016,继续为中国电子行业做出小小的贡献吧!
Powered by
逛了这许久,何不进去瞧瞧?君,已阅读到文档的结尾了呢~~
基于PIC18F458的嵌入式实时操作系统uCOS-Ⅱ的移植与测试,嵌入式操作系统ucos,嵌入式软件 ucos 界面,嵌入式ucos,ucos移植,stm32移植ucos ii,stm32 ucos移植,ucosii移植,ucos iii 移植,ucosii移植到stm32
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
基于PIC18F458的嵌入式实时操作系统uCOS-Ⅱ的移植与测试
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer--144.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口

我要回帖

更多关于 ucos移植 的文章

 

随机推荐