QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

发新帖

84

主题

16

听众

2930

积分

超级版主

Rank: 8Rank: 8Rank: 8Rank: 8

该用户从未签到

最后登录
2015-5-31
威望
0
金钱
2418
贡献
0
注册时间
2012-5-1
积分
2930
帖子
492
主题
84
精华
4
UID
2
发表于 2013-5-26 14:09:18 |显示全部楼层
更多
【组件简介】:

STM32平台eCos I2C驱动组件,两种实现方式:使用stm32 I2C接口,GPIO软件模拟I2C,分别对应stm32和stm32_gpio文件夹。

使用stm32 I2C接口的组件是从下面的网址中整理得到的:
http://bugs.ecos.sourceware.org/show_bug.cgi?id=1001268

注:该组件未经验证。


GPIO软件模拟I2C的组件是本人原创的,使用i2c_test.c进行了初步测试。


【组件使用】:

1. 把I2C组件对应的文件夹拷贝到\ecos\packages\devs\i2c\cortexm目录下;
2. 在ecos.db中添加组件包:

如果使用stm32 I2C接口的组件:添加内容如下:
package CYGPKG_DEVS_I2C_CORTEXM_STM32 {
        alias                { "STM32 I2C driver" i2c_stm32 }
        hardware
        directory        devs/i2c/cortexm/stm32
        script                i2c_stm32.cdl
    description "
        This package provides a generic I2C device driver for the on-chip
        I2C peripherals in STM32 processors."
}

另外,要把var_io.h中与I2C相关的定义更新上去。

----------------

如果使用GPIO软件模拟I2C的组件:添加内容如下:
package CYGPKG_DEVS_I2C_CORTEXM_STM32_GPIO {
        alias                { "STM32 PIO-based bitbanging I2C driver" i2c_stm32_gpio }
        hardware
        directory        devs/i2c/cortexm/stm32_gpio
        script                i2c_stm32_gpio.cdl
    description "
        This package provides a PIO-based bitbanging I2C device driver for STM32."
}


【测试程序】:

i2c_test.c:

这是一个I2C测试程序,包含2个功能:
1. 一个是扫描板子上所有的I2C设备(I2C设备需可读)
2. 另一个是EEPROM读写测试

注意:

这个测试程序可不能直接使用。你可以把它融合到你的测试程序中。
如果要使用,需要添加应用程序入口:cyg_user_start,并包含相应头文件。


EEPROM读写测试:

扫描板子上所有的I2C设备(I2C设备需可读):


I2C驱动组件下载地址:
游客,如果您要查看本帖隐藏内容请回复

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册会员 新浪微博账号登陆

回复

使用道具 举报

23

主题

2

听众

898

积分

高级工程师

