搜索
bottom↓
回复: 17

【再上层楼】CooCox优化了CoX——基于ARM Cortex-M处理器的设备驱动统一接口

[复制链接]

出0入0汤圆

发表于 2011-10-14 17:47:13 | 显示全部楼层 |阅读模式
9月底,CooCox发布了CoX 2.0.0。

什么是CoX呢?CoX是基于ARM Cortex-M处理器的设备驱动统一接口。从下面这张图可以直观地看出使用CoX的好处——方便移植。


另外,要使用CooCox提供的外围驱动,即Repository页DRIVER.COX标签下的组件,也需使用CoX。

CoX 1.0.0是2010年9月发布的,CooCox将它成功地移植到了多种MCU上,如C11xx, NUC1xx等等。

虽然CoX 1.0.0实现了外设的通用功能,但它还存在如下缺点:

1. 不支持中断
2. API功能不全面。只实现了一些通用功能,没有充分实现特殊专用芯片的功能。
3. 没有囊括所有外设。使用某些外设时,用户需要借助其他厂商库,从而增大代码量,甚至出现代码逻辑冲突。

鉴于此,我们重写了CoX。我们准备了将近一年的时间,每定义一个接口前都阅读并比较了数份芯片制造商手册。新版本的CoX不仅解决了上面提到的问题,并且添加了一些新功能。

CoX 2.0.0特征:
---------------
1. 基于BSD协议,免费&开源
2. 统一标准的外设接口(功能,中断……),包含强制和非强制接口,适用范围更广
3. 满足不同MCU私有特性,实现各类外设全功能API
4. 轻量级接口,无损CodeSize和Speed
5. 丰富的Doxygen规范帮助文档,包含电路图

详情参见http://www.coocox.org/Cox.html

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

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2011-10-14 17:57:55 | 显示全部楼层
有机会也尝试一下。  CO系列软件很有意思。 很喜欢。 但是有一个让人有点没有什么头绪。
请教一下
1.使用COIDE  新唐CM0  怎么关联printf 函数。  没有找到具体的地方
2.__weak关键字  不能编译 。  这个是在新唐CM0 的UAC例子中发现的。

    能否指教一下谢谢!!!

出0入0汤圆

 楼主| 发表于 2011-10-14 18:13:25 | 显示全部楼层
回复【2楼】bynce 罗曼
-----------------------------------------------------------------------

多谢支持~!

1. 在Repository视图(组件页)勾选C Library和Retarget printf即可。
2. 在相关文件首行加上
#define WEAK __attribute__ ((weak))

并将__weak 替换为WEAK

出0入0汤圆

发表于 2011-10-14 18:14:48 | 显示全部楼层
看看,学习一下

出0入0汤圆

发表于 2011-10-14 19:20:09 | 显示全部楼层
这个东东没用过,用过你们的实时操作系统CoOS,非常不错。在一块LPC11xx板上跑的,把原来的程序转换成几个任务同时跑。没有遇到任何障碍。

另外,强力推荐CoIDE,这是个定制的Eclipse。国内用的多是盗版Keil、IAR之类的。CoIDE一样强大,而且没有任何盗版问题。

你们搞的是真正的开源项目,和国外同类项目水平差不多,是国货中罕见的。实际上鹅一开始完全没想到是国货,光把Eclipse定制得那么好就不容易,急功近利的国人很少能达到较高水平。

向你们致敬,坚持几年你们会做大的。

出15入9汤圆

发表于 2011-10-14 19:25:54 | 显示全部楼层
看看,学习一下

出0入0汤圆

发表于 2011-10-14 19:36:03 | 显示全部楼层
支持国货~前段时间猛的在捉摸怎么制定改进一下Qt来做IDE,看来不用折腾了

出0入0汤圆

发表于 2011-10-14 20:17:03 | 显示全部楼层
顶,是否有入门教程呢

出0入0汤圆

发表于 2011-10-15 10:26:42 | 显示全部楼层
回复【3楼】Chocore
回复【2楼】bynce 罗曼
-----------------------------------------------------------------------
多谢支持~!
1. 在repository视图(组件页)勾选c library和retarget printf即可。
2. 在相关文件首行加上
#define weak __attribute__ ((weak))  
并将__weak 替换为weak
-----------------------------------------------------------------------

首先谢谢!!! 有以下疑问。
1. 在repository视图(组件页)勾选c library和retarget printf即可。   但此时我在程序中使用printf函数。 是输出到那个串口上的那?

谢谢 你的热心解答。

出0入0汤圆

 楼主| 发表于 2011-10-17 11:13:05 | 显示全部楼层
回复【9楼】bynce 罗曼
-----------------------------------------------------------------------

你需要先进行串口初始化和串口重定向,并在串口初始化和重定向时指定你想输出到的串口。

你可以参考UART的例程或Retarget printf的例程(在Peripheral视图窗口点组件名称,出现例程窗口,再点View查看,注意文件注释),后者具有更好的可移植性。

串口参数:@param u32Port UART Channel:  UART_PORT0 / UART_PORT1 / UART_PORT2

出0入0汤圆

 楼主| 发表于 2011-10-17 11:18:12 | 显示全部楼层
回复【8楼】SNOOKER 山寨王
-----------------------------------------------------------------------

多谢支持~!

你是想要什么的入门教程呢?

CooCox所有软件的用户手册或使用指南都能在官网上找到(注意网页右侧的导航)。

出0入0汤圆

 楼主| 发表于 2011-10-17 11:31:04 | 显示全部楼层
回复【5楼】jjcc 无业游民
这个东东没用过,用过你们的实时操作系统coos,非常不错。在一块lpc11xx板上跑的,把原来的程序转换成几个任务同时跑。没有遇到任何障碍。
另外,强力推荐coide,这是个定制的eclipse。国内用的多是盗版keil、iar之类的。coide一样强大,而且没有任何盗版问题。
你们搞的是真正的开源项目,和国外同类项目水平差不多,是国货中罕见的。实际上鹅一开始完全没想到是国货,光把eclipse定制得那么好就不容易,急功近利的国人很少能达到较高水平。
向你们致敬,坚持几年你们会做大的。
-----------------------------------------------------------------------

多谢支持~!您的肯定是我们最大的动力!

出0入0汤圆

发表于 2011-10-17 11:49:05 | 显示全部楼层
mark,有机会试试

出0入0汤圆

发表于 2011-10-19 16:24:00 | 显示全部楼层
华邦-->新唐做活动的时候就有送这个的安装光盘,不过没用过,还不知道咋样

出0入0汤圆

 楼主| 发表于 2011-11-28 17:59:14 | 显示全部楼层
才发现漏了几个字母,汗……

“C11xx”应为“LPC11xx”

出0入0汤圆

发表于 2014-2-13 14:32:07 | 显示全部楼层
LPC1114在使用CoOS情况下,如何使用uart中断?能否给个例程?

出0入0汤圆

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

本版积分规则

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

GMT+8, 2024-5-17 18:08

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

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