當(dāng)前位置:首頁(yè) > 智能硬件 > 智能硬件
[導(dǎo)讀]在設(shè)計(jì)和使用PCI設(shè)備時(shí),經(jīng)常要在PC機(jī)的軟件中訪問(wèn)和控制硬件設(shè)備,但Windows操作系統(tǒng)(包括Windows 95/98、Windows NT、Windows 2000)為了保證系統(tǒng)的安全性、穩(wěn)定性和可移植性,對(duì)應(yīng)用程序訪問(wèn)硬件資源加以限制,這就

在設(shè)計(jì)和使用PCI設(shè)備時(shí),經(jīng)常要在PC機(jī)的軟件中訪問(wèn)和控制硬件設(shè)備,但Windows操作系統(tǒng)(包括Windows 95/98、Windows NT、Windows 2000)為了保證系統(tǒng)的安全性、穩(wěn)定性和可移植性,對(duì)應(yīng)用程序訪問(wèn)硬件資源加以限制,這就要求設(shè)計(jì)設(shè)備驅(qū)動(dòng)程序以實(shí)現(xiàn)PC機(jī)的軟件對(duì)PCI設(shè)備的訪問(wèn)。
  Windows下的驅(qū)動(dòng)程序不僅僅包括物理設(shè)備的驅(qū)動(dòng)程序,也包括為文件系統(tǒng)等非物理設(shè)備編寫的虛擬設(shè)備驅(qū)動(dòng)程序。為了簡(jiǎn)化問(wèn)題,下面只討論硬件物理設(shè)備的驅(qū)動(dòng)程序。本文將以“通用高速PCI總線目標(biāo)模塊”[1]的驅(qū)動(dòng)設(shè)計(jì)為例,探討PCI設(shè)備的驅(qū)動(dòng)程序設(shè)計(jì)方案。我們開發(fā)了一套通用的PCI設(shè)備驅(qū)動(dòng)程序,它可以完成一般PCI設(shè)備驅(qū)動(dòng)所需的功能,可以作為其它PCI設(shè)備驅(qū)動(dòng)開發(fā)的框架。