Rank: 4Rank: 4

  • TA的每日心情
    难过
    2013-9-3 21:37
  • 签到天数: 31 天

    [LV.5]常住居民I

    最后登录
    2014-7-16
    威望
    0
    金钱
    821
    贡献
    0
    注册时间
    2013-5-8
    积分
    898
    帖子
    77
    主题
    23
    精华
    0
    UID
    295
    发表于 2013-5-27 17:33:41 |显示全部楼层
    好东西 找了好久了
    回复

    使用道具 举报

    84

    主题

    16

    听众

    2930

    积分

    超级版主

    Rank: 8Rank: 8Rank: 8Rank: 8

    该用户从未签到

    最后登录
    2015-5-31
    威望
    0
    金钱
    2418
    贡献
    0
    注册时间
    2012-5-1
    积分
    2930
    帖子
    492
    主题
    84
    精华
    4
    UID
    2
    发表于 2013-5-27 19:46:03 |显示全部楼层
    zhaos 发表于 2013-5-27 17:33
    好东西 找了好久了

    你也在弄这个??
    回复

    使用道具 举报

    23

    主题

    2

    听众

    898

    积分

    高级工程师

    Rank: 4Rank: 4

  • TA的每日心情
    难过
    2013-9-3 21:37
  • 签到天数: 31 天

    [LV.5]常住居民I

    最后登录
    2014-7-16
    威望
    0
    金钱
    821
    贡献
    0
    注册时间
    2013-5-8
    积分
    898
    帖子
    77
    主题
    23
    精华
    0
    UID
    295
    发表于 2013-5-27 20:46:58 |显示全部楼层
    是啊 STM32跑这个系统比较合适啊  
    回复

    使用道具 举报

    84

    主题

    16

    听众

    2930

    积分

    超级版主

    Rank: 8Rank: 8Rank: 8Rank: 8

    该用户从未签到

    最后登录
    2015-5-31
    威望
    0
    金钱
    2418
    贡献
    0
    注册时间
    2012-5-1
    积分
    2930
    帖子
    492
    主题
    84
    精华
    4
    UID
    2
    发表于 2013-5-27 20:53:50 |显示全部楼层
    zhaos 发表于 2013-5-27 20:46
    是啊 STM32跑这个系统比较合适啊

    但是STM32的I2C有点蛋痛,后面没则,弄了个GPIO模拟I2C,哎!
    回复

    使用道具 举报

    23

    主题

    2

    听众

    898

    积分

    高级工程师

    Rank: 4Rank: 4

  • TA的每日心情
    难过
    2013-9-3 21:37
  • 签到天数: 31 天

    [LV.5]常住居民I

    最后登录
    2014-7-16
    威望
    0
    金钱
    821
    贡献
    0
    注册时间
    2013-5-8
    积分
    898
    帖子
    77
    主题
    23
    精华
    0
    UID
    295
    发表于 2013-5-27 22:21:10 |显示全部楼层
    模拟的不好用吧  影响不影响实时性  操作系统调度的时候会不会影响它的时序
    回复

    使用道具 举报

    84

    主题

    16

    听众

    2930

    积分

    超级版主

    Rank: 8Rank: 8Rank: 8Rank: 8

    该用户从未签到

    最后登录
    2015-5-31
    威望
    0
    金钱
    2418
    贡献
    0
    注册时间
    2012-5-1
    积分
    2930
    帖子
    492
    主题
    84
    精华
    4
    UID
    2
    发表于 2013-5-27 22:54:45 |显示全部楼层
    zhaos 发表于 2013-5-27 22:21
    模拟的不好用吧  影响不影响实时性  操作系统调度的时候会不会影响它的时序 ...

    没测试过,但在我的板子上是没办法的事情,又不能搞remap!
    如果采用网上说的方法,又是使用最高优先级的中断,又是DMA,我看着很复杂,所以就没去弄了,先用GPIO模拟实现了再说。

    如果不想用GPIO模拟,可以尝试使用下我从eCos bug网站上整理的I2C驱动,但要remap估计才能使用!
    回复

    使用道具 举报

    23

    主题

    2

    听众

    898

    积分

    高级工程师

    Rank: 4Rank: 4

  • TA的每日心情
    难过
    2013-9-3 21:37
  • 签到天数: 31 天

    [LV.5]常住居民I

    最后登录
    2014-7-16
    威望
    0
    金钱
    821
    贡献
    0
    注册时间
    2013-5-8
    积分
    898
    帖子
    77
    主题
    23
    精华
    0
    UID
    295
    发表于 2013-5-28 09:42:19 |显示全部楼层
    我调试一下,stm32+ecos一般用那个开发环境??我用的eclipse+zylin+jlink调试起来不灵敏,也不好用 有没有更好的办法
    回复

    使用道具 举报

    84

    主题

    16

    听众

    2930

    积分

    超级版主

    Rank: 8Rank: 8Rank: 8Rank: 8

    该用户从未签到

    最后登录
    2015-5-31
    威望
    0
    金钱
    2418
    贡献
    0
    注册时间
    2012-5-1
    积分
    2930
    帖子
    492
    主题
    84
    精华
    4
    UID
    2
    发表于 2013-5-28 11:07:47 |显示全部楼层
    zhaos 发表于 2013-5-28 09:42
    我调试一下,stm32+ecos一般用那个开发环境??我用的eclipse+zylin+jlink调试起来不灵敏,也不好用 有没有 ...

    我现在用的都是打印调试!
    之前曾在redboot下用gdb调试了下,也还行,但我对GDB使用不太熟!

    据我所了解,linux也大多用GDB调试,最重要的是redboot支持GDB,所以我觉得用gdb调试这个方向应该错不了。如果用eclipse,可能需要相关插件。
    回复

    使用道具 举报

    84

    主题

    16

    听众

    2930

    积分

    超级版主

    Rank: 8Rank: 8Rank: 8Rank: 8

    该用户从未签到

    最后登录
    2015-5-31
    威望
    0
    金钱
    2418
    贡献
    0
    注册时间
    2012-5-1
    积分
    2930
    帖子
    492
    主题
    84
    精华
    4
    UID
    2
    发表于 2013-5-28 11:14:42 |显示全部楼层
    zhaos 发表于 2013-5-28 09:42
    我调试一下,stm32+ecos一般用那个开发环境??我用的eclipse+zylin+jlink调试起来不灵敏,也不好用 有没有 ...

    所以可以研究下,eclipse + 插件 + GDB调试方法
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册会员 新浪微博账号登陆

    无觅相关文章插件

    申请友链|手机版|关于本站|站点帮助|eCos技术网 ( 粤ICP备12094833号-1  

    GMT+8, 2017-12-17 16:12 , Processed in 0.219372 second(s), 35 queries .

    Powered by Discuz!2.5 X2.5

    © 2001-2012 Comsenz Inc.

    回顶部