找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 5074|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

移植stm32f103 usb-cdc例程到Eclipse IDE(GCC編譯環(huán)境)的方法

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:90014 發(fā)表于 2015-9-14 16:00 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
一、移植stm32f103 usb-cdc例程到Eclipse IDE(GCC編譯環(huán)境)的方法
1.新建stm32f103工程模板,將需要移植的源文件、頭文件復(fù)制到工程內(nèi)的文件夾里,包含cmis層和固件庫(kù)的文件。
2.添加USB庫(kù)路徑  "../system/inc/stm32_usb_fs_device_driver"
3.添加宏定義  USE_STM3210B_EVAL USB_Dual_RS485
4.雙擊GDB SEGGER J-LINK Debug,Debugger\Device name 編輯框填入stm32f103c8即可開(kāi)始調(diào)試

二、導(dǎo)入GCC-ARM例程的方法
1.導(dǎo)入已有的工程項(xiàng)目,3.6.1庫(kù)版的usb-cdc例程已上傳
2.雙擊GDB SEGGER J-LINK Debug,Debugger\Device name 編輯框填入stm32f103c8即可開(kāi)始調(diào)試


三、關(guān)閉GCC警告的方法:

例如USART2_IRQHandler中斷函數(shù),GCC-ARM編譯器可能會(huì)出現(xiàn)一些警告.

關(guān)閉警告的方法1:

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

}
#pragma GCC diagnostic pop


關(guān)閉警告的方法2:
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunused-function"
static USART2_IRQHandler(void)
{

}
#pragma GCC diagnostic pop

對(duì)于中斷函數(shù),一般推薦使用第1種方法。

四、GCC-ARM例程工程包說(shuō)明

1.該工程僅適用于USB-Dual-RS485硬件,主控芯片為STM32F103C8的其它開(kāi)發(fā)板,源代碼稍作修改也可以使用。
  不適用于主控芯片stm32f103vc/stm32f103ze的開(kāi)發(fā)板,因?yàn)楣こ滔嚓P(guān)的LD文件和設(shè)置不同。

2.此工程實(shí)現(xiàn)了單路USB-CDC,驅(qū)動(dòng)支持win7/win8/win8.1。

  串口綁定USART3,中斷方式工作,其中PB9是RS485換向控制腳,該工程實(shí)際上是USB-RS485實(shí)現(xiàn)的一個(gè)軟件包。

  經(jīng)測(cè)試TTL發(fā)送小于64字節(jié)、等于64字節(jié)、大于64字節(jié)都可以通過(guò)。

  根據(jù)數(shù)據(jù)包在中斷中連接發(fā)送的原理,在一個(gè)完整的數(shù)據(jù)包尚未發(fā)送完畢,PB9不會(huì)控制RS485轉(zhuǎn)為接收狀態(tài),
  這和某些公司售價(jià)為800元的USB-RS485不同,不會(huì)把主機(jī)的數(shù)據(jù)包拆分為多個(gè)小數(shù)據(jù)包發(fā)送。

3.usb-cdc-gcc例程工程源代碼包下載地址
【文件下載】 usb-cdc-gcc.281.rar (249.42 KB, 下載次數(shù): 32) ,該例程僅適用于STM32F103C8硬件。

4.USB-CDC驅(qū)動(dòng)下載地址
  stm32f103c8是意法半導(dǎo)體的一個(gè)芯片,其中USB通訊模塊是收購(gòu)其它公司獲得的,CDC底層源代碼經(jīng)過(guò)意法半導(dǎo)體
  工程師數(shù)年的改進(jìn),可以投入商用。上位機(jī)的USB驅(qū)動(dòng)程序通過(guò)微軟的數(shù)字簽名認(rèn)證。

  在win10環(huán)境下,單路cdc或多路cdc不需要按照驅(qū)動(dòng)程序就可以工作,linux環(huán)境下,單路cdc能自動(dòng)安裝驅(qū)動(dòng)程序,
  linux下目前沒(méi)有多路cdc的驅(qū)動(dòng),這也是本工程包不作成多路的其中一個(gè)原因。
stm32_vcp_v1.4.rar (2.05 MB, 下載次數(shù): 13)

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:229137 發(fā)表于 2020-5-29 16:01 | 只看該作者
這個(gè)可以啊,改成makefile的格式試試
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表