【期末復習】嵌入式——S5PV210開發板

本文為嵌入式課程期末復習,僅供參考,所用課本:嵌入式Linux操作系統(李建祥著)

第一章

1.1 簡述嵌入式微處理器數據存儲格式的大,小端模式。

大端模式是指數據的高字節保存在內存的低地址中,而數據的低字節保存在內存的高地址中。

小端模式則是指數據的高字節保存在內存的高地址中,而數據的低字節保存在內存的低地址中。

1.2 Cortex-A8 處理器主要由哪 5 部分組成?

(1)處理器核心:負責執行指令和數據處理,支持多種指令集,能夠高效地執行各種計算任務。

(2)內存管理單元(MMU):處理器中負責內存管理的部分,提供了虛擬內存到物理內存的映射功能。通過 MMU,Cortex-A8 可以實現內存保護、地址轉換以及多任務之間的內存隔離。

(3)高速緩存:Cortex-A8 通常配備了一級(L1)和二級(L2)高速緩存,用于存儲處理器經常訪問的數據和指令。可以提高處理器的性能,減少訪問主存的延遲。

(4)浮點單元(FPU):專門用于執行浮點運算的硬件部分,使得處理器在處理復雜數學運算和圖形處理等方面具有出色的性能。

(5)外設接口:用于連接各種外部設備。

1.3 寫出 R 寄存器組中 r13、r14、r15 的名稱和作用。

(1) r13(堆棧指針寄存器SP),用于指向當前堆棧的頂部。

(2) r14(鏈接寄存器LR),用于存儲子程序返回主程序的鏈接地址。當處理器執行調用指令(如BL)時,r14 用于存儲了程序計數器 PC的備份,供子程序的返回主程序。

(3) r15(程序計數器PC),指向當前的程序地址。PC 的值決定了 CPU接下來要執行的指令的地址。在ARM 體系結構中,由于采用了多級流水線技術,PC總是指向當前指令的下兩條指令的地址。

1.4 簡述 Cortex-A8 處理器的 8 種工作模式。

(1) 用戶模式:正常程序執行的模式,大多數應用程序代碼都在此模式下運行。該模式為非特權模式,限制內存的直接訪問和通過物理地址對硬件設備進行讀寫操作。

(2) 系統模式:使用與用戶模式相同的寄存器組,但擁有特權級操作系統任務

的執行能力,允許訪問硬件資源和執行特權操作。

(3) 管理模式:操作系統使用的保護模式,通常系統復位或軟件中斷時進入此模式。

(4) 中斷模式:當低優先級中斷發生時進入此模式,常用于處理普通的外部中斷。

(5) 快速中斷模式:當高優先級中斷發生時進入此模式,用于高速數據傳輸和通道處理。

(6) 數據訪問中止模式:當存取異常(如無效的內存訪問)發生時進入此模式。

(7) 未定義指令中止模式:當執行未定義指令時進入此模式,用于支持硬件協處理器的軟件仿真。

(8) 監控模式:可在安全模式與非安全模式之間進行轉換。

除用戶模式外,其余模式都屬于特權模式,該模式下可以訪問所有的系統資源。

1.5 如何確定系統出于哪種操作模式?

使用mrs命令將cpsr寄存器中的值讀取出來,比較其模式位M[4:0]的值判斷當前所處模式。

1.6 簡述 Cortex-A8 處理器的 CPSR 寄存器各功能位名稱和功能定義

(1) 條件標志位:

N負數或小于標志位:N=1表示運行結果為負數。

Z零標志位:Z=1表示運算結果為零。

C進位/借位標志位:加法運算中,若結果產生了進位,C=1,減法運算中,若發生借位,C=0。

V溢出標志位:V=1,表示兩個有符號數相加結果溢出。

Q 標識位:若執行乘法和分數算術運算指令時,發生溢出,則Q被置為1。

(2) 狀態控制位:

IT:條件語句執行控制位。

J:T=1時,依據J位決定處理器的工作狀態。

E:決定數據的端模式(大端/小端)。