1 驅(qū)動(dòng)程序的模式和開發(fā)工具的選擇
  設(shè)備驅(qū)動(dòng)程序是指管理某個(gè)外圍設(shè)備的一段代碼。驅(qū)動(dòng)程序不會(huì)獨(dú)立地存在,而是操作系統(tǒng)的一部分。通過(guò)設(shè)備驅(qū)動(dòng)程序,多個(gè)進(jìn)程可以同時(shí)使用這些資源,從而可以實(shí)現(xiàn)多進(jìn)程并行運(yùn)行。在下文中,將調(diào)用設(shè)備驅(qū)動(dòng)程序的PC機(jī)程序稱為用戶程序。
  Windows 95和Windows NT采用的驅(qū)動(dòng)程序體系不同,所以大多數(shù)情況下驅(qū)動(dòng)程序也不能通用。如果設(shè)備需要在Windows 9x/NT下使用,一般至少要設(shè)計(jì)Windows 9x和Windows NT兩個(gè)驅(qū)動(dòng)程序版本。Windows 98 可以兼容Windows 95的驅(qū)動(dòng)程序,同時(shí)它又推出一個(gè)新的Win32 Drivers Mode(WDM)驅(qū)動(dòng)類型。Windows 98中有些設(shè)備(如USB設(shè)備)的驅(qū)動(dòng)程序必須為WDM模式。這個(gè)新的類型實(shí)際是在Windows NT的驅(qū)動(dòng)模型的基礎(chǔ)上增加了即插即用等內(nèi)容。WDM驅(qū)動(dòng)也可以用在Windows 2000(先前叫Windows NT 5.0)中。從長(zhǎng)遠(yuǎn)的角度看。今后開發(fā)人員只要開發(fā)WDM驅(qū)動(dòng)就可以了,但從目前的市場(chǎng)情況來(lái)看,Windows 95是無(wú)法放棄的,所以WDM在近一兩年還無(wú)法替代其它類型的設(shè)備驅(qū)動(dòng)。
  Intel 80386以上的微處理器有4個(gè)優(yōu)先級(jí)別:0級(jí)、1級(jí)、2級(jí)和3級(jí),一般操作系統(tǒng)運(yùn)行于優(yōu)先級(jí)0級(jí)上,而用戶程序運(yùn)行在3級(jí)上,在對(duì)硬件操作上有一些限制(具體的限制在不同的操作系統(tǒng)中是不同的)。Windows 95支持的驅(qū)動(dòng)類型很多,但針對(duì)一般硬件設(shè)備而言,主要是VxD和打印機(jī)驅(qū)動(dòng)兩類。VxD指的是Virtual Device Drivers。VxD運(yùn)行在Intel系統(tǒng)的0級(jí)上,可以執(zhí)行特權(quán)級(jí)指令,對(duì)任何I/O設(shè)備有全部訪問(wèn)權(quán),所以大多數(shù)硬件驅(qū)動(dòng)程序都是VxD。VxD驅(qū)動(dòng)通常以.vxd為擴(kuò)展名,放在WindowsSystem目錄下,可以在Windows 95啟動(dòng)時(shí)裝入,也可以在程序運(yùn)行時(shí)根據(jù)需要?jiǎng)討B(tài)地載入。動(dòng)態(tài)加載有助于節(jié)約系統(tǒng)內(nèi)存和資源。但打印機(jī)驅(qū)動(dòng)程序不是VxD,它運(yùn)行在3級(jí)上。同Windows 95類似,Windows NT的驅(qū)動(dòng)也有可以運(yùn)行在0級(jí)的內(nèi)核模式(Kernel Mode)和運(yùn)行在3極的用戶模式(User Mode)之分。由于Windows NT禁止用戶模式的程序訪問(wèn)I/O端口(Windows 95/98則允許用戶程序直接訪問(wèn)I/O端口),直接控制物理設(shè)備的驅(qū)動(dòng)程序都是內(nèi)核模式的。而我們?cè)O(shè)計(jì)的PCI通用驅(qū)動(dòng)程序要求對(duì)各種硬件資源訪問(wèn),所以應(yīng)該選擇工作在0級(jí)的驅(qū)動(dòng)程序模式。
  開發(fā)設(shè)備驅(qū)動(dòng)采用的主要開發(fā)工具是微軟為設(shè)備開發(fā)者提供的軟件包Device Driver Kit(DDK)。這個(gè)軟件包包括有關(guān)設(shè)備開發(fā)的文檔、編譯需要的頭文件和庫(kù)文件、調(diào)試工具和程序范例。在DDK中還定義了一些設(shè)備驅(qū)動(dòng)可以調(diào)用的系統(tǒng)底層服務(wù),象DMA服務(wù)、中斷服務(wù)、內(nèi)存管理服務(wù)、可安裝文件系統(tǒng)服務(wù)等等。這些都是編寫設(shè)備驅(qū)動(dòng)所必須的。但Windows 95的DDK由于主要使用匯編語(yǔ)言描述。開發(fā)起來(lái)比較困難。因此,我們?cè)赪indows 95操作系統(tǒng)中同時(shí)采用了Numega公司的產(chǎn)品VtoolsD。VtoolsD是基于C/C++的,支持Borland C++和Visual C++,使用和維護(hù)都較Windows 95 DDK容易。
