搜索
bottom↓
回复: 27

应kinsey朋友的要求,发个ucos-II在mega64中的移植实例,Winavr20050214编译。

[复制链接]

出0入0汤圆

发表于 2006-6-1 10:15:33 | 显示全部楼层 |阅读模式
该例子已经调试通过的。电路简单,在程序中很容易看懂,所以就不添加电路图了。例子中还有ds1302时钟芯片的操作函数,同时也可以作为Winavr中多文件编译的一个参考吧。



昨天提到的问题还没得到解决呢,呵呵,郁闷中~~~~~~~~~~~





实例资料:点击此处下载armok01119336.rar

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2006-6-1 11:15:02 | 显示全部楼层
非常感谢楼主!!

出0入0汤圆

 楼主| 发表于 2006-6-1 20:17:22 | 显示全部楼层
呵呵, 不用客气。还请多指教。

出0入0汤圆

发表于 2006-6-1 21:09:41 | 显示全部楼层
谢谢共享,不知道楼主在LPC2104下跑过UCOS2没有?
-----此内容被only于2006-06-01,21:45:22编辑过

出0入0汤圆

发表于 2006-6-1 22:17:09 | 显示全部楼层
我对ucos还是刚刚学了,应该你多指点我才对。哈哈!

出0入0汤圆

 楼主| 发表于 2006-6-2 08:13:23 | 显示全部楼层
to 3楼



不好意思, 没玩过LPC系列的。

出0入0汤圆

发表于 2006-6-6 15:48:39 | 显示全部楼层
请教楼主:

    我怎么没有找到你是用哪个定时器做时标呀?

    在初始化中看到:

    TCNT1 = 65535 - (CPU_CLOCK_HZ / OS_TICKS_PER_SEC / 256);           //  定时常数

    这么一句,觉得T1应该是时标,但是怎么也找不着T1的定时中断在哪里,惭愧呀。

    而且在你的程序中,我也没有发现调用OSTimeTick之类的函数,那么Tick怎么得来呀,那些OSDly之类的函数怎么会有用呢?还请楼主多多指教。

出0入0汤圆

发表于 2006-6-6 16:10:46 | 显示全部楼层
找到了,原来是在asm文件中,不好意思。所有c文件都打开了,就这个文件没有打开,所以没有搜到,低级错误。

出0入0汤圆

 楼主| 发表于 2006-6-6 16:31:32 | 显示全部楼层
呵呵, 系统时钟那边是用汇编写的。

出0入0汤圆

发表于 2006-6-6 17:59:47 | 显示全部楼层
我是新手,呵呵,希望楼主能把原理图也贴出来,好照样自己做个板子。或发到我的油箱

lh_tian@yahoo.com.cn

谢谢~~~

出0入0汤圆

 楼主| 发表于 2006-6-7 08:19:14 | 显示全部楼层
最基本的工作电路:晶振电路 + 复位电路



芯片:mega64



485收发控制:PB0控制串口0,PB6控制串口1



DS1302控制:



*  PORTB5 -> RST

*  PORTB4 -> I/O

*  PORTB3 -> SCK



LED控制: PPORTB1 -〉GLED,PORTB2 -〉 RLED;



无其他连接了,当时只是随便测试用的,现在那个电路图已经找不到了,

实在抱歉。按上面的连接可以自己搭一下板子用用就行。

出0入0汤圆

发表于 2006-6-7 18:55:19 | 显示全部楼层
好,多谢~~~~~~~~

出0入0汤圆

发表于 2007-9-4 23:50:38 | 显示全部楼层
感谢,真高兴下来一编译就通过,不用改东西!顶!

出0入0汤圆

发表于 2007-9-9 22:03:08 | 显示全部楼层
顶,确实一下来就能用,很高兴!不过还有个问题,怎样能生成个COF文件在职AVR Studio 4中调试呢?

出0入0汤圆

发表于 2007-9-10 00:21:10 | 显示全部楼层
回楼上的,输入指令make coff即可,但是不要忘了,makefile中的DEBUG = stabs

出0入0汤圆

发表于 2007-9-10 01:03:28 | 显示全部楼层
非常感谢你的指点;不过好象编出的在AVR STUDIO中调试只有一个文件OS_CPU_A.ASM!我直接用AVR STUDIO建工程倒是可以仿真。但在编译的时候不能生成elf文件,需要另外COPY一个过来,很奇怪!我不太了解makefile(看了书与文章,也只了解个大概)。

出0入0汤圆

发表于 2007-9-10 15:34:46 | 显示全部楼层
是我的编译环境有问题,多谢了!

出0入0汤圆

发表于 2008-4-15 12:00:49 | 显示全部楼层
楼主我来向你报恩来了,我得好好顶顶你,我在帖子上发了关于消息队列中如何取出两条消息的问题在你的指导下解决了,自己由于初学,所以没什么能够奉献的,特此顶下,以表诚意!还有我看这里有些高手,你们要申请群主吧,这里还没个家呢
呵呵!

出0入0汤圆

发表于 2008-4-15 12:27:43 | 显示全部楼层
mark

出0入0汤圆

发表于 2008-4-18 20:11:10 | 显示全部楼层
我 在自己做的板子上移植了ucosii v2.80。mcu是atmega64,测试没什么问题,移植本身跑的很稳定,可是今天发现一个奇怪问题,前几天移植成功后做测试的时候,我把最大任务数设为3(不 包括空闲任务),把MBOX,MUTEX等事件全禁止了,这样编译没问题,今天想在上面跑个复杂的例子,于是把最大任务数设为12,打开MBOX,MUTEX等,可是编译的时候出现古怪问日,google了很长时间未找到有用的信息,特在此请教大家:错误信息如下:
os_cpu_a.o:os_cpu_a.S:339: relocation truncated to fit: R_AVR_13_PCREL against symbol `OSIntEnter' defined in .text section in os_core.o
os_cpu_a.o:os_cpu_a.S:343: relocation truncated to fit: R_AVR_13_PCREL against symbol `OSTimeTick' defined in .text section in os_core.o
os_cpu_a.o:os_cpu_a.S:345: relocation truncated to fit: R_AVR_13_PCREL against symbol `OSIntExit' defined in .text section in os_core.o
make: *** [ucosgcc.elf] Error 1
Build succeeded with 0 Warnings...
不知道可有人知道怎么搞?到底出什么问题了 ?
编译器:winavr-20070525
thanks

出0入0汤圆

发表于 2009-3-16 12:18:50 | 显示全部楼层
楼主不错,我现在想学习下!

出0入0汤圆

发表于 2009-12-4 13:16:54 | 显示全部楼层
学习学习

出0入0汤圆

发表于 2009-12-4 13:48:03 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-5-4 16:50:16 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-6-4 10:33:32 | 显示全部楼层
下载学学,谢谢了

出0入0汤圆

发表于 2010-7-23 13:12:00 | 显示全部楼层
MARK

出0入0汤圆

发表于 2010-7-29 17:40:26 | 显示全部楼层
请问如果什么任务都不开,光ucos会占掉多少RAM呢?

出0入0汤圆

发表于 2010-8-5 13:13:36 | 显示全部楼层
mark
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-26 08:33

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表