主頁 >  其他 > Win10配置 STM32/GD32 單片機 GCC+VScode 編譯除錯總結 2021版

Win10配置 STM32/GD32 單片機 GCC+VScode 編譯除錯總結 2021版

2021-03-01 11:34:56 其他

末尾帶全部工具,代碼工程打包,直接一步搞定.

  • 本文主題: ARM-GCC 套件 + VScode + OpenOCD + CMSIS-Debug = 開源 IDE


上圖為最終作業環境演示.

為何使用GCC+VScode

在嵌入式開發程序中, 之前都是用的是Keil-MDK, IAR, 等商業集成開發環境(IDE) .

  • Keil MDK

MDK被ARM收購以后,AC6 AC6 編譯器的性能越來越給力.在官網的說明里,運行效率和代碼體積都比開源編譯器ARM-GCC好20%以上.

  • IAR SYSTEMS

    IAR system(瑞典)的商業編譯器在STM8,MSP430,CortexM下的表現非常棒. 代碼運行效率也非常不錯,IDE軟體集成度高,編譯,下載,Debug都很流暢.

  • SEGGER Embedded Studio

可供選擇的還有來自出品J-link公司SEGGER的Embedded Studio. 非商業用途是免費使用. 缺點是僅支持自家的JLINK,Embedded Studio也是采用GCC和CLANG,其中CLANG是個趨勢,現在MDK的AC6也是用的CLANG.

以上這三個都是商業編譯器/ IDE. 咨詢過是MDK的國內代理公司米er科技,一年的授權費用是幾w元. 聽聞不少同行也收到了來自MDK的警告郵件.

當產品仍然在評估階段,還沒有預算時, 可以選擇開源的GCC編譯器.

GCC是 GNU C /C++ Compiler 的簡稱

在開源編譯器中,可供選擇的有GCC 和 LLVM-Clang(MacOS系統采用), Linux系統默認安裝了GCC編譯套裝, 可以自己編譯自己的內核,驅動,程式. 我們要給單片機編程, 在電腦上編譯別的芯片的指令這叫做交叉編譯.

交叉編譯使用的編譯器是:gcc-arm-none-eabi

  • arch - 體系架構,如ARM,MIPS
  • verdor - 工具鏈提供商, 是gcc
  • os - 目標作業系統,none代表裸機開發
  • eabi - 嵌入式應用二進制介面,Application binary interface (ABI), EABI中的E,表示“Embedded”,是一種新的ABI,支持軟體浮點和硬體實作浮點功能混用.

目前版本是 GCC 10 2020-q4, gcc-arm-none-eabi ,由自由軟體基金會和ARM進行維護, 由 C /C++ Compiler ,Binutils, GDB,NewLib 四個部分,這些我們都會用上,

https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm

  • C /C++ Compiler: 編譯器生成機器代碼 .o 檔案
  • Binutils: 工具套裝,包含ld,ar,objdump等, 例如用于生成Bin檔案,Hex檔案.
  • GDB: 用于打斷點除錯,運行時讀取記憶體資料. 找Bug.
  • NewLib: 面向嵌入式系統的C運行庫, 主要有libc,libm, 比如常用的math.h數學函式, std標準庫, printf() 列印功能.

最新的優化和編譯器技術,兼容最新的芯片,需要及時升級版本.
本人在2016年GCC5.x版本的時候,由于Cortex-M7剛剛推出,.
編譯STM32F7的芯片的時候就會出現兼容性問題.

現在在上面網頁可以看到: Cortex-M7以及2019推出的M0+/M23/M33內核的單片機都已經支持好了.

  • VSCode


不多介紹, Stack Overflow對2018年的IT生態調查顯示:Visual Studio Code超過Visual Studio一躍成為榜首,成為“最受歡迎的開發環境”, 前端后端全堆疊程式員必備. 當然嵌入式工程師也不能少.

一 .安裝軟體

1. Mingw-w64 GCC for Windows 64 & 32 bits

第一步, 安裝Mingw-w64, 推薦使用離線安裝包安裝,其實就是解壓到方便找到的目錄
推薦不要使用Online Installer, 會比較慢,雖然整個軟體只要10MB,非常小,

注意我們使用軟體要在官方提供的地址進行下載,警惕百du網盤(除非明確知道來源)和其他下載站. 官方鏈接一般是
官方專案主頁,SourceForge ,或者官方專案Github release頁面進行下載. SourceForge
是全球最大的開放源代碼軟體開發平臺和倉庫,它集成了很多開放源代碼應用程式,為軟體開發提供了整套生命周期服務

下面紅框里任選, 都是可以用,區別是Windows下實作的系統呼叫細節不一樣.
我選的是i686-posix-dwarf,可能是最佳兼容性,這個是在線下載器默認安裝的版本.