2 PCI驅(qū)動(dòng)程序的特點(diǎn)
  在設(shè)計(jì)驅(qū)動(dòng)程序之前,首先要對(duì)欲控制的硬件設(shè)備進(jìn)行細(xì)致地分析,更需要詳細(xì)了解硬件設(shè)備的特性。硬件設(shè)備的特性會(huì)對(duì)驅(qū)動(dòng)程序設(shè)計(jì)產(chǎn)生重大的影響。需要了解的最主要的硬件特性包括:
  (1)設(shè)備的總線結(jié)構(gòu)
  設(shè)備采用什么總線結(jié)構(gòu)非常關(guān)鍵,因?yàn)椴煌目偩€類型(如ISA和PCI)在許多硬件工作機(jī)制上是不同的,所以驅(qū)動(dòng)程序設(shè)計(jì)也不同。
  (2)寄存器
  要了解設(shè)置的控制寄存器、數(shù)據(jù)寄存器和狀態(tài)寄存器,以及這些寄存器工作的特性。
  (3)設(shè)備錯(cuò)誤和狀態(tài)
  要了解如何判斷設(shè)備的狀態(tài)和錯(cuò)誤信號(hào),這些信號(hào)要通過(guò)驅(qū)動(dòng)程序返回給用戶。
  (4)中斷行為
  要了解設(shè)備產(chǎn)生中斷的條件和使用中斷的數(shù)量。
  (5)數(shù)據(jù)傳輸機(jī)制
  最常見的數(shù)據(jù)傳輸機(jī)制是通過(guò)I/O端口(port),也就是通過(guò)CPU的IN/OUT指令進(jìn)行數(shù)據(jù)讀寫。PC的另一種重要的傳輸機(jī)制是DMA,但PCI規(guī)范不包括從屬DMA的說(shuō)明。
  (6)設(shè)備內(nèi)存
  許多設(shè)備自身帶有內(nèi)存,PCI設(shè)備大多是采用映射的方式映射到PC系統(tǒng)的物理內(nèi)存。有的設(shè)備還要通過(guò)驅(qū)動(dòng)程序設(shè)置設(shè)備的接口寄存器。
  有關(guān)驅(qū)動(dòng)程序的加載和響應(yīng)用戶請(qǐng)求的內(nèi)容,在DDK文檔中有規(guī)定,所以設(shè)計(jì)設(shè)備驅(qū)動(dòng)程序主要的面臨問(wèn)題是如何進(jìn)行硬件操作,這是根據(jù)設(shè)備的不同而不同的。而硬件驅(qū)動(dòng)程序的功能雖然千差萬(wàn)別,但基本功能就是完成設(shè)備的初始化、對(duì)端口的讀寫操作、中斷的設(shè)置、響應(yīng)和調(diào)用以及對(duì)內(nèi)存的直接讀寫。如前面所說(shuō),Windows 9x和Windows NT的操作系統(tǒng)模型不同,但驅(qū)動(dòng)程序所要完成的工作卻是相同的,所以下面以Windows 9x為主進(jìn)行介紹,僅在需要的地方指出兩個(gè)操作系統(tǒng)的不同。
  下面從這幾方面討論解決這些問(wèn)題的途徑:
  (1)設(shè)備初始化
  PCI設(shè)備驅(qū)動(dòng)程序要實(shí)現(xiàn)識(shí)別PCI器件、尋址PCI器件的資源和對(duì)PCI器件中斷的服務(wù)。PCI系統(tǒng)BIOS功能提供了BIOS的訪問(wèn)與控制的具體特征,所有軟件(設(shè)備驅(qū)動(dòng)程序、擴(kuò)展ROM碼)將通過(guò)標(biāo)準(zhǔn)中斷號(hào)1AH調(diào)用BIOS功能訪問(wèn)特殊部件。PCI BIOS規(guī)范有完整的有關(guān)PCI BIOS功能的描述[3]。
  在PCI設(shè)備驅(qū)動(dòng)程序的初始化過(guò)程中,利用指定器件識(shí)別號(hào)(device_id)、廠商識(shí)別號(hào)(vendor_id)、檢索號(hào)(index)搜索PCI器件,通過(guò)調(diào)用PCI BIOS確認(rèn)其存在,并確定其物理位置:總線號(hào)、器件號(hào)和功能號(hào),這是該器件/功能在系統(tǒng)中的唯一尋址標(biāo)志。利用總線號(hào)、器件號(hào)和功能號(hào)可以尋址該器件/功能的PCI配置空間(configuration space)。
  接下來(lái),設(shè)備驅(qū)動(dòng)就需要從配置空間獲得硬件的參數(shù)。PCI設(shè)備的許多參數(shù),包括所用的中斷號(hào),端口地址的范圍(I/O)方式、存儲(chǔ)器的地址(存儲(chǔ)器映射方式)等,都可以從PCI配置空間的各基址所對(duì)應(yīng)的尋址空間中得到。讀寫配置空間可以調(diào)用BIOS中斷1AH,
  也可以先向配置空間地址寄存器(0CF8H)寫入總線和設(shè)備號(hào)(在前面搜索PCI器件時(shí)得到的)和寄存器號(hào),再對(duì)配置空間數(shù)據(jù)寄存器(0CFCH)進(jìn)行讀寫。對(duì)設(shè)備驅(qū)動(dòng)來(lái)說(shuō),最重要的是獲得基址寄存器(BADR),不能認(rèn)為PCI器件資源總是設(shè)計(jì)設(shè)備時(shí)設(shè)置的初值,系統(tǒng)可能會(huì)根據(jù)硬件情況為PCI設(shè)備分配新的資源。我們所設(shè)計(jì)的PCI設(shè)備使用的基址1-3都是按I/O空間映射的,而基址4是按內(nèi)存方式映射的。確定一個(gè)端口是按什么方式映射的,可以讀對(duì)應(yīng)端口的配置寄存器(Configuration Register)。讀出后,判斷其0位,如果0位為數(shù)值0,表示其是按內(nèi)存方式設(shè)置的,否則為I/O方式設(shè)置的。內(nèi)存方式和I/O方式的配置寄存器的含義參見文獻(xiàn)[3]。如果要獲得基址的大小,可以向基址寄存器寫入FFFFH,然后讀基址寄存器,如果是內(nèi)存方式,從第4位開始的0的數(shù)目表示基址的大小,如果是I/O方式,則從第2位開始的0的數(shù)目表示基址的大小。
  在Windows NT下,查找PCI設(shè)備的工作是由HalGetBusData完成的,也可以使用前述的辦法讀取配置寄存器,但DDK推薦使用HaiGetBusDataOffset函數(shù)。
  (2)端口操作
  在PC機(jī)上,I/O端口尋址空間和內(nèi)存尋址空間是不同的,所以處理方法也不同。I/O空間是一個(gè)64K字節(jié)的尋址空間,它不象內(nèi)存有實(shí)模式和保護(hù)模式之分,在各種模式下尋址方式相同。在Windows 9x下,用戶程序可以直接使用I/O指令,而不一定非通過(guò)專門的驅(qū)動(dòng)程序來(lái)完成,所以如果軟件對(duì)硬件的操作完全是通過(guò)I/O端口操作來(lái)完成的,甚至可以不用專門設(shè)計(jì)驅(qū)動(dòng)程序,直接由應(yīng)用程序來(lái)完成對(duì)硬件的控制。由于PCI總線是32位的總線標(biāo)準(zhǔn),在進(jìn)行I/O操作時(shí)通常要進(jìn)行雙字(DWORD)操作,而且以前大多數(shù)C/C++編譯軟件都沒有提供雙字的函數(shù),所以需要構(gòu)造雙字操作讀寫函數(shù)inpd/outpd。
  在Windows NT下,系統(tǒng)不允許處于優(yōu)先級(jí)3級(jí)的用戶程序和用戶模式驅(qū)動(dòng)程序直接使用I/O指令,如果使用了I/O指令將會(huì)導(dǎo)致特權(quán)指令意外(privileged instruction exception)。所以任何對(duì)I/O的操作都需要借助內(nèi)核模式驅(qū)動(dòng)來(lái)完成。具體的做法有兩種:一是在驅(qū)動(dòng)程序中使用IoReportResourceUsage報(bào)告資源占用,然后使用READ_PORT_XXX、WRITE_PORT_XXX函數(shù)讀寫,最后使用IoReportResourceUsage取消資源占用;另一種是驅(qū)動(dòng)程序修改NT的I/OPermissions Map (IOPM),以使系統(tǒng)允許用戶程序?qū)χ付ǖ腎/O端口進(jìn)行操作,這時(shí)用戶程序采用通常的I/O指令進(jìn)行操作。后者的優(yōu)點(diǎn)是速度快、用戶程序設(shè)計(jì)簡(jiǎn)單,但犧牲了移植性,程序不能移植到非Intel的系統(tǒng)中,而且如果多個(gè)程序同時(shí)讀寫同一端口容易導(dǎo)致沖突。
  (3)內(nèi)存的讀寫
  Windows工作在32位保護(hù)模式下,保護(hù)模式與實(shí)模式的根本區(qū)別在于CPU尋址方式上的不同,這也是Windows驅(qū)動(dòng)程序設(shè)計(jì)中需要著重解決的問(wèn)題。Windows采用了分段、分頁(yè)機(jī)制(圖1),這樣使應(yīng)用程序產(chǎn)生一種錯(cuò)覺,好象程序中可以使用非常大的物理存儲(chǔ)空間。這樣做最大的好處就是一個(gè)程序可以很容易地在物理內(nèi)存容量不一樣的、配置范圍差別很大的計(jì)算機(jī)上運(yùn)行,編程人員使用虛擬存儲(chǔ)器可以寫出比任何實(shí)際配置的物理存儲(chǔ)器都大得多的程序。每個(gè)虛擬地址由16位的段選擇子和32位段偏移量組成。通過(guò)分段機(jī)制,系統(tǒng)由虛擬地址產(chǎn)生線性地址。再通過(guò)分頁(yè)機(jī)制,由線性地址產(chǎn)生物理地址。線性地址被分割成頁(yè)目錄(Page Directory)、頁(yè)表(Page Table)和頁(yè)偏移(Offset)三個(gè)部分。當(dāng)建立一個(gè)新的Win32進(jìn)程時(shí),操作系統(tǒng)會(huì)為它分配一塊內(nèi)存,并建立它自己的頁(yè)目錄、頁(yè)表,頁(yè)目錄的地址也同時(shí)放入進(jìn)程的現(xiàn)場(chǎng)信息中。當(dāng)計(jì)算一個(gè)地址時(shí),系統(tǒng)首先從CPU控制器CR3中讀出頁(yè)目錄所在的地址,然后根據(jù)頁(yè)目錄得到頁(yè)表所在的地址,再根據(jù)頁(yè)表得到實(shí)際代碼/數(shù)據(jù)頁(yè)的頁(yè)幀,最后再根據(jù)頁(yè)偏移訪問(wèn)特定的單元。硬件設(shè)備讀寫的是物理內(nèi)存,但應(yīng)用程序讀寫的是虛擬地址,所以存在著將物理內(nèi)存地址映射到用戶程序線性地址的問(wèn)題。