(3) 控制位:

I:IRQ 中斷禁止位。I=1 時,禁止 IRQ 中斷,反之允許。

F:FIQ 中斷禁止位。F=1 時,禁止 FIQ 中斷,反之允許。

T:Thumb 狀態位。決定處理器的工作狀態。

M[4:0]:工作模式位。用于決定當前處理器的工作模式。

第二章

2.1 舉例說明 ARM 匯編指令所支持的尋址方式。

(1) 立即數尋址:立即數作為操作數在指令中給出SUB R0, R1, #1

(2) 寄存器尋址:操作數存放在寄存器中,指令執行時直接取出寄存器值來操作。MOV R1, R2

(3) 寄存器間接尋址:操作數保存在寄存器指定地址的存儲單元中。LDR R1, [R2]

(4) 寄存器移位尋址:寄存器尋址得到的操作數再進行移位得到最終的操作數。MOV R0, R2, LSL #3

(5) 基址尋址:基址寄存器中的值與指令中的偏移地址量相加,形成操作數的有效地址。LDR R2, [R3, #0x5]

(6) 相對尋址:將程序計數器作為基址寄存器,指令中的標號作為地址偏移量,兩者相加得到操作數存放地址。B process

(7) 多寄存器尋址:一條指令可以完成多個寄存器值的傳送。LDMIA R1, {R2-R4, R5}

補充:IA每次傳送后地址加4,DA減4(I increment A after D decrement)

????IB每次傳送前地址加4,DB減4(B before)

? ? FA滿遞增堆棧,FB滿遞減堆棧(F full)

? ? EA空遞增堆棧,EB空遞減堆棧(E empty)

(8) 塊拷貝尋址:可實現數據塊的復制。LDMIA R0 {R1-R5}

(9) 堆棧尋址:用于數據棧與寄存器組之間的批量數據傳輸。LDMFD R13!,{R0,R1,R2,R3,R4}

R13為堆棧指針,此指令將R0-R4依次壓入堆棧中

2.2 ARM GNU匯編

2.2.1 相對跳轉指令 b bl

bl 指令除了跳轉之外,還將返回地址(bl 指令下面一條指令的地址)保存在lr寄存器中。?b 和 bl 指令只能實現±32MB 空間的跳轉,并且是位置無關指令。

2.2.2 數據傳送指令 mov 和偽指令 ldr

mov 指令可以把一個立即數或寄存器的值(這里不能是內存地址)賦給另一個寄存器, mov 指令限制了立即數的長度為 8 位。

mov r1, r2 /* r2 中的內容賦給 r1 */mov r1,#0xFF /* r1=0xFF */

ldr 指令即是加載指令(內存訪問指令),也是偽指令,作為加載指令時,可以把一個寄存器內的數據加載到另一個寄存器,或內存地址里的數據加載到寄存器中。作為偽指令時,可以在立即數前面加一個等號“=”,以表示把一個地址寫到寄存器中去。

對于 ldr 偽指令的第二個參數沒有范圍的限制,如果立即數的長度不超過 8 位時,編譯器會自動轉換為 mov 指令。

ldr r1, =100 /* r1=100,系統會自動用 mov 指令代替?*/ldr r1, =0x12345678 /* r1=0x12345678 */ldr r1, 0x12345678 /* 將 0x12345678 地址處的值賦給 r1 寄存器*/

    2.2.3 內存訪問指令 ldrstrldmstm

    str 是內存訪問指令,它的功能與 ldr 相反,它是把數據存到內存中去。

    ldr r1, [r2 + 4] /* 將地址為 r2+4 的內存單元數據讀取到 r1 寄存器?*/str r1, [r2 + 4] /* 將 r1 寄存器的內容保存到地址為 r2+4 的內存單元中?*/

    ldmstm 屬于批量內存加載和存儲指令,可以實現在一組寄存器和一塊連續的內存單元之間傳輸數據。語法格式如下:?

    ldm{cond}< mode> {!} {^} stm{cond}< mode> {!} {^}

    2.2.4 加減指令 addsub

    1)add 寄存器,數據?add r1, 8 /* r1=r1+8 */

    2)add 寄存器,寄存器?add r1, r2 /* r1=r1+r2 */

    3)add 寄存器,內存單元?add r1, [0x12345678] /* r1 等于 r1 寄存器的值加內存 0x12345678 中的值?*/

    4)add 內存單元,寄存器?add [0x12345678], r1 /* 內存 0x12345678 中的值加 r1 再寫回到 0x12345678 中*/

    sub類似

    2.2.5 位操作指令 bicorr

    bic 為位清除指令,bic {cond}{S} 目的寄存器,操作數 1,操作數 2

    用途:清除操作數 1 的某些位(操作數 2 指定),并把結果寫到目的寄存器中。

    例如:?bic r0, r0, 0x1f //將 r0 的 bit[4:0]

    位清零?orr 指令用法與 bic 類似,它是把操作數 1 指定的位(操作數 2)置1。

    2.2.6 程序狀態寄存器訪問指令 msrmrs

    msr mrs 用來對程序狀態寄存器 cpsr 和 spsr 進行讀寫操作。

    msr cpsr, r1 /* 將 r1 中的內容寫回到 cpsr */

    mrs r1, cpsr /* 讀取 cpsr 到 r1 */

    補充記憶:s-status狀態寄存器 r-通用寄存器,所以msr是將通用寄存器的值寫入狀態寄存器,mrs是將狀態寄存器的值讀取到通用寄存器中。

    第三章

    3.1 簡述 S5PV210 芯片功能。

    (1) 核心架構:采用了 ARM Cortex-A8 內核,基于 ARM V7 指令集,主頻可達 1GHZ,具有 64/32 位內部總線結構,以及 32/32KB 的數據/指令一級緩存和 512KB 的二級緩存。

    (2)?圖形處理能力:內建高性能3D 圖形引擎和 2D 圖形引擎,支持 2D/3D圖形加速。

    (3)?視頻編解碼能力:內建 MFC,支持多種格式視頻的編解碼,以及模擬/數字 TV 輸出。

    (4) 圖像處理:JPEG 硬件編解碼,最大支持 8000x8000 分辨率的圖像處理。

    (5) 存儲和接口:存儲控制器支持多種類型的 RAM。Flash 支持 Nandflash、Norflash、OneNand 等。接口豐富。

    (6) 高清輸出:內建的 HDMI v1.3 接口,可以將高清視頻輸出到外部顯示器上。

    (7) 功耗和性能優化:提供了多種電源管理和功耗優化技術,確保高性能低功耗。

    3.2 簡述 S5PV210 上電復位后的啟動過程。

    (1)處理器上電后,首先進入復位狀態并開始初始化。

    (2)執行iROM中的固化代碼,即 BL0。

    (3)執行 BL0,加載bootloader到片內SRAM中, 即BL1,并跳轉到BL1中執行。

    (4)執行BL1,加載bootloader剩余部分到SRAM中,即BL2并跳轉到BL2中執行。

    (5)執行BL2初始化DRAM控制器,并加載操作系統到SRAM中。

    (6)處理器跳轉到操作系統的起始地址,開始運行操作系統。

    3.3?BL0啟動序列

    (1)禁止看門狗

    (2)初始化指令緩存

    (3)初始化棧、堆

    (4)初始化塊設備復制函數

    (5)初始化PLL(鎖相環)及設置系統時鐘

    (6)根據OM引腳設置,從相應設置中復制BL1前16KB字節到片內SRAM的0xD0020000地址,并檢查BL1的checknum信息,若檢查失敗,將自動嘗試第二次啟動

    (7)檢查是否安全模式啟動,是則驗證BL1的完整性

    (8)跳轉到BL1起始地址處

    第四章

    4.1 常用u_boot命令

    Help:查看當前u_boot的所有可用命令

    Bdinfo:顯示開發板配置信息

    Cmp:比較兩塊存儲單元的值

    Tftp:通過tftp協議從網絡下載文件到指定內存地址

    Ping:測試網絡連通性

    Printenv:打印當前環境變量及其值

    Setenv:設置環境變量

    Saveenv:保存環境變量

    Version:查看當前u_boot版本信息

    Reboot:重啟

    ???????4.2?寫出 U-Boot 兩種工作模式的作用。

    (1) 啟動加載模式是應用系統的正常工作模式,該模式自動將嵌入式操作系統從FLASH 中加載到 SDRAM 中運行,無需用戶介入。

    (2) 下載模式允許 Bootloader 通過某些通信手段將內核映像或根文件系統映像等從 PC 機中下載到目標板的 FLASH 中。通常用于開發階段,目標機中的u_boot會向終端提供一個簡單的命令行接口。

    第五章

    嵌入式系統開發環境主要由哪兩部分構成?

    (1) 宿主機指PC或筆記本電腦,用于搭建交叉編譯環境,編譯用于目標機的系統內核和應用程序。

    (2) 目標機指量身定制的一個嵌入式專用平臺,用于系統內核和應用程序的測試與運行。

    六、其余補充內容

    6.1?Flash閃存

    Flash閃存是一種非易失性存儲器,即供電電源關閉后仍能保存片內信息不丟失。常用的閃存主要有NorNand兩類。

    (1)接口方面,Nor Flash帶有通用的SRAM接口,支持隨機訪問。而Nand Flash的接口是相對復雜的I/O接口串行存取數據,需要先發出命令,然后發出相應的地址,最后讀/寫數據。

    (2)容量與成本方面,Nor Flash的容量相比Nand Flash小很多,價格高很多。

    (3)可靠性方面,Nor Flash上不存在壞塊,而Nand Flash在使用前要進行壞塊掃描,且flash的位翻轉現象的出現頻率較高,在文件存儲時容易導致信息出錯。

    (4)使用壽命方面,Nand Flash一個塊最大擦寫次數可達百萬次,而Nor Flash只有十萬次左右。

    (5)讀寫速度方面Nand Flash擦除簡單,而Nor Flash擦除前需要先將目標塊內的值先寫為1,且Nor Flash的塊較大,擦除時間較長。

    ???????U盤常用的存儲器是Nand Flash

    U盤常用的存儲器是非易失性存儲器Nand Flash,然后回答它相比與Nor Flash的優點。

    6.2 ???????如何理解嵌入式系統?結合應用談談自己的理解

    嵌入式系統是以應用為中心,以計算機技術為基礎,軟硬件可裁剪,適用于應用系統,對功能、可靠性、成本、體積、功耗等有著嚴格要求的專用計算機系統。

    6.3 ???????嵌入式系統的特點

    (1)軟硬件可裁剪

    (2)體積小、低功耗、低成本,高可靠性、高穩定性

    (3)實時性和交互性強

    (4)對開發環境和人員有一定要求???????

    6.4 ???????S5PV210提供幾個32位的定時器,哪幾個具備PWM功能?

    S5PV210提供5個32位定時器,其中定時器0、1、2、3具備PWM功能,定時器4沒有輸出引腳,定時器還具有死區寄存器。

    6.5 ???????以定時器0為例,說說PWM定時器工作過程

    (1)設置預分頻器和時鐘分頻器值

    (2)設置TCNTBn定時器初值和TCMPBn比較值,配置TCON寄存器開啟定時器,在使能手動更新后,TCNTNBn和TCMPBn的值自動裝入定時器內部的TCNTn和TCMPn寄存器

    (3)TCNTn開始減一計數,直到和TCMPn的值相等時,在使能自動反轉功能后,TOUTn的輸出引腳信號反轉

    (4)TCNTn繼續進行減一操作,直到減到0。如果使能中斷功能,則觸發相應的中斷,跳轉到相應的中斷服務子程序中執行

    (5)如果使能自動加載,則TCNTn的值減到0后,會進行自動重裝并開始下一次定時操作。若為手動加載,則定時器停止定時。直到裝入初值和比較值,會在執行完當前周期后,在下一次時鐘周期開始定時操作

    ???????6.6?嵌入式設備文件分為哪三類?

    (1)字符設備,能夠像字節流一樣訪問的設備,比如文件、串口

    (2)塊設備,數據以塊的形式存放,比如Nand Flash

    (3)網絡接口,同時具有字符設備和塊設備的部分特點

    七、實驗部分

    7.1 ???????Linux交叉編譯環境的制作過程

    (1)下載交叉編譯工具鏈arm-linux-gcc,并進行解壓

    (2)啟用32位架構,安裝32位依賴庫

    (3)配置環境變量,并確保其生效

    (4)輸入arm-linux-gcc -v命令,若正確輸出版本號,則安裝配置成功

    7.2 ???????U_Boot移植過程

    根據開發板需求從?U-Boot 的官網下載對應的源碼,并準備一個容量足夠且無重要數據的sd卡,將其格式化為 FAT32 文件系統。

    在boards.cfg中添加單板硬件信息,創建板級目錄和配置文件,配置相關的硬件相關驅動

    執行make <board>_config命令,自動生成配置文件和架構符號鏈接

    通過make命令編譯生成spl/u-boot-spl.bin和u-boot.bin,按芯片要求燒錄sd卡中(實驗中為扇區1和扇區32)

    將sd卡插入到開發板上,選擇從sd卡啟動觀察現象是否正常

    7.3 ???????U_Boot啟動過程

    (1)BL0(iROM 階段):iROM初始化硬件并從SD卡扇區1加載SPL到內部RAM執行;

    (2)BL1(SPL 階段):SPL初始化時鐘和DDRAM后,從SD卡扇區32加載完整U-Boot到DDRAM起始地址(0x20000000)執行;

    (3)BL2(U-Boot 階段):U-Boot完成硬件初始化后,執行重定位計算目標地址,將自身代碼從加載地址復制到目標地址,根據重定位表修正符號地址,最后跳轉到重定位后的?U-Boot 繼續執行,準備加載內核。

    7.4 ???????驅動設計實驗具體過程

    在Ubuntu環境下搭建交叉編譯環境,禁用系統自帶的蜂鳴器驅動以避免沖突(make menuconfig)并編譯內核源碼。

    編寫驅動程序buzzer.c、驅動測試代碼test.c和對應的Makefile文件。

    執行make命令編譯生成內核模塊buzzer.ko和test可執行文件,并將buzzer.ko與test可執行文件通過tftp命令、sd卡、u盤或其它方式導入開發板。

    在開發板上加載好buzzer.ko文件(insmod buzzer.ko),創建字符設備(mknod /dev/buzzer),為test程序添加可執行權限(chmod +x ?test)并運行test(./test),觀察蜂鳴器現象(響起)。

    7.5 ???????加載設備驅動程序有幾種方法,分別如何實現?

    兩種加載方式:

    (1)靜態編譯加載,把驅動程序直接編譯進內核,開機自動生效,缺點是調試麻煩

    (2)動態模塊加載:將驅動程序編譯為.ko模塊文件,通過insmod命令手動添加模塊(insert),不需要時使用rmmod命令刪除(remove),便于調試,可根據需求進行內核裁剪


    如有問題或建議,歡迎在評論區中留言~

    本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
    如若轉載,請注明出處:http://www.pswp.cn/bicheng/96097.shtml
    繁體地址,請注明出處:http://hk.pswp.cn/bicheng/96097.shtml
    英文地址,請注明出處:http://en.pswp.cn/bicheng/96097.shtml

    如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

    相關文章

    word文檔結尾批量插入圖片 docx批量插入圖片 指定幾張

    如果你有一些word文檔。比如工作總結。你想每一個文檔里面都插入幾張圖片。插入到每個文檔的結尾&#xff0c;那么你可以使用這個工具。首先準備好你的文檔。然后把它們拖進右邊的方框中。拖動的時候&#xff0c;拖動第一個&#xff0c;然后準備好你的圖片。把你的圖片全部拖動…

    CodeBuddy國際版又更新了體驗感1

    CodeBuddy國際版又更新了 更好的使用體驗更少的資源消耗合理的消耗剩余資源使用起來也是很不錯的&#xff0c;這次更新自動模式想不到的少&#xff0c;可以用于其他的例如翻譯與寫測試用例或者其他的說明文檔等或者是閱讀一下項目更好了解項目總的上來說 使用體驗響應速度還是不…

    基于開源AI智能名片鏈動2+1模式S2B2C商城小程序的公益課引流策略研究

    摘要&#xff1a;本文聚焦公益課引流場景&#xff0c;探討開源AI智能名片、鏈動21模式與S2B2C商城小程序的融合應用。通過構建低成本用戶裂變體系&#xff0c;分析該技術組合在精準篩選、社群運營、激勵機制設計中的協同效應。研究提出"智能名片畫像-鏈動裂變激勵-S2B2C生…

    季度最強策略:年化247%,回撤10%,夏普比率3.79。附大小盤輪動策略python源代碼。

    原創內容第993篇&#xff0c;專注AGI&#xff0c;AI量化投資、個人成長與財富自由。 季度最強策略&#xff1a; 年化247%&#xff0c;回撤10%&#xff0c;夏普比率3.79。3積分可查看參數。 大小盤輪動的策略源代碼&#xff1a; 年化收益18.8%。 from engine import Task, Eng…

    testng.xml

    一、TestNG.xml 是 TestNG 測試框架的核心配置文件&#xff0c;用于組織和控制測試執行。通過它&#xff0c;可以靈活地管理測試套件、測試類、方法&#xff0c;并設置各種執行參數一個基本的 testng.xml文件通常以 ??DOCTYPE 聲明??開頭&#xff0c;并遵循特定的文檔類型定…

    上架商品合規流程有多條,有的長,有的短,有的需要審核,校驗商品的合規性

    博主介紹&#xff1a;?全網粉絲5W&#xff0c;全棧開發工程師&#xff0c;從事多年軟件開發&#xff0c;在大廠呆過。持有軟件中級、六級等證書。可提供微服務項目搭建與畢業項目實戰&#xff0c;博主也曾寫過優秀論文&#xff0c;查重率極低&#xff0c;在這方面有豐富的經驗…

    [嵌入式][stm32h743iit6] 野火繁星stm32h743iit6開發板使用學習記錄

    [嵌入式][stm32h743iit6] 野火繁星stm32h743iit6開發板使用學習記錄野火繁星STM32H743IIT6開發板使用學習速記問題描述嘗試解決野火繁星STM32H743IIT6開發板使用學習速記 問題描述 在使用該開發板學習stm32hal庫pwm開發時, 偶遇代碼無法驅動sg90舵機進行旋轉, 無論占空比設置…

    Android 熱點開發的相關api總結

    Android 熱點 一、前言熱點開發屬于系統級功能開發&#xff0c;涉及的核心 API 多為系統簽名權限保護&#xff08;如android.permission.TETHER_PRIVILEGED&#xff09;&#xff0c;通常僅系統應用&#xff08;如 Settings&#xff09;可正常調用。 實際開發中&#xff0c;除基…

    Claude Code 使用指南

    Claude Code 使用指南 在 AI 輔助編程領域&#xff0c;我們正經歷從簡單的代碼補全到能夠自主執行復雜任務的“智能體”&#xff08;Agent&#xff09;的深刻變革。Claude Code 正是這一變革的杰出代表。它并非一個簡單的問答機器人&#xff0c;而是一個設計精密的編程協作系統…

    Spring Boot常用注解-詳細解析+示例

    1. SpringBootApplication詳細解析&#xff1a;組合注解&#xff0c;包含Configuration&#xff08;標記配置類&#xff09;、EnableAutoConfiguration&#xff08;開啟自動配置&#xff09;、ComponentScan&#xff08;組件掃描&#xff09;。啟動類標注后&#xff0c;Spring …

    基于原神游戲物品系統小demo制作思路

    概述 本文介紹了一個基于C的游戲物品與角色管理系統&#xff0c;該系統實現了游戲中的物品分類、角色屬性管理、隊伍組建以及背包物品使用等功能。該系統采用面向對象的設計原則&#xff0c;通過繼承和多態實現了可擴展的物品效果系統。 系統架構 1. 物品類型系統 系統定義了三…

    Grounded-Segment-Anything 環境配置

    Grounded-Segment-Anything 環境配置Grounded-Segment-Anything 介紹環境配置Install osx&#xff08;非必須&#xff09;:Install RAM & Tag2Text:報錯 module ‘pkgutil‘ has no attribute ‘ImpImporter‘. Did you mean: ‘zipimporter‘?運行輸出分割文本提示檢測遠…

    ZYNQ 定時器

    一、ZYNQ定時器簡介 每個Cortex-A9處理器都有自己的專用32位定時器和32位看門狗定時器。兩個處理器共享一個全局64位定時器。這些計時器的時鐘始終為CPU頻率&#xff08;CPU_3x2x&#xff09;的1/2。在系統級&#xff0c;有一個24位看門狗定時器和兩個16位三重定時器/計數器。系…

    Java8 Comparator接口 和 List Steam 排序使用案例

    在Java中&#xff0c;Comparator接口主要用于實現自定義排序邏輯&#xff0c;適用于未實現Comparable接口或需要覆蓋默認比較規則的場景。以下是核心使用方法和注意事項&#xff1a;一、基礎用法?匿名內部類實現?傳統方式通過匿名內部類重寫compare()方法&#xff0c;例如對整…

    word2vec模型案例

    代碼實現&#xff1a;import torch.optim as optim from tqdm import tqdm, trange import numpy as np import torch from torch import nn import torch.nn.functional as FCONTEXT_SIZE 2raw_text """We are about to study the idea of a computational p…

    < 自用文 OS 有關 > (續)發現正在被攻擊 后的自救 Fail2ban + IPset + UFW 工作流程詳解

    繼上編&#xff1a;&#xff1c; 自用文 主機 USC 記錄&#xff1a;&#xff1e; 發現正在被攻擊 后的自救-CSDN博客 環境&#xff1a; 改進&#xff1a; 以下是把代碼&#xff0c;懶得寫&#xff0c;扔給了 AI &#xff0c;讓它出的&#xff1a; Fail2ban IPset UFW 工作…

    Linux —— 虛擬進程地址空間

    &#x1f381;個人主頁&#xff1a;工藤新一 &#x1f50d;系列專欄&#xff1a;C面向對象&#xff08;類和對象篇&#xff09; &#x1f31f;心中的天空之城&#xff0c;終會照亮我前方的路 &#x1f389;歡迎大家點贊&#x1f44d;評論&#x1f4dd;收藏?文章 文章目錄虛…

    簡單聊一聊js

    JavaScript 是一種高級的、解釋型的編程語言。它是現代 Web 開發的三大核心基石之一&#xff0c;與 HTML 和 CSS 并列。?HTML?&#xff1a;負責網頁的結構和內容?&#xff08;如標題、段落、圖片&#xff09;。?CSS?&#xff1a;負責網頁的樣式和布局?&#xff08;如顏色…

    造粒機cad+設計說明書

    摘要 隨著現代化工業的快速發展&#xff0c;生產出大量的固體廢棄物。這些廢棄物對環境造成了很大的污染&#xff0c;因此需要采取有效的措施進行處理。機械強壓式造粒機就是一種非常有效的處理工具&#xff0c;它可以將廢渣、廢料、飼料和化肥等材料通過機械強力擠壓&#xff…

    第五課 C#語言基本元素概覽,初始類型,變量與方法,算法簡介

    熟悉C#語言要求&#xff1a;對構成C#語言的基本元素&#xff0c;隨便拿出一個你都認識&#xff0c;對于常見基本元素&#xff0c;都能正確使用它 精通C#語言要求&#xff1a;對于構成C#語言的基本元素&#xff0c;隨便拿出一個都會使用&#xff0c;對于常用基本元素&#xff0…