找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4575|回复: 1
打印 上一主题 下一主题
收起左侧

移植stm32f103 usb-cdc例程到Eclipse IDE(GCC编译环境)的方法

[复制链接]
跳转到指定楼层
楼主
ID:90014 发表于 2015-9-14 16:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一、移植stm32f103 usb-cdc例程到Eclipse IDE(GCC编译环境)的方法
1.新建stm32f103工程模板,将需要移植的源文件、头文件复制到工程内的文件夹里,包含cmis层和固件库的文件。
2.添加USB库路径  "../system/inc/stm32_usb_fs_device_driver"
3.添加宏定义  USE_STM3210B_EVAL USB_Dual_RS485
4.双击GDB SEGGER J-LINK Debug,Debugger\Device name 编辑框填入stm32f103c8即可开始调试

二、导入GCC-ARM例程的方法
1.导入已有的工程项目,3.6.1库版的usb-cdc例程已上传
2.双击GDB SEGGER J-LINK Debug,Debugger\Device name 编辑框填入stm32f103c8即可开始调试


三、关闭GCC警告的方法:

例如USART2_IRQHandler中断函数,GCC-ARM编译器可能会出现一些警告.

关闭警告的方法1:

#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wmissing-prototypes"
void USART2_IRQHandler(void)
{

}
#pragma GCC diagnostic pop


关闭警告的方法2:
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunused-function"
static USART2_IRQHandler(void)
{

}
#pragma GCC diagnostic pop

对于中断函数,一般推荐使用第1种方法。

四、GCC-ARM例程工程包说明

1.该工程仅适用于USB-Dual-RS485硬件,主控芯片为STM32F103C8的其它开发板,源代码稍作修改也可以使用。
  不适用于主控芯片stm32f103vc/stm32f103ze的开发板,因为工程相关的LD文件和设置不同。

2.此工程实现了单路USB-CDC,驱动支持win7/win8/win8.1。

  串口绑定USART3,中断方式工作,其中PB9是RS485换向控制脚,该工程实际上是USB-RS485实现的一个软件包。

  经测试TTL发送小于64字节、等于64字节、大于64字节都可以通过。

  根据数据包在中断中连接发送的原理,在一个完整的数据包尚未发送完毕,PB9不会控制RS485转为接收状态,
  这和某些公司售价为800元的USB-RS485不同,不会把主机的数据包拆分为多个小数据包发送。

3.usb-cdc-gcc例程工程源代码包下载地址
【文件下载】 usb-cdc-gcc.281.rar (249.42 KB, 下载次数: 32) ,该例程仅适用于STM32F103C8硬件。

4.USB-CDC驱动下载地址
  stm32f103c8是意法半导体的一个芯片,其中USB通讯模块是收购其它公司获得的,CDC底层源代码经过意法半导体
  工程师数年的改进,可以投入商用。上位机的USB驱动程序通过微软的数字签名认证。

  在win10环境下,单路cdc或多路cdc不需要按照驱动程序就可以工作,linux环境下,单路cdc能自动安装驱动程序,
  linux下目前没有多路cdc的驱动,这也是本工程包不作成多路的其中一个原因。
stm32_vcp_v1.4.rar (2.05 MB, 下载次数: 13)

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:229137 发表于 2020-5-29 16:01 | 只看该作者
这个可以啊,改成makefile的格式试试
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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