從物理地址到線性地址的轉(zhuǎn)換工作也是由驅(qū)動(dòng)程序來(lái)完成的。在Windows 95下,使用DDK的VMMCall_MapPhysToLinear進(jìn)行地址映射。驅(qū)動(dòng)程序的內(nèi)存映射部分主要是調(diào)用VxD的系統(tǒng)服務(wù)MapPhysToLinear。在VtoolsD中這個(gè)函數(shù)的定義如下:
  PVOID MapPhysToLinear(CONST VOID * PhysAddr,DWORD nBytes,DWORD Flags);
  其中第一個(gè)參數(shù)PhysAddr就是要映射的內(nèi)存的物理地址的起始位置,而nBytes是內(nèi)存區(qū)域的長(zhǎng)度,F(xiàn)lags必須設(shè)置為0。這個(gè)函數(shù)返回的就是這段物理地址映射的線性內(nèi)存地址。如果指定的內(nèi)存不能存取,函數(shù)將返回FFFFFFFFH。
  比如要映射物理內(nèi)存ED000000H開始的4096個(gè)字節(jié),可以這樣做:
  PCHAR *PointerToPage=(PCHAR)MapPhysToLinear((PVOID)OxED000000,4096,0);
  而將PointerToPage傳遞給調(diào)用驅(qū)動(dòng)的用戶程序,在用戶程序中使用
  DWORD *pFIFOBodyBase=(DWORD*)PointerToPage;
  而這個(gè)pFIFOBodyBase指針就可以象普通的指針一樣進(jìn)行讀寫操作,而通過(guò)對(duì)這個(gè)指針的操作就可以實(shí)現(xiàn)對(duì)物理內(nèi)存ED000000H進(jìn)行讀寫。
  在Windows NT下,首先調(diào)用IoReportResourceUsage請(qǐng)求使用設(shè)備的內(nèi)存。然后調(diào)用HalTranslateBusAddress轉(zhuǎn)換與總線相關(guān)的內(nèi)存為系統(tǒng)的物理內(nèi)存地址。再使用MmMapIoSpace把設(shè)備的內(nèi)存映射到虛擬空間。在設(shè)備驅(qū)動(dòng)卸出時(shí),調(diào)用MmUnmapIoSpace斷開設(shè)備的內(nèi)存和虛擬空間的連接。
  (4)中斷的設(shè)置、響應(yīng)與調(diào)用
  對(duì)中斷的設(shè)置、響應(yīng)與調(diào)用應(yīng)該在驅(qū)動(dòng)程序中完成。
  對(duì)中斷的調(diào)用(象前面調(diào)用BIOS的1AH中斷讀取配置寄存空間)可以由DDK的Exec_Int完成。
  PCI設(shè)備驅(qū)動(dòng)程序應(yīng)當(dāng)從PCI配置寄存器的中斷寄存器(INTLN)和中斷引腳寄存器(INTPIN)中獲得有關(guān)中斷的信息。DDK還提供了響應(yīng)中斷事件的服務(wù)。如在Windows 95中,VPICD服務(wù)用來(lái)管理所有硬件中斷事件。PC機(jī)的硬件中斷需要確定硬件中斷的IRQ,對(duì)一個(gè)特定的IRQ中斷源,VPICD或者提供缺省的中斷處理函數(shù),或者允許其它VxD重載中斷處理函數(shù)。在VtoolsD中,要處理硬件中斷應(yīng)該從VHardwareInt繼承一個(gè)類。在這個(gè)類中,VtoolsD提供了編寫中斷響應(yīng)程序所需的功能。
  在Windows NT中,同VPICD對(duì)應(yīng)的中斷服務(wù)為中斷請(qǐng)求層(IRQL)。設(shè)備驅(qū)動(dòng)首先使用HalGetInterrupuVector將與總線有關(guān)的中斷向量轉(zhuǎn)換為系統(tǒng)的中斷向量,然后利用IoConnectInterrupu指定中斷服務(wù)。