下載地址:
https://sourceforge.net/projects/mingw-w64/files/

上圖不同版本區別的參考文章 :
https://blog.csdn.net/AMDDMA/article/details/111600238

Mingw-w64 包含了Windows下的本機GCC編譯器套件, 編譯產物一般是原生 Windows 應用, 學習C/C++語言,不使用微軟的VC的話,就可以使用GCC進行編譯windows下的程式.

安裝(或解壓縮)完畢, 會得到一個bin目錄(后面要放入系統環境變數里面Path), 里面有很多exe,都是是windows系統的GCC軟體套裝.

記住這個bin檔案夾,這個是我們make安裝目錄

為了方便以后在命令列執行make指令,而不是輸入較長的"mingw32-make", 要把mingw32-make.exe 復制為make.exe.

一些題外話:
在嵌入式開發上,我們只要用到Mingw-w64提供的make.exe程式,make是用于決議Makefile檔案的軟體,

可以認為Makefile檔案是自動呼叫gcc,把目錄里一個個*.c .*h檔案喂給gcc去編譯的一個自動腳本檔案,用戶可以自由決定那些檔案是需要編譯的,哪些是不用編譯的,還可以設定編譯的選項,比如"編譯優化等級",“宏定義”,"警告等級"等等.

更多Makefile相關資料,參考: GNU Make 使用手冊(中譯版),
內容較多僅作查閱,實際使用時我們只要輸入make這四個字母就行.
https://blog.csdn.net/weixin_40535588/article/details/89336051

到此make安裝完畢.

2. 安裝 ARM-GCC 交叉編譯器

進入ARM開發者官網下載編譯器安裝包,下面一個是壓縮包,另外一個是安裝包,本文章軟體都是不需要"安裝"的,都是win32可執行二進制檔案,是一個解壓的動作即可.

https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads

安裝解壓完成后,可以找到一個bin檔案夾,這個就是我們編譯器安裝目錄.

到此GCC交叉編譯器安裝完畢

3. 安裝 Debug 除錯工具 openocd 0.10.0

有了以上兩個工具, 已經可以編譯出Bin 或者 Hex檔案, 但是撰寫程式遇到Bug,就免不了使用Debug功能, 實時加入斷點,獲取某個記憶體的數值, 或者查看系統Hardfault前的呼叫,快速找到出錯代碼. 可以大大加快排除Bug的速度.

Debuger 的硬體可以是: CMSIS-DAP / STlink V2 / Jlink OB V8 V9 , 這里更加推薦ARM官方開源的CMSIS-DAP. 介面速度和兼容的型號上是超過了Jlink V8, 本身軟硬體也是開源的,可以直接上網購買別人做好的模塊, 實際CMSIS-DAP硬體上就是一片帶usb的stm32而已,價格30元以內,帶介面隔離或者無線除錯的可能貴一些.

官網 http://openocd.org

最新版本是2017年發布的 OpenOCD 0.10.0, 加入ARM Cortex-M7 支持,以及當年推出的STM32F7等一些列的支持, 這個開源專案更新比較慢 一般2-3年一更.

有了硬體,使用openocd (Open On-Chip Debugger/) 可以驅動CMSIS-DAP硬體,最終實作GDB服務,這樣借助IDE的圖形界面發送指令給GDB server, 我們就可以一鍵獲得芯片內部的記憶體,一鍵操作代碼的流程,打斷點, 同時也支持燒寫Flash到指定地址.

下載地址
找到sysprogs公司網站上(是賣一個叫做VisualGDB軟體的 )提供的win系統編譯版本,版本新,下載速度比較快:
https://sysprogs.com/getfile/1364/openocd-20201228.7z



解壓到想要安裝的地方, 記住bin檔案夾得目錄. 后面我們設定環境變數的時候需要用到.

4. Visual Studio Code


https://code.visualstudio.com/

直接點擊下載exe安裝即可

二. 配置Path 環境變數

以上有三個工具是需要設定到Win系統得環境變數里面, 在Ubuntu / Linux 里面也是一樣的操作,是需要在用戶bash腳本內寫入Path變數.

win10下也是寫入Path,但是比較方便一些. 如下操作:

在 桌面"此電腦"圖示, 右鍵 - >屬性 -> 高級系統設定 -> 環境變數 -> Path ->編輯, 增加 3條我們的bin目錄,分別是:

  • 執行 make腳本的 mingw32 的bin目錄
  • 交叉編譯器 GNU-ARM-… 下的 bin目錄
  • 除錯器 openOCD 的 bin 目錄

完畢, 運行cmd , 或者在vscode界面下面的終端, 就可以直接輸入指令查詢這些工具的版本.

