发新帖我要提问
12
返回列表
打印
[STM32F1]

50收购一个stm32f103,mdk5,ucosIII的空工程

[复制链接]
楼主: bany
手机看帖
扫描二维码
随时随地手机跟帖
21
cowboy2014| | 2015-9-29 09:26 | 只看该作者 回帖奖励 |倒序浏览
并且用这个做过项目的,很稳定

使用特权

评论回复
22
bany|  楼主 | 2015-9-29 09:48 | 只看该作者
cowboy2014 发表于 2015-9-29 09:24
我又ucos ii的,楼主要不要

谢谢,但是我原来的程序是III下写的,要是用II,好多特性都没法用了。由奢入俭难啊。实在不行我就重新在mdk5下移植一边吧。。。

使用特权

评论回复
23
bany|  楼主 | 2015-9-29 09:50 | 只看该作者
皈依 发表于 2015-9-29 09:25
原子的例程里面有。。。花那个钱干嘛

真的么?您确定?可以有具体开发板的型号么?stm32f10x的cpu,mdk5工程,带ucosIII,led例程就可以。您有的话方便给我一份么?我给你充话费。

使用特权

评论回复
24
Ketose| | 2015-9-29 10:06 | 只看该作者
分分钟给你移植一个。

使用特权

评论回复
25
HORSE7812| | 2015-9-29 10:08 | 只看该作者
mark

使用特权

评论回复
26
HORSE7812| | 2015-9-29 10:09 | 只看该作者
呵呵。。。。。

使用特权

评论回复
27
cowboy2014| | 2015-9-29 10:15 | 只看该作者
现在都开源了,何必花那冤枉钱

使用特权

评论回复
28
bany|  楼主 | 2015-9-29 10:55 | 只看该作者
不冤枉呢。劳动都是有价值的。而且,百十块钱的事,也就是各电话费而已。

使用特权

评论回复
29
m564522634| | 2015-9-29 14:38 | 只看该作者
自己去下载,这种东西大把。 你拿50块钱收了对你项目也没有什么作用。 我就不知道项目急是急到一种什么情况了,只能说你基本功有问题了。去下载原子的吧,不用你花50块钱了。

使用特权

评论回复
30
sdnumcu| | 2015-9-29 14:45 | 只看该作者
空工程都不做,你咋做项目

使用特权

评论回复
31
fanxsd| | 2015-9-29 15:40 | 只看该作者
空工程太多了,野火的 正点原子的 安福莱的。多如牛毛啊!

使用特权

评论回复
32
豆腐块| | 2015-9-29 16:34 | 只看该作者
mdk4和mdk5的区别还挺大啊

使用特权

评论回复
33
bany|  楼主 | 2015-9-29 23:41 | 只看该作者
mdk5的MDK-Middleware升级升级到最新版本后已经集成UCOSIII了。谢谢大家参与讨论。本帖可以结贴了。

使用特权

评论回复
34
lizhuang_1| | 2015-10-2 08:25 | 只看该作者
这种东西很多的啊,楼主现在还要吗?

使用特权

评论回复
35
dong_abc| | 2015-10-2 16:48 | 只看该作者
不错,我以后也来找模板。

使用特权

评论回复
36
bany|  楼主 | 2015-10-3 10:24 | 只看该作者
已经解决了。mdk5.15,升级最新pack就可以生成ucosIII的空工程,注意把pandsv和systick两个向量改了就ok了。中断机制和2013年的ucosIII官方文件有不同。之前的移植版本是所有中断向量都指向ucos的系统服务函数,ISR把自己注册到ucos的向量表中,本质上就是所有物理向量映射到ucos,然后由ucos的向量管理机制来处理。好处是所有中断都是由操作系统接管,健壮性较好,但是中断延时较长--延迟时间的确定性由系统调度机制来保证,但是精确性估计不大。mdk生成的ucos工程中,这部分代码由用户自己完成,不再由操作系统接管。同样的,好处是中断响应时间可以精确(系统调度的systick优先级高于自然向量,但是**中好像可以调整把?有需要的自己查手册把。),不好的地方。。。也没啥不好的把。。。
不过两种思路有一个显著区别,还是中断系统的区别。原先老的方式需要修改startup.s,把向量表替换成ucos定义的。这导致startup.s文件不通用。
另一个区别就是mdk4和mdk5的架构变动。mdk4对comsis的支持是通过将文件副本复制到工程文件夹下来实现的。好处是,你不用太担心comsis版本更换的问题,基本上所有的header都在本地,随便改,随便用。我就是在dma.c中添加了一个set_mem_addr函数,导致这个文件不通用,每次新建工程都要主意这个问题。
mdk5采用const引用,这样工程本地就不存在副本,文件小很多,版本管理也更高效。但是就没办法对工程内引用的comsis库进行任何更改了。这样做也确实更严谨。仔细观察引用库的图标,有些文件上带个小钥匙,这些就是锁定的引用。可以用,但是不可以更改。
这次导致我原先mdk4下的程序在mdk5下不能使用的原因就是这个。由于最近事多,即使知道原因,也没心情去细致追究这个细节,所以打算和网友们互通一下,付出点代价,得到点便利。但是好像很多人比较反感?后来在网上搜到一个论坛中提到MKD5中的rots,仔细查看发现已经内部集成了。然后简单测试一下,果然好用就结贴了。
而且集成的完全是按照mdk的架构做好调整的,用起来相当方便。不得不说,mdk5和mdk4的方便性差别实在很大。推荐大家都装一个mdk5看看。减少重复劳动,把精力用在更重要的地方,这才是工具的意义。
另外,mdk自带的pack升级程序实在烂,那速度,欲死欲仙的。建议大家去keil官网直接下载,然后本地安装比较好。
嗯,就这些心得,与诸君共勉。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则