成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

環境構建:VS2019+MSVC 編譯 Dfu-Util

網絡 網絡管理
本文主要介紹windows 上的交叉編譯,Linux 平臺交叉編譯,直接參考官網即可,難度不是很大。

[[414597]]

本文轉載自微信公眾號「漫談嵌入式」,作者Vinson。轉載本文請聯系漫談嵌入式公眾號。

什么是DFU?

DFU,即 Device Firmware Upgrade, 也是屬于 USB類協議。主要用于設備升級,常用于手機(IOS,安卓)以及電視盒子等。相對于CDC 串口或者RNDIS等,是一種比較快的USB傳輸方式。

DFU :需要進入USB DFU 模式,適合在bootloader階段做升級。

CDC OTA:可以作為一種composite設備,一起運行。缺點是,可能會受帶寬影響導致傳輸速度受限。

如何使用?

  • 設備:設備端需要支持DFU 模式
  • 主機:需要配套的DFU 主機工具比如開源的庫 dfu-util, 直接使用或者二次開發。
  • 驅動:需要安裝dfu 驅動, 可以通過 zading, 安裝通用的驅動。

dfu-util 交叉編譯

dfu-util 是USB 論壇的 DFU 1.0 和DFU 1.1規范的主機端實現 。DFU 旨在向/從通過 USB 連接的設備下載和上傳固件。它的范圍從微控制器板等小型設備到手機

本文主要介紹windows 上的交叉編譯,Linux 平臺交叉編譯,直接參考官網即可,難度不是很大。

有關windows 交叉編譯,目前有兩種思路:

  • 使用 msys2 在windows 構建虛擬的linux 環境。MSYS2 + MinGW
  • 使用visual studio + mscv

準備

  • 編譯環境:安裝 Visual Studio 2019 community
  • dfu-util 源碼:git clone git://git.code.sf.net/p/dfu-util/dfu-util
  • libusb:git clone https://github.com/libusb/libusb.git

項目工程調整

1. 調整工程文件為vs 2019

2. 修改 解決方案文件,dfu-util_2019.sln ,調整為2019

可以看到默認libusb 和 dfu-uilt 位于同級目錄,也可以將libusb 合到dfu-util項目里面,不過需要修改相關頭文件包含。筆者建議初次編譯,不用修改項目引用路徑。

3. libusb 項目工程

4. 用vs 2019 打開dfu-util_2019.sln

5. 修改外部引用

編譯錯誤修改

1. off_t錯誤

解決:右鍵項目->屬性->配置屬性->C/C++ -> 預處理器-> 預處理器宏定義-> 編輯,新增_OFF_T_DEFINED 宏定義

2. 錯誤2:ssize_t 未定義

解決方法:包含libusb.h

3. 消除警告

解決方法:同錯誤1,定義宏_CRT_NONSTDC_NO_DEPRECATE

4. 錯誤3:SSIZE_MAX 未定義

SSIZE_MAX 是 POSIX 下的定義, 修改如下:

5. 錯誤4:無法解析頭文件

解決方法:包含正確的頭文件目錄

6. 編譯成功

編譯總結

環境統一:git 下來的庫是vs 2010工程,需要先修改成自己vs 的版本,具體版主version,新建一個空項目即可查看。

外部引用依賴:修改工程名后,項目之間引用關系可能會用問題,這時候需要移除,然后重新正確的添加引用。

頭文件正確包含:主要是libusb.h 和 getopt.h

編譯錯誤:高版本的IDE可能語法檢查比較強,所以遇到錯誤和警告,不要慌,耐心解決就行。

對于getopt和libusb只需要編譯一次即可,后續直接使用就行。

在成功編譯后,我們可以根據需要,將控制臺程序遷移到圖形化的界面上,這樣一個基本的DFU 主機升級工具就出來了。

總結

本文簡單的介紹了什么是DFU,同時詳細的介紹了,怎么使用 VS + MSVC 編譯 dfu-util,記錄一下整個調試過程。不得不說,還是linux 下的編譯要方便多。不同的 vs 可能會有些許差異。對于做USB DFU 相關的朋友可以借鑒一下。

 

責任編輯:武曉燕 來源: 漫談嵌入式
相關推薦

2020-09-18 06:44:57

MSVC微軟C11

2009-12-01 11:01:39

交叉編譯環境構建

2024-07-26 16:39:33

鴻蒙系統開源構建系統

2019-05-24 09:59:10

VSLinux遠程

2011-06-03 13:38:49

Android 開發環境

2009-12-16 09:40:19

VS環境

2021-05-12 07:59:30

Windows10操作系統微軟

2021-07-27 11:54:51

windows系統OpenHarmony

2023-08-17 20:13:42

2009-12-16 11:16:03

VS 2005開發環境

2009-12-17 17:08:47

VS開發環境

2011-06-08 17:32:18

QT VS2008 開發環境

2021-12-02 10:05:01

鴻蒙HarmonyOS應用

2020-10-21 09:58:50

鴻蒙OS編譯環境VPS

2013-05-07 09:38:24

云計算服務云計算成本云成本

2011-03-09 16:16:57

CentOSLAMP

2013-07-29 14:23:55

Eclipse開發環境Eclipse開發環境

2023-08-11 14:06:58

鴻蒙Windows

2013-05-08 09:52:26

云計算服務租賃自主構建

2014-09-11 12:18:13

移動惠普云計算
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产欧美日韩综合精品一区二区 | 亚洲国产一区二区三区 | 欧美成人一区二区 | 久久伊| 国产精品视频播放 | 色在线免费视频 | 高清欧美性猛交xxxx黑人猛交 | 天堂资源 | 亚洲福利网站 | 国产毛片久久久久久久久春天 | 最新国产福利在线 | 日韩欧美国产成人一区二区 | 中文字幕av在线播放 | 欧美精品影院 | 国产一区二区在线免费 | 夜夜夜久久久 | 久久精品亚洲 | 亚洲成人福利视频 | 精品视频在线一区 | 好姑娘影视在线观看高清 | 成人免费看片又大又黄 | 激情欧美一区二区三区中文字幕 | 久久久久久久国产精品影院 | 精品国产欧美日韩不卡在线观看 | 国产成都精品91一区二区三 | 伊人久久麻豆 | 成人在线免费视频观看 | 91久久精品一区二区二区 | 男人的天堂一级片 | 国产精品久久久久久吹潮 | 久久er99热精品一区二区 | 欧美久久久电影 | 国产精品伦一区二区三级视频 | 韩日av片| 精品视频一区二区 | 日韩中文欧美 | 岛国av在线免费观看 | 久久精品国产精品青草 | 天天干夜夜操 | 日韩精品一区二区三区中文字幕 | 欧美一级α片 |