查詢make版本
make -v
查詢交叉編譯器版本
arm-none-eabi-gcc -v
查詢openOCD版本
openocd -v

如果顯示諸如: “不是內部或外部命令,也不是可運行的程式或批處理檔案” , 說明環境變數不正確, 系統無法在環境變數的路徑串列里找到我們需要的工具. 就需要回到上面步驟進行檢查. 在Linux下也是如此是Path路徑的問題.

上圖三個命令都已經可以在cmd內呼叫,回應-v引數回傳自己版本號.

在VScode內使用 Ctrl + ~快捷鍵, 打開內置的power shell終端, 也可以順利看到命令回傳版本.

VScode的終端顯示效率高,支持代碼高亮. 建議以后就在專案內直接使用, 不再使用 Win10 那個黑色cmd.

到此我們的Win10 已經擁有了和Linux下交叉編譯一樣的環境, 可以編譯任意arm-gcc ,makefile 的工程了.

甚至可以撰寫本機電腦執行的C++程式
只要輸入:gcc main.x -o main.exe一句代碼即,0.1秒 一瞬間可完成編譯得到可以直接執行的exe檔案.

接下來我們編譯一個STM32 CubeMX生成的makefile工程. 直接編譯單片機程式.

三. 編譯STM32代碼

1.獲取STM32CubeMX工具,直接生成模板

也可以不使用,直接下載文章最后我提供的模板

STM32CubeMX是目前單片機界最強配置工具, 支持Mac,Linux,Win 系統, 可以查詢型號, 配置引腳和外設,直接生成代碼. 其他廠家還有非常長的路要追趕.
下載地址:
https://www.st.com/zh/development-tools/stm32cubemx.html#get-software

2.生成 STM32F103的Makefile工程

( 熟悉CubeMX兄臺的請略過)

在起始頁面, 點擊MCU SELECTOR


選擇芯片后, 如是第一次選擇F1的芯片的話, ,需要一點時間下載F1芯片的支持包,彈框點擊YES下載 ,下載速度還可以.


(上圖) 然后可以根據需要配置一下時鐘,引腳外設, 接下來就找到: Project Manager, 進行設定.

注意要選擇:Mekefile環境,否則是生成Keil或者IAR工程, 最后點擊生成即可.

生成完畢, 可以自動打開目錄, 看到生成結果如上. 右鍵選擇Open with Code. 打開VScode 進行查看.

3.編譯代碼


先不細看, 直接編譯, 按 Crtl + ~, 調出命令列, 輸入: make -j

1秒后, 編譯完成, 生成了 .hex 檔案 和 bin檔案. 位于自動生成的./Build檔案夾內.

由于使用了-j 指令, 會使用多執行緒編譯. 編譯速度非常快只要一瞬間就完成了HAL庫和main檔案的編譯并生成 Bin 和 Hex檔案.

如果要清理Build目錄, 只要運行make clean 命令, 由于這個Makefile檔案只考慮到Linux系統, 我們需要把clean的命令 -rm -fR $(BUILD_DIR) 改為Windows下的-del /q $(BUILD_DIR).

至此STM32工程編譯完成.,STM32工程的芯片

4.下載 Bin檔案到目標板

方法1: 使用STLink v2 硬體,SWD介面,用官方STM32 ST-LINK Utility軟體下載Bin檔案.
方法2: 使用Jlink OB/V8/V9 使用J-flash下載Bin檔案.
方法3. 使用芯片內置的ISP功能,手動把BOOT0腳拉高,使用mcu-isp軟體,uart1串口燒寫.

方法4(推薦). 使用OpenOCD, 硬體使用CMSIS-DAP/STLink v2.
命令列執行:
用CMSIS-DAP:
openocd -f cmsis-dap.cfg -f stm32f1x.cfg -c init -c halt -c "program my_gcc_test.bin 0x8000000" -c reset -c shutdown

用STLink v2:
openocd -f stlink-v2.cfg -f stm32f1x.cfg -c init -c halt -c "program my_gcc_test.bin 0x8000000" -c reset -c shutdown

需要先把介面配置,和芯片組態檔從openocd安裝目錄/拷貝到工程目錄下,
cmsis-dap.cfg 或 stlink-v2.cfg 位于 : 安裝目錄\share\openocd\scripts\interface
stm32f1x.cfg位于 : 安裝目錄\share\openocd\scripts\target

參考
https://blog.csdn.net/u011011827/article/details/102643360

芯片 Debug 單步除錯步驟參照下面步驟的Debug部分.

四. 編譯GD32工程, 并使用OpenOCD進行Debug.

2020年的特殊情況, 導致ST芯片的缺貨潮的到來, ST單片機芯片一片難求, 上面舉例的STM32F1系列的價格由原先的8-10元直接飆升到30-100元,某些型號甚至2021年全年無貨.