3 設(shè)備驅(qū)動(dòng)的調(diào)用
  編寫設(shè)備驅(qū)動(dòng)并不是最終的目的,總是需要由用戶程序來(lái)調(diào)用驅(qū)動(dòng)并實(shí)現(xiàn)一定的功能。一般調(diào)用設(shè)備驅(qū)動(dòng)是使用CreateFile函數(shù)打開設(shè)備文件,得到一個(gè)文件句柄。具體到我們的設(shè)備驅(qū)動(dòng)程序中,使用如下的語(yǔ)句就可以打開文件。
  hVxD=CreateFile(″\\.\PCIBIOS.VXD″,0,0,0,
  CREATE_NEW,F(xiàn)ILE_FLAG_DELETE_ON_CLOSE,0);
  打開設(shè)備文件后,調(diào)用DeviceIoControl函數(shù)就可以同設(shè)備驅(qū)動(dòng)程序交換數(shù)據(jù)了。
  完成硬件操作之后,可以調(diào)用CloseHandle(h VxD);關(guān)閉設(shè)備驅(qū)動(dòng)。
  這種調(diào)用方式也是Windows NT調(diào)用設(shè)備驅(qū)動(dòng)的標(biāo)準(zhǔn)方法。對(duì)于VxD來(lái)說(shuō)還有其它的調(diào)用方式,如DPMI方式,但采用DeviceIoControl的方法可以保證程序在Windows NT和Windows 9x下的兼容性,在兩個(gè)操作系統(tǒng)下,僅有CreateFile語(yǔ)句是不同的。
4 設(shè)備驅(qū)動(dòng)的進(jìn)一步封裝
  至此,完成了對(duì)驅(qū)動(dòng)程序的初步設(shè)計(jì)。但考慮到在上面調(diào)用設(shè)備驅(qū)動(dòng)時(shí)使用的DeviceIoControl函數(shù)仍是比較復(fù)雜的,程序也不太容易具有通用性。而且,在有些開發(fā)工具中,如Visual Basic,不包括直接讀寫I/O端口的語(yǔ)句,所以可以考慮根據(jù)不同軟件的需要對(duì)驅(qū)動(dòng)程序進(jìn)行不同的封裝。目前,我們實(shí)現(xiàn)了以DLL、ActiveX、VCL和C++類庫(kù)進(jìn)行封裝。DLL可以在大多數(shù)軟件環(huán)境中進(jìn)行調(diào)用。ActiveX可以在Visual Basic等可視編程環(huán)境中使用。VCL可以在Delphi和C++ Builder中使用。考慮到許多用戶使用Visual C++,所以也提供了C++類庫(kù)方式。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