kanprin 发表于 2006-6-1 10:15:33

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

该例子已经调试通过的。电路简单,在程序中很容易看懂,所以就不添加电路图了。例子中还有ds1302时钟芯片的操作函数,同时也可以作为Winavr中多文件编译的一个参考吧。



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





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

kinsey 发表于 2006-6-1 11:15:02

非常感谢楼主!!

kanprin 发表于 2006-6-1 20:17:22

呵呵, 不用客气。还请多指教。

only 发表于 2006-6-1 21:09:41

谢谢共享,不知道楼主在LPC2104下跑过UCOS2没有?
-----此内容被only于2006-06-01,21:45:22编辑过

kinsey 发表于 2006-6-1 22:17:09

我对ucos还是刚刚学了,应该你多指点我才对。哈哈!

kanprin 发表于 2006-6-2 08:13:23

to 3楼



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

kinsey 发表于 2006-6-6 15:48:39

请教楼主:

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

    在初始化中看到:

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

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

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

kinsey 发表于 2006-6-6 16:10:46

找到了,原来是在asm文件中,不好意思。所有c文件都打开了,就这个文件没有打开,所以没有搜到,低级错误。

kanprin 发表于 2006-6-6 16:31:32

呵呵, 系统时钟那边是用汇编写的。

dsp20tlh 发表于 2006-6-6 17:59:47

我是新手,呵呵,希望楼主能把原理图也贴出来,好照样自己做个板子。或发到我的油箱

lh_tian@yahoo.com.cn

谢谢~~~

kanprin 发表于 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;



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

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

dsp20tlh 发表于 2006-6-7 18:55:19

好,多谢~~~~~~~~

tiger2023 发表于 2007-9-4 23:50:38

感谢,真高兴下来一编译就通过,不用改东西!顶!

tiger2023 发表于 2007-9-9 22:03:08

顶,确实一下来就能用,很高兴!不过还有个问题,怎样能生成个COF文件在职AVR Studio 4中调试呢?

usbfish 发表于 2007-9-10 00:21:10

回楼上的,输入指令make coff即可,但是不要忘了,makefile中的DEBUG = stabs

tiger2023 发表于 2007-9-10 01:03:28

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

tiger2023 发表于 2007-9-10 15:34:46

是我的编译环境有问题,多谢了!

tan_zhichao 发表于 2008-4-15 12:00:49

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

spy2008 发表于 2008-4-15 12:27:43

mark

bluehacker 发表于 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: *** Error 1
Build succeeded with 0 Warnings...
不知道可有人知道怎么搞?到底出什么问题了 ?
编译器:winavr-20070525
thanks

yanrz 发表于 2009-3-16 12:18:50

楼主不错,我现在想学习下!

algebra 发表于 2009-12-4 13:16:54

学习学习

wcm_e 发表于 2009-12-4 13:48:03

mark

byin 发表于 2010-5-4 16:50:16

mark

xnjatvj 发表于 2010-6-4 10:33:32

下载学学,谢谢了

shouqiang_zhang 发表于 2010-7-23 13:12:00

MARK

xuhaikun 发表于 2010-7-29 17:40:26

请问如果什么任务都不开,光ucos会占掉多少RAM呢?

Sendzimir 发表于 2010-8-5 13:13:36

mark
页: [1]
查看完整版本: 应kinsey朋友的要求,发个ucos-II在mega64中的移植实例,Winavr20050214编译。