帶wifi藍牙芯片esp32 c6飛??萍紭扶未砩蘎ISC-V軟件環境,在現有開源和商業嵌入式軟件開發框架下,使用支持 RISC-V 架構處理器的編譯器、匯編器以及函數庫等組件,可實現 RISC-V 處理器應用程序的開發。重新編寫或者修改程序中與處理器架構相關的匯編語句、異常處理和 I/O 訪問等內容,可以將現有軟件移植到 RISC-V 處理器平臺。本問將介紹帶wifi藍牙芯片esp32 c6飛??萍紭扶未砩蘎ISC-V 處理器程序開發的方法,討論用于 RISC-V 處理器程序開發的 GCC 工具鏈,并通過示例程序說明使用SEGGER Embedded Studio 開發 RISC-V 處理器應用程序的過程。
RISC-V軟件環境
面向不同的應用場景,可將不同模塊和功能單元組合,構成功能相異的 RISC-V處理器,以支持不同的軟件運行環境。帶wifi藍牙芯片esp32 c6飛??萍紭扶未砩蘎ISC-V 處理器可以支持 3 種典型的軟件環境:實模式、虛擬內存模式和虛擬機(Hypervisor)模式。實模式下,應用程序(Application Program;APP)直接在處理器上運行;虛擬內存模式下,多個 APP 運行在操作系統(OperationSystem,OS)上,處理器直接支持 OS;虛擬機模式下,虛擬機支持多個操作系統,處理器直接支持虛擬機。
如果僅支持機器模式,或者支持機器和用戶兩種特權模式,則 RISC-V 處理器支持實模式軟件環境,能直接運行應用程序或一些實時操作系統,常作為微控制器(Micro Control Unit,MCU),應用于控制和數據采集等終端產品。在實模式環境中,程序中的邏輯地址與物理地址一致。利用應用程序接口(Application Binary Interface,ABI),在帶wifi藍牙芯片esp32 c6飛??萍紭扶未砩蘎ISC-V 處理器上運行應用程序。在實模式軟件環境模式下,ABI是處理器的指令,也可以是由指令組成的 ABI函數。
如果支持機器、管理員和用戶 3 種特權模式,則 RISC-V 處理器通常支持虛擬內存管理,能夠支撐復雜多任務操作系統,常應用于系統管理、數據處理和智能分析等邊緣設備。軟件環境中,通過操作系統提供的 ABI,在操作系統平臺上執行應用程序。操作系統通過管理員二進制接口(Supervisor Binary Interface,SBI)運行在 RISC-V 處理器上。帶wifi藍牙芯片esp32 c6飛??萍紭扶未砩淘谔摂M內存軟件環境模式下,ABI包括作系統提供的麗數和其他用戶函數,SBI 則包括處理器指令集和由指令模塊構成的SBI 函數。
如果支持機器、超級管理員、管理員和用戶 4 種特權模式,則帶wifi藍牙芯片esp32 c6飛??萍紭扶未砩蘎ISC-V 處理器支持虛擬機,能夠支撐虛擬機運行,可以應用于大數據管理與分析等云端設備。虛擬機提供操作系統運行環境,支持多個多任務操作系統,每個操作系統通過 SBI與虛擬機通信。虛擬機使用虛擬機二進制接口(Hypervisor BinaryInterface,HBI)運行在 RISC-V 處理器上。在虛擬機軟件環境模式下,HBI包括處理器指令集和由指令模塊構成的 HBI函數。BumbleBee 內核沒有內存管理單元,只支持實模式環境,不能支撐復雜多任務操作系統。