主頁 >  其他 > ESP32之 ESP-IDF + Clion 開發環境搭建(三)—— 使用 Clion 對 ESP32 進行 JTAG 除錯

ESP32之 ESP-IDF + Clion 開發環境搭建(三)—— 使用 Clion 對 ESP32 進行 JTAG 除錯

2022-01-01 09:37:33 其他

本文章 來自原創專欄《ESP32教學專欄 (基于ESP-IDF)》,講解如何使用 ESP-IDF 構建 ESP32 程式,發布文章并會持續為已發布文章添加新內容! 每篇文章都經過了精打細磨!

↓↓↓通過下方對話框進入專欄主頁↓↓↓
CSDN 請求進入專欄       _ O x

是否進入ESP32教學專欄(基于ESP-IDF)?

       確定


文章目錄

  • 一、JTAG 除錯簡介
  • 二、準備階段
    • 1. Windows
    • 2. Linux
    • 3. 錯誤排除
  • 三、使用 Clion 進行 JTAG 除錯
    • 1. 使用 JTAG 介面進行除錯
      • (1) 添加配置
      • (2) 配置 GDB 服務器實參
    • 2. 使用 JTAG 介面燒錄程式
  • 四、使用命令列進行除錯

一、JTAG 除錯簡介


先看一張效果圖,Clion成功為ESP32程式打上了斷點,而且能觀測變數值,并能對其修改!

JATG 是一種可用于在線除錯單片機運行狀態和資源的介面,相對于常用的idf.py monitor來說,JTAG 除錯是一種在線除錯的手段,它能更加底層地監測單片機的運行,它能通過斷點來檢查程式執行的位置,相關變數的值,甚至直接對這些變數值進行修改,相對于傳統的離線除錯,在線除錯能更容易地發現程式的問題,提高開發效率,

下圖為使用JTAGidf.py monitor除錯的區別

二、準備階段

如果你使用的是安裝esp-idf開發環境時自動安裝的openocd-esp32,則它支持如下14種配接器

ftdi 		  (如 ESP_Prog )
usb_blaster		
esp_usb_jtag
esp_usb_jtag
ft232r
jlink
vsllink
ulink
hla
osbdm
opendous
aice
xds110
jtag_esp_remote

官方發售的 ESP-WROVER-KIT開發板上板載了 FT2232芯片,與ESP-Prog除錯器上的核心芯片等同,可以理解為ESP-WROVER-KIT開發板上自帶 ESP-Prog 除錯器

注意:請確保你使用的 OpenOCD 是安裝esp-idf開發環境時 自動安裝openocd-esp32(即樂鑫官方提供的 OpenOCD-ESP32【Github頁面】),或經其他用戶修改 并已說明支持ESP32OpenOCD,否則無法對ESP32等進行除錯,


OpenOCD官方版本暫時無法對ESP32進行除錯

關于CMSIS-DAP除錯器:雖然官方版本OpenOCD支持CMSIS-DAP,但是樂鑫在ESP-IDF開發環境搭建時自動安裝的OpenOCD并未支持此除錯器,


如果想要使openocd-esp32支持CMSIS-DAP請參考《從原始碼構建 OpenOCD》檔案,從樂鑫提供的原始碼編譯一份openocd-esp32,編譯時打開支持CMSIS-DAP的選項即可,但并不保證CMSIS-DAP一定能在除錯ESP32等時能正常作業

本文以ESP-Prog除錯器為例,探究 ESP32 JTAG 除錯的方法,其他除錯器以此類推,如圖為 ESP-Prog 除錯器

ESP32 管腳JTAG 信號
MTDO / GPIO15TDO
MTDI / GPIO12TDI
MTCK / GPIO13TCK
MTMS / GPIO14TMS
GNDGND

ESP-Prog 的 JTAG 介面如下(從板子的背面也可以看)

這里建議將ESP32monitor串口接到另一邊的變成介面上,monitor介面請通過idf.py menuconfig進行配置,默認為 UART0 ,這樣可以讓你的ESP32能在JTAG除錯時同時觀察串口的輸出,

注意
ESP-Prog上標注的ESP_TXDESP_RXD表示這兩個介面接入 ESP32 的TXDRXD,并不是指此介面是下載器的TXD和RXD,因此不要想當然地反接,這里需要正接,


如果你只接入了TXDRXD兩條資料線,確保使用idf.py時要進行手動燒錄復位(即IO0在低電平的時候完成一次芯片復位)部分開發板上的BOOT按鍵即為IO0,在此按鍵被按下的時候按開發板上的EN鍵即可)