以下以GD32單片機為例,MM32 ,AT32,APM32類似, 選用一個ST替代芯片進行Debug部分記錄.

1 . 關于獲取GD32工程模板.

在英文/中文官網查找,GD32官方韌體庫只提供了韌體庫的C源代碼以及MDK/IAR工程, 沒有提供GCC工具鏈需要的鏈接腳本.ld檔案,以及.s檔案匯編格式啟動檔案.

  • 方案1: 直接沿用上面STM32的工程, 把HAL庫替換為GD32的標準庫,再修改makefile檔案即可.
  • 方案2: 找到一份可用的GD32 GCC工程.已經寫好makefile以及匹配好GD32的庫,可以不需要相同的芯片型號,我們可以自己替換庫檔案.

先選方案2: 在Github搜索GD32 + GCC, 果然有識訓
https://github.com/blueskull/GD32F3x0-gcc , 下載下來,發現makefile更加簡潔(只要30行),好就它了.

(同樣我做了一些本地化修改, 把make clean時要用的洗掉檔案的rm命令換成了del命令)

2 .GD32工程編譯.

可以看到makefile編譯分為 make appmake driver兩個編譯目標. make driver把整個官方庫檔案生成driver.a檔案, make app 會編譯app/*.c , 并鏈接剛剛的庫 driver.a 得到最終bin檔案.

所以先輸入 make driver, 再輸入 make app , 即可看到編譯出bin檔案.

這樣設計有個好處,driver.a 一旦生成, 就是一個lib檔案, 不需要進行反復編譯,后面的開發階段編譯會更加的快,很多時候我們不需要編譯lib部分了,但如果我們改動了Lib庫的部分的代碼,就需要執行一次make driver.

我們也可以添加一個 make all, 自動完成先洗掉所有編譯, 重新編譯Lib, 再編譯app.

如上圖增加 all: clean driver app , all這個目標會順序自動執行clean, driver ,app. 整個程序也是非常快.

為什么使用all 這個名稱 ? 因為只輸入make, 等同于輸入了make all, 這個是makefile的規則.
由于程序有先后順序,就不能使用-j選項進行多執行緒加速了, 但在make appmake driver兩個編譯目標是支持 -j 選項加速的.

插入一個題外話: 在GCC編譯下, 涉及到幾萬個檔案的工程高級加速,可以使用ccache進行進一步的加速.
如果使用Ninja編譯腳本替換Makefile進行編譯,還可以獲得50%的編譯加速. 讓原本小時級別大工程的編譯進入若干分鐘以內.

3 .GD32工程的Debug.

參考: https://blog.csdn.net/qq_40833810/article/details/106713462

安裝VScode插件 Cortex-debug.
內建了不輸于Keil-mdk 的界面,包括暫存器,watch,外設,反匯編等功能.

點擊VScode左邊插件圖示,搜索cotrex-debug,點擊install安裝.

在 Debug 界面,點擊 “add configuration”, 添加以下內容:

launch.json檔案關鍵點是設定:

  1. 正確的elf檔案, elf檔案是帶有除錯資訊的編譯結果,可以告訴gdb那一句匯編對應哪個檔案,類似MDK環境下的axf檔案.
  2. 正確的openocd 的2個組態檔.
  3. servertype,type型別填對. 這樣才能啟動openocd.

同下載步驟, 需要先把介面配置,和芯片組態檔從openocd安裝目錄/拷貝到工程目錄下,
cmsis-dap.cfg 或 stlink-v2.cfg 位于 : 安裝目錄\share\openocd\scripts\interface
stm32f1x.cfg(我改名為了openocd_target)位于 : 安裝目錄\share\openocd\scripts\target

stm32f1x.cfg, 我改名為了openocd_target,且通用于國產m3 m4,因為里面主要是寫了一個debug暫存器( DBGMCU_CR 0xE0042004)的地址,配置了一下芯片,這點都是一樣的,不一樣的話可以找芯片datasheet來改stm32f1x.cfg內容就可以了.GD32等各種32是一模一樣的.

下一部點擊左邊瓢蟲, 開始dubug環境,


全文完

上文所有用的的軟體, 代碼模板:
鏈接:https://pan.baidu.com/s/1K5C6x6krvdmLUaYjrB3Mvw
提取碼:1pe2

如有幫助,支持1c幣: https://download.csdn.net/download/cqy1028/15493896

更多關于嵌入式,編程歡迎關注,持續更新

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/264888.html

標籤:其他

上一篇:[Springboot][STM32]Springboot+STM32+ESP8266 使用HTTP的GET與POST發送請求向Springboot專案上傳資料并展示

下一篇:【測評】海康螢石互聯網攝像機增強夜視版測評(型號:CS-C1HC-1D2WFR)

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more