如果你想使用 ESP-Prog 板載的自動編程介面(6針)來下載程式,請確保EN和IO0也接入,這樣即可通過自動燒錄電路進行程式下載,(無需手動燒錄復位)

1. Windows

請先閱讀上方的說明文字,選擇合適的除錯器

ESP-Prog使用了 FT2232 芯片實作了 JTAG 配接器,所以以下說明同樣適用于其他基于 FT2232JTAG 配接器,

  1. ESP-Prog 接入電腦

  2. 等待 Windows 識別出 ESP-ProgESP-WROVER-KIT 并且為其安裝驅動,如果驅動沒有被自動安裝,請前往 官網 下載并手動安裝,

  3. 從 Zadig 官網 下載 Zadig 工具(Zadig_X.X.exe)并運行,

  4. 在 Zadig 工具中,進入 “Options” 選單中選中 “List All Devices”,

  5. 檢查設備串列,其中應該包含兩條與 ESP-Prog 相關的條目:“Dual RS232-HS (Interface 0)” 和 “Dual RS232-HS (Interface 1)”,驅動的名字應該是 “FTDIBUS (vxxxx)” 并且 USB ID 為:0403 6010

  6. 第一個設備 “Dual RS232-HS(Interface 0)” 連接到了 ESP32JTAG 埠,此設備原來的 “FTDIBUS (vxxxx)” 驅動需要替換成 “WinUSB (v6xxxxx)”,為此,請選擇 “Dual RS232-HS (Interface 0)” 并將驅動重新安裝為 “WinUSB (v6xxxxx)”,如圖,

注意:請勿更改第二個設備 “Dual RS232-HS(Interface 1)” 的驅動,它被連接到 ESP32 的串口(UART),用于上傳應用程式映像給 ESP32 進行燒寫,

  1. 最后步驟

之后參考本專欄環境搭建(一)文章,執行export.bat之后,在PowerShellcmd中執行xtensa-esp32-els-gdb

PS D:\> xtensa-esp32-elf-gdb

如果看到

Open On-Chip Debugger  v0.10.0-esp32-20210401 (2021-04-01-15:45)
Licensed under GNU GPL v2
For bug reports, read
	http://openocd.org/doc/doxygen/bugs.html
Info : Listening on port 6666 for tcl connections
Info : Listening on port 4444 for telnet connections
Info : ftdi: if you experience problems at higher adapter clocks, try the command "ftdi_tdo_sample_edge falling"
Info : clock speed 20000 kHz
Info : JTAG tap: esp32.cpu0 tap/device found: 0x120034e5 (mfg: 0x272 (Tensilica), part: 0x2003, ver: 0x1)
Info : JTAG tap: esp32.cpu1 tap/device found: 0x120034e5 (mfg: 0x272 (Tensilica), part: 0x2003, ver: 0x1)
Info : esp32.cpu0: Debug controller was reset.
Info : esp32.cpu0: Core was reset.
Info : esp32.cpu1: Debug controller was reset.
Info : esp32.cpu1: Core was reset.
Info : Listening on port 3333 for gdb connections

沒有錯誤資訊,則證明配置成功

2. Linux

請先閱讀上方的說明文字,選擇合適的除錯器

ESP-Prog使用了 FT2232 芯片實作了 JTAG 配接器,所以以下說明同樣適用于其他基于 FT2232JTAG 配接器,

  1. ESP-Prog 接入電腦
  2. 打開終端,輸入 ls -l /dev/ttyUSB* 命令檢查作業系統是否能夠識別板子的 USB 埠,類似識別結果如下:
local@augtons:~/esp$ ls -l /dev/ttyUSB*
crw-rw---- 1 root dialout 188, 0 Jul 10 19:04 /dev/ttyUSB0
crw-rw---- 1 root dialout 188, 1 Jul 10 19:04 /dev/ttyUSB1
  1. 設定兩個 USB 埠的訪問權限

OpenOCD 官方檔案提供了這樣一段資訊

For USB devices on GNU/Linux you should use the contrib/60-openocd.rules
file. It probably belongs somewhere in /etc/udev/rules.d, but
consult your operating system documentation to be sure. Do not forget
to add yourself to the “plugdev” group.

對于大多數Linux發行版(如Ubuntu等),我們需要將openocd-esp32提供的rules檔案放到/etc/udev/rules.d/下(具體請參考自己作業系統的檔案)

之后需要將你的用戶添加到plugdev組中

usermod -a -G plugdev 你的用戶名
  1. 重啟電腦,然后重新插拔ESP-Prog的電源使之前的改動生效,在終端再次輸入 ls -l /dev/ttyUSB* 命令進行驗證,查看這兩個設備的組所有者是否已經從 dialout 更改為 plugdev:
local@augtons:~/esp$ ls -l /dev/ttyUSB*
crw-rw-r-- 1 root plugdev 188, 0 Jul 10 19:07 /dev/ttyUSB0
crw-rw-r-- 1 root plugdev 188, 1 Jul 10 19:07 /dev/ttyUSB1

如果看這樣的輸出結果,并且你也是 plugdev 組的成員, 那么設定作業就完成了,

具有較低編號的 /dev/ttyUSBn 介面用于 JTAG 通信,另一路介面被連接到 ESP32 的串口(UART),用于上傳應用程式映像給 ESP32 進行燒寫,

  1. 最后步驟

之后參考本專欄環境搭建(二)文章,執行export.sh之后,在終端中執行xtensa-esp32-els-gdb

xtensa-esp32-elf-gdb

如果看到

Open On-Chip Debugger  v0.10.0-esp32-20210401 (2021-04-01-15:45)
Licensed under GNU GPL v2
For bug reports, read
	http://openocd.org/doc/doxygen/bugs.html
Info : Listening on port 6666 for tcl connections
Info : Listening on port 4444 for telnet connections
Info : ftdi: if you experience problems at higher adapter clocks, try the command "ftdi_tdo_sample_edge falling"
Info : clock speed 20000 kHz
Info : JTAG tap: esp32.cpu0 tap/device found: 0x120034e5 (mfg: 0x272 (Tensilica), part: 0x2003, ver: 0x1)
Info : JTAG tap: esp32.cpu1 tap/device found: 0x120034e5 (mfg: 0x272 (Tensilica), part: 0x2003, ver: 0x1)
Info : esp32.cpu0: Debug controller was reset.
Info : esp32.cpu0: Core was reset.
Info : esp32.cpu1: Debug controller was reset.
Info : esp32.cpu1: Core was reset.
Info : Listening on port 3333 for gdb connections

沒有錯誤資訊,則證明配置成功,

如果看到有找不到Python2.7.so之類的錯誤,請安裝libpython2.7

對于Debain系作業系統如Ubuntu,可用如下命令列

sudo apt-get install libpython2.7

其余Linux發行版請自行查找系統檔案,安裝libpython2.7即可,

3. 錯誤排除

  1. 檢查硬體連接,JTAG 介面與 ESP32 連接是否正確,
  2. 使用 JTAG 除錯時,ESP32 JTAG 介面對應的 GPIO 不可被配置,
  3. Linux下可能有無法使用ESP-Prog板載虛擬串口的情況,請參考如下文章解決:
    1. 官方檔案-與ESP32創建串口連接 中有一個“FTDI”,請參考(下文2.和3.即為博主參考出來的東西,如仍未解決請繼續查閱資料)
    2. TN_101_Customising_FTDI_VID_PID_In_Linux(FT_000081).pdf中,第4頁的 2 Procedure,按照操作創建rules檔案
    3. 如果你的系統是ubuntu等,檢查你的電腦是不是安裝了brltty(打開終端輸入brltty即可),如果有請卸載,(仍然參考1中的pdf檔案,第5頁末尾sudo apt-get remove brltty

三、使用 Clion 進行 JTAG 除錯

1. 使用 JTAG 介面進行除錯

先看一張效果圖

Clion 成功為程式打上了斷點,并查看了程式變數,

(1) 添加配置

添加組態檔,選擇嵌入式 GDB 服務器


按照下圖和下方說明所示填寫內容:

  • 目標和可執行檔案,選擇*.elf即可
  • GDB 一定不要選擇 Bundled GDB ,而是選擇搭建esp-idf開發環境時自動安裝的xtensa-esp32-elf-gdb,其位置請參考本專欄環境搭建(一)或(二),在.espressif檔案夾中,
    例如博主的Linux在/home/augtons/.espressif/tools/xtensa-esp32-elf/esp-2021r1-8.4.0/xtensa-esp32-elf/bin中,


    Windows默認在C:\Users\用戶名\.espressif\...(參考我的Linux路徑) (除非你在安裝時有改動過)
  • 下載可執行檔案 一定要選擇無!!!(原因見后文)
  • `target remot… 填寫 tcp:127.0.0.1:3333
  • GDB 服務器,填寫安裝esp-idf開發環境時自動安裝的openocd-esp32或自己部署的openocd-esp32路徑
  • 下邊最重要的就是 GDB 服務器實參了,參考下一節

(2) 配置 GDB 服務器實參

這個實參本質上是在命令列中使用openocd時應附帶的引數,詳細內容請在終端中執行下述命令列來查看具體資訊,

openocd --help

這里只簡單介紹一點:

  1. -s 引數 + openocdscripts檔案夾路徑,【可省略】,默認為openocd目錄下 /share/openocd/scripts
  2. -f 引數 + 組態檔.cfg(可以是絕對路徑,也可以是相對于scripts的路徑)
  3. -c 引數 需要讓openocd執行的命令,用雙引號引起,每個命令用分號隔開

對于ESP-Prog除錯器或 ESP-WROVER-KIT開發板,樂鑫官方已經為我們寫好了組態檔,在scripts下的board中,

如果你在用ESP-Prog除錯3.3V供電的ESP32或其模組,或在使用 ESP-WROVER-KIT等帶除錯器芯片的開發板,/board/esp32-wrover-kit-3.3v.cfg是最明智的選擇,如果為其他情況,可以先嘗試使用這個組態檔,如果不行,則要去script/board下找符合自己情況的組態檔,如果沒找到,則要自己撰寫cfg組態檔,

如果你選擇此組態檔,則在 GDB 服務器實參中填入如下內容

-f board/esp32-wrover-kit-3.3v.cfg -c "init;reset halt;"

script檔案夾下除了board檔案夾,還有interfacetarget兩檔案夾,其中interface下為除錯配接器的組態檔target下為被除錯目標(如esp32)的組態檔,你可以將board檔案夾下的組態檔當作interfacetarget下兩兩組合得來,可能又配置了更貼近除錯目標的引數,當然,這里的“兩兩組合”不是簡單的復制粘貼而來,而是通過參考組合而來的,

全部填好后,選擇剛才你添加的 Clion 除錯配置,點擊“小蟲子”圖示就可以開始除錯了,除錯之前,一定要保證此程式已經被下載到了單片機內 ,使用idf.py flash即可,或者看下一小節使用 JTAG 燒錄程式,

2. 使用 JTAG 介面燒錄程式

點擊編輯配置,添加一個Shell Script

這里千萬不要選擇OpenOCD 下載并運行 (如上圖 Shell Script 往上數 3 個),因為 openocd 原生的燒錄命令program并不適用于ESP32等,而是要使用樂鑫官方提供的燒錄命令program_esp必須使用自定義的命令來完成程式的燒錄
(下述的燒錄位置可以通過idf.py menuconfig更改,下方示例種的燒錄位置是默認值)

program_esp  <檔案名.bin> <燒錄位置> <其他引數>...

例如,向0x10000燒錄編譯后的 主程式bin 檔案 (build/xxx.bin按具體情況更改)

program_esp build/xxx.bin 0x10000 verify reset exit

再如,向0x1000燒錄編譯后 二級引導程式bootloader.bin 檔案

program_esp build/bootloader.bin 0x1000 verify reset exit

再如,向0x8000燒錄編譯后的 磁區表 partition-table.bin檔案

program_esp build/partition-table.bin 0x8000 verify reset exit


執行選擇腳本文本,腳本文本填入參考如下文本,改成符合自己的命令,


1. Linux下

. ~/esp/esp-idf-v4.3.1/export.sh && openocd -f board/esp32-wrover-kit-3.3v.cfg -c "program_esp cmake-build-debug/Hello.bin 0x10000 verify reset exit"

另外,如果你按照我在本專欄發布的文章搭建的環境,給執行export.sh的命令起過別名,則可以把&&之前的內容換成別名,例如在我的文章中用的get-idf

get-idf && openocd -f board/esp32-wrover-kit-3.3v.cfg -c "program_esp cmake-build-debug/Hello.bin 0x10000 verify reset exit"

需要注意的是,命令中cmake-build-debug/Hello.bin是我的工程下的bin檔案路徑,你要根據自己實際情況,改成自己工程的bin檔案路徑,

至于燒錄地址為什么是0x10000,請參考 官方檔案 -> API 指南 -> 磁區表,除非更改過,否則默認就是0x10000

如需更改磁區表、bootloader 等,請使用idf.py flash進行徹底燒錄


2.Windows下

參考Linux下,請用填入能完成下方任務的命令列:
(兩條命令連接依然是&&

  1. 執行export.batexport.ps1
  2. 執行openocd -f board/esp32-wrover-kit-3.3v.cfg -c "program_esp cmake-build-debug/Hello.bin 0x10000 verify reset exit"


    參考上文對此命令的解釋,更改為適合自己工程的命令,

四、使用命令列進行除錯

參考樂鑫提供的官方檔案 使用命令列的除錯示例

本文不再贅述

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

標籤:其他

上一篇:【STC15系列】SYK-0806-A2S1 工業自動化控制之【16-自定義協議通信】

下一篇:如何獲得3點之間的角度?

標籤雲
其他(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