當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]針對(duì)目前嵌入式軟件開(kāi)發(fā)工具的不足,提出利用面向?qū)ο蟮募夹g(shù)設(shè)計(jì)嵌入式軟件IDE,使設(shè)計(jì)人員利用可重用的組件模塊,搭建符合硬件要求的操作系統(tǒng)和軟件系統(tǒng),同時(shí)自動(dòng)初始化編程嵌入式微處理器內(nèi)部各種資源的使用,大大提高開(kāi)發(fā)效率和軟件質(zhì)量。

0引言


嵌入系統(tǒng)開(kāi)發(fā)已經(jīng)趨于規(guī)范化,但是嵌入式系統(tǒng)的開(kāi)發(fā)并不像在普通PC機(jī)上進(jìn)行軟件開(kāi)發(fā)那樣容易,它同樣需要一個(gè)高度集成的開(kāi)發(fā)平臺(tái),來(lái)降低開(kāi)發(fā)的難度。目前市場(chǎng)上的嵌入式系統(tǒng)集成開(kāi)發(fā)平臺(tái)特點(diǎn)是: ( 1)多數(shù)嵌入式系統(tǒng)集成開(kāi)發(fā)平臺(tái)都是以Windows為系統(tǒng)環(huán)境,很少有以Linux為系統(tǒng)環(huán)境的;( 2)部分集成開(kāi)發(fā)平臺(tái)具有一定的開(kāi)放性,許多功能作為插件供用戶選擇; ( 3)多數(shù)集成開(kāi)發(fā)平臺(tái)通用性較差,僅支持一個(gè)或者幾個(gè)系列的微處理器; ( 4)目前嵌入式系統(tǒng)集成開(kāi)發(fā)平臺(tái)產(chǎn)品大都價(jià)格昂貴; ( 5)很少有集成開(kāi)發(fā)平臺(tái)集成有圖形模塊支持的功能。

為了解決其它嵌入式集成開(kāi)發(fā)平臺(tái)的缺點(diǎn),本文研究了嵌入式系統(tǒng)可視化集成開(kāi)發(fā)平臺(tái),ESGIDE ( Embedded system graphical integrated development environment),其最大特點(diǎn)是具有圖形化人機(jī)交互功能和ARM CPU工作方式自動(dòng)初始化。所謂圖形化人機(jī)交互,是指把將要裁剪和配置的系統(tǒng)級(jí)軟件(比如bootloader、kernel、通用I /O輸入、輸出等)化整為零,封裝成不同功能的形象化圖形模塊,開(kāi)發(fā)者根據(jù)自己開(kāi)發(fā)的系統(tǒng)需要,選擇不同圖形模塊,動(dòng)態(tài)生成bootloader、kernel、I /O等系統(tǒng)級(jí)的源代碼,不需要開(kāi)發(fā)者自己輸入,這大大簡(jiǎn)化了開(kāi)發(fā)步驟,減輕了程序員的負(fù)擔(dān),減少了操作的復(fù)雜度,提高了開(kāi)發(fā)效率。另一方面,ARM系列CPU應(yīng)用比較廣泛,不同型號(hào)的CPU在開(kāi)發(fā)時(shí)需要對(duì)使用的內(nèi)部資源進(jìn)行初始化。傳統(tǒng)的做法是開(kāi)發(fā)者確定工作方式,確定工作方式字,然后手動(dòng)編程。我們采用開(kāi)發(fā)模式是:以定時(shí)器應(yīng)用為例,將定時(shí)器的個(gè)數(shù),工作方式確定,時(shí)鐘頻率的確定,是否允許中斷等編寫成對(duì)話框模式,開(kāi)發(fā)者只要選中其中的方式,初始化控制字自動(dòng)生成,編寫代碼自動(dòng)生成,同樣大大簡(jiǎn)化了開(kāi)發(fā)步驟,減輕了程序員的負(fù)擔(dān)。

面向?qū)ο蠹夹g(shù)是當(dāng)前實(shí)現(xiàn)軟件模塊化、提高軟件復(fù)用性最優(yōu)的方法,現(xiàn)在成為計(jì)算機(jī)領(lǐng)域中的一種主流技術(shù),本文提出利用面向?qū)ο蟮募夹g(shù)來(lái)設(shè)計(jì)一種嵌入式軟件IDE,對(duì)嵌入式軟件開(kāi)發(fā)中的各個(gè)對(duì)象的類進(jìn)行分析與設(shè)計(jì),架構(gòu)一個(gè)通用的開(kāi)發(fā)模型,根據(jù)硬件配置自動(dòng)產(chǎn)生基本的系統(tǒng)軟件方案。只需要系統(tǒng)中的每個(gè)對(duì)象類的屬性及其操作設(shè)置,自動(dòng)搭建交叉編譯環(huán)境,降低操作系統(tǒng)裁減和移植的難度,產(chǎn)生驅(qū)動(dòng)程序的基本框架。開(kāi)發(fā)人員只需要配置好各個(gè)模塊的基本信息,將更多精力集中在系統(tǒng)的應(yīng)用上。

1嵌入式軟件的開(kāi)發(fā)流程

與常見(jiàn)的PC和服務(wù)器軟件不同,嵌入式軟件主要是對(duì)設(shè)備內(nèi)部各部分的運(yùn)行進(jìn)行協(xié)調(diào),并不與設(shè)備使用者發(fā)生直接接觸。PC和服務(wù)器軟件的運(yùn)行環(huán)境是標(biāo)準(zhǔn)化的,而嵌入式軟件的運(yùn)行環(huán)境隨電子設(shè)備的不同而改變,必須針對(duì)不同的電子產(chǎn)品進(jìn)行專門的設(shè)計(jì)、開(kāi)發(fā)和優(yōu)化。由于嵌入式Linux操作系統(tǒng)在嵌入式開(kāi)發(fā)中占據(jù)了主流,因此本文圍繞針對(duì)移植有Linux操作系統(tǒng)的嵌入式開(kāi)發(fā)流程進(jìn)行討論。

典型的基于嵌入式Linux操作系統(tǒng)的嵌入式軟件開(kāi)發(fā)流程如下[1]:( 1)獲取硬件系統(tǒng)的信息:如選取的微處理器體系,F(xiàn)lash型號(hào)、網(wǎng)卡型號(hào)及其他外設(shè)的信息等;( 2)建立交叉編譯工具:一般的GCC工具都是針對(duì)X86體系的,為了能夠生產(chǎn)目標(biāo)板執(zhí)行的代碼必須建立交叉編譯工具;( 3)開(kāi)發(fā)Bootloader:建立啟動(dòng)系統(tǒng)的主引導(dǎo)程序;( 4)移植Linux內(nèi)核:如基于Linux2.6內(nèi)核移植;( 5)開(kāi)發(fā)一個(gè)根文件系統(tǒng):如rootfs的制作;( 6)開(kāi)發(fā)特定硬件的驅(qū)動(dòng)程序:如LCD,Keypad等;( 7)開(kāi)發(fā)上層的應(yīng)用程序:如QT GUI開(kāi)發(fā)。

對(duì)于開(kāi)發(fā)過(guò)程的各個(gè)環(huán)節(jié),有的提供了輔助的開(kāi)發(fā)工具,有的需要完全依賴經(jīng)驗(yàn)手工從底層開(kāi)發(fā),嵌入式軟件開(kāi)發(fā)依然停留在手工作坊式的方式,很難做到工程化管理。本文所設(shè)計(jì)的IDE將涵蓋整個(gè)開(kāi)發(fā)的各個(gè)重要環(huán)節(jié),力求最大程度上降低開(kāi)發(fā)難度,在集成化開(kāi)發(fā)環(huán)境里完成主要工作。

2 IDE面向?qū)ο蟮姆治雠c設(shè)計(jì)

對(duì)于運(yùn)行嵌入式Linux操作系統(tǒng)的系統(tǒng),根據(jù)其開(kāi)發(fā)流程,利用面向?qū)ο蠹夹g(shù)分析設(shè)計(jì)出6個(gè)基本的大類,并給出對(duì)象之間的協(xié)作關(guān)系圖,如圖1、圖2所示。這幾個(gè)大類貫穿了嵌入式軟件開(kāi)發(fā)的重要環(huán)節(jié)。

圖1嵌入式軟件IDE基本類

圖2基本對(duì)象類的協(xié)作圖

硬件系統(tǒng)信息類,承載了硬件系統(tǒng)的描述信息,比如選取何種體系的微處理器,處理器的工作頻率設(shè)置,采用何種啟動(dòng)方式,是NandFlash,還是NorFlash或者EPROM等,用戶通過(guò)設(shè)定這些參數(shù),其他對(duì)象將獲取其中的信息進(jìn)行配置。

嵌入式開(kāi)發(fā)需要交叉編譯,Linux環(huán)境下一般就是采用開(kāi)源Gcc系列進(jìn)行配置,環(huán)境搭建類管理交叉編譯鏈的源代碼,根據(jù)體系架構(gòu)的信息自動(dòng)生成運(yùn)行腳本,在制定目錄下生成完整的交叉編譯鏈,這是嵌入式開(kāi)發(fā)的基礎(chǔ)。

工程管理類,集成開(kāi)發(fā)環(huán)境的主要目的就是同一組織文檔,省卻人工管理,自動(dòng)編譯運(yùn)行源碼,其中包含了文件操作,組織好源代碼之間的關(guān)系,利用make技術(shù)進(jìn)行編譯,牽扯到大量全局環(huán)境參數(shù)的設(shè)定。

引入控制字庫(kù)類是方便部分程序的編寫,比如Bootloader類需要對(duì)處理器初始化,基本的驅(qū)動(dòng)控制器進(jìn)行操作,其中包含了匯編指令級(jí)別和C語(yǔ)言的操作,開(kāi)發(fā)人員往往需要對(duì)參考手冊(cè)熟練掌握,大大降低了開(kāi)發(fā)效率??刂谱謳?kù)盡量包含了常見(jiàn)的處理器系列的寄存器控制字庫(kù),只需選擇某個(gè)具體功能,便可產(chǎn)生需要的指令源碼。同樣驅(qū)動(dòng)程序開(kāi)發(fā)中,也是頻繁利用了C語(yǔ)言對(duì)寄存器進(jìn)行操作。

系統(tǒng)移植類涵蓋了整個(gè)系統(tǒng)需要移植的模塊,引導(dǎo)程序,操作系統(tǒng)內(nèi)核和文件系統(tǒng),各類封裝了大量繁雜的細(xì)節(jié)內(nèi)容,盡量以最簡(jiǎn)化形式幫助開(kāi)發(fā)人員完成操作,重要的環(huán)節(jié)只需設(shè)定參數(shù),其他交由對(duì)象自動(dòng)執(zhí)行。

面向?qū)ο笞钪匾奶卣骶褪?ldquo;高內(nèi)聚度和低耦合性”,各個(gè)對(duì)象封裝了細(xì)節(jié)操作,只需要有限的外部接口交換信息,這種柔性思想最大程度上提高了軟件的復(fù)用性。本文所設(shè)計(jì)的IDE,根據(jù)體系結(jié)構(gòu)的不同,所需修改的只是個(gè)別對(duì)象的內(nèi)部數(shù)據(jù)和操作,整體架構(gòu)不受任何影響[2,3]。

圖3給出了面向?qū)ο笄度胧郊砷_(kāi)發(fā)平臺(tái)的結(jié)構(gòu)。

圖3面向?qū)ο蟮那度胧郊砷_(kāi)發(fā)平臺(tái)結(jié)構(gòu)框圖

3系統(tǒng)的具體實(shí)現(xiàn)

目前可視化的面向編程語(yǔ)言種類比較多,從對(duì)面向?qū)ο蠹夹g(shù)的支持程度上來(lái)說(shuō),微軟最新的VC#從封裝性、類型安全性方面相當(dāng)強(qiáng)大。重要的是,類層次清晰,編碼容易,可以根據(jù)面向?qū)ο笤O(shè)計(jì)的框架輕松的進(jìn)行轉(zhuǎn)換,卻和C ++一樣強(qiáng)大。所以本文利用VC#設(shè)計(jì)了嵌入式軟件IDE,對(duì)各個(gè)類編寫詳細(xì)代碼。

整個(gè)系統(tǒng)基本架構(gòu)如圖4所示。

圖4 IDE的系統(tǒng)架構(gòu)圖

集成開(kāi)發(fā)環(huán)境運(yùn)行于Windows平臺(tái)下,但需要Linux的強(qiáng)大命令集,在此,本文提出了Cygwin技術(shù)來(lái)模擬Linux運(yùn)行環(huán)境,從而使得IDE的底層得到強(qiáng)大的各種命令支持,可以運(yùn)行各種腳本文件。此技術(shù)屬于開(kāi)源項(xiàng)目,安裝后需個(gè)別地方的細(xì)節(jié)修改。

交叉編譯工具鏈模塊是IDE設(shè)計(jì)的核心,開(kāi)發(fā)一個(gè)實(shí)用的編譯器,需要花費(fèi)大量的人力物力和財(cái)力,其可靠性也要經(jīng)受時(shí)間的考驗(yàn)。幸運(yùn)的是,GNU提供了免費(fèi)的、功能強(qiáng)大的GCC工具鏈,它不僅可以編譯Linux操作系統(tǒng)下的應(yīng)用程序以及Linux內(nèi)核,而且還是一款交叉編譯器,支持ARM、PowerPC、x86、Intel960、M68等幾乎所有知名的CPU廠家,而且國(guó)外大多數(shù)集成開(kāi)發(fā)工具都從GCC移植而來(lái)。

本文的交叉編譯工具鏈模塊并不是單獨(dú)的針對(duì)某個(gè)體系結(jié)構(gòu),可以重定向,根據(jù)參數(shù)配置,生成某個(gè)系列的編譯工具,如圖5所示。

圖5交叉工具鏈模塊

軟件設(shè)計(jì)的一個(gè)重要環(huán)節(jié)就是,要組織好源代碼之間的關(guān)系,編譯連接,這就要用到工程化的手段去管理源碼。這是IDE設(shè)計(jì)中的橋梁。

本文利用的Makefile技術(shù)對(duì)整個(gè)工程進(jìn)行管理,主要就是針對(duì)驅(qū)動(dòng)程序和應(yīng)用程序的組織和編譯。Makefile是Linux工程管理的一項(xiàng)成熟的技術(shù),有一套完整的規(guī)則,只需要按照規(guī)則去編寫Makefile文件,然后由make命令去解釋執(zhí)行。Cygwin中集成了Gnumake,因此只要編寫好Makefile文件,只需一個(gè)make命令,就可以完成所有的編譯連接工作,如圖6所示。

圖6工程管理模塊

大多數(shù)的IDE都有這個(gè)命令,比如: Delphi的make,Visual C + +的nmake,Linux下GNU的make.可見(jiàn),makefile都成為了一種在工程方面的編譯方法。

一個(gè)關(guān)鍵技術(shù)就是顯示信息重定向到IDE指定的輸出窗口,各種腳本運(yùn)行信息都是標(biāo)準(zhǔn)控制臺(tái)輸出,因此需要將編譯中的標(biāo)準(zhǔn)信息和錯(cuò)誤信息進(jìn)行重定向。通常是靠管道技術(shù)來(lái)解決這個(gè)問(wèn)題,但嵌入式開(kāi)發(fā)中許多編譯過(guò)程長(zhǎng)達(dá)數(shù)小時(shí),信息往往需要進(jìn)程結(jié)束才能完全顯示。本文IDE則采用了管道技術(shù)加異步式讀取技術(shù),使得重定向和信息顯示同時(shí)進(jìn)行,及時(shí)反饋編譯過(guò)程中的各種信息。

Bootloader是嵌入式系統(tǒng)的引導(dǎo)加載程序,它的作用是初始化必要的硬件設(shè)備,創(chuàng)建內(nèi)核需要的一些信息并將信息通過(guò)相關(guān)機(jī)制傳遞給內(nèi)核,從而將系統(tǒng)的軟硬件環(huán)境帶到一個(gè)合適的狀態(tài),最終調(diào)用操作系統(tǒng)內(nèi)核,真正起到引導(dǎo)和加載內(nèi)核的作用[5]。

Bootloader依賴于硬件實(shí)現(xiàn),除了體系結(jié)構(gòu),還依賴于具體的嵌入式板級(jí)設(shè)備的配置,因此Bootloader是嵌入式開(kāi)發(fā)移植最困難的部分,一般來(lái)說(shuō)都是將已有的代碼進(jìn)行大量的修改,本文采用的是U-Boot 1.2.0,目前來(lái)說(shuō)是比較通用的Bootloader.如圖7所示,針對(duì)這部分移植,為了最大程度上幫助用戶完成代碼的修改,IDE提供不同類型的體系架構(gòu)需要修改的源碼的提示信息,以及某種配置下需要修改的提示信息,需要建立一個(gè)幫助文件數(shù)據(jù)庫(kù)。通過(guò)控制字庫(kù)模塊添加需要的源碼。其實(shí)一般來(lái)說(shuō),修改都是大同小異,最主要的是修改兩個(gè)方面,何種方式啟動(dòng),是Nadflash還是Norflash,如果是Nandflash啟動(dòng),需要定義芯片配置函數(shù),增加Nandflash拷貝數(shù)據(jù)到內(nèi)存的代碼。

還有就是為了利用tft協(xié)議燒錄內(nèi)核到flash,需要針對(duì)某種網(wǎng)卡芯片進(jìn)行修改。

圖7 Bootloaer移植模塊

簡(jiǎn)單來(lái)說(shuō),內(nèi)核配置無(wú)非就是生成一個(gè)配置文件,由Makefile來(lái)讀取,不同的架構(gòu),就會(huì)選擇不同架構(gòu)目錄下的源碼。但是內(nèi)核配置比較繁雜,一般人員很難理清源碼之間的關(guān)系,配置不好,不僅無(wú)法編譯,即使勉強(qiáng)編譯成功,也未必能夠正常運(yùn)行。

而且,內(nèi)核不單單是配置問(wèn)題,還有部分源碼根據(jù)需要必須修改,比如如果是Nandflash作為存儲(chǔ)器,需要建立Nandflash分區(qū)表。

對(duì)于內(nèi)核配置,本文IDE提供利用模板來(lái)進(jìn)行二次配置,建立模板數(shù)據(jù)庫(kù),根據(jù)用戶的參數(shù)設(shè)定,提供符合條件的模板,如果模板基本符合要求,就可以利用模板進(jìn)行編譯,如果需要細(xì)節(jié)的修改,則調(diào)用內(nèi)核配置工具來(lái)進(jìn)行配置,內(nèi)核配置工具利用make xconfig形式,產(chǎn)生圖形化界面,當(dāng)然需要X系統(tǒng)的支持,需要在Cygwin中安裝、修改。

對(duì)于內(nèi)核源碼修改,則需要幫助文件數(shù)據(jù)庫(kù),根據(jù)用戶參數(shù)設(shè)置,產(chǎn)生需要的源碼,添加到內(nèi)核中去。如圖8所示。

圖8內(nèi)核移植模塊

根文件系統(tǒng)是Linux /Unix系統(tǒng)啟動(dòng)的一個(gè)重要組成部分,也是操作系統(tǒng)正常工作時(shí)候的必要組成部分,在啟動(dòng)時(shí)候內(nèi)核需要跟文件系統(tǒng)來(lái)掛載。在現(xiàn)代Linux操作系統(tǒng)中,內(nèi)核代碼影像文件保存在根文件中,系統(tǒng)引導(dǎo)啟動(dòng)程序會(huì)從這個(gè)根文件設(shè)備商把內(nèi)核代碼加載到內(nèi)存中取運(yùn)行。如圖9所示。

圖9根文件制作模塊

嵌入式根文件系統(tǒng)有RomFS,JFFS2,NFS,EXT2,RAMDISK,Cramfs等,每個(gè)系統(tǒng)都有自己的特點(diǎn),最常用的就是Cramfs文件系統(tǒng),Cygwin工具集中提供了Cramfs工具,mkcramfs.嵌入式根文件的最底層目錄中,都有其具體的用途和目的,因此必須建立最基本的根目錄。而且一些根目錄下必須有固定的文件,如/bin,/ sbin,/ usr /bin,/ usr /sbin需要放置Linux命令工具,/ etc目錄下需要系統(tǒng)配置文件,包括啟動(dòng)文件。因此,本模塊要完成這么幾個(gè)功能,提供必須的根目錄,根目錄下的文件,將根目錄制作成某種跟文件系統(tǒng),本文暫時(shí)提供Cramfs文件系統(tǒng)。嵌入式Linux命令工具集由BusyBox工具提供,它包含了很多標(biāo)準(zhǔn)Linux工具的單個(gè)可執(zhí)行實(shí)現(xiàn),本文的IDE提供了一個(gè)BusyBox的標(biāo)準(zhǔn)配置,只需要利用交叉工具鏈進(jìn)行編譯。

4嵌入式微處理器內(nèi)部資源驅(qū)動(dòng)

嵌入式微處理器有大量的內(nèi)部I /O接口資源,如定時(shí)計(jì)數(shù)器、中斷、DMA、開(kāi)關(guān)量輸入輸出等,要選擇其中的接口應(yīng)用,首先要進(jìn)行初始化,編寫驅(qū)動(dòng)程序。

驅(qū)動(dòng)程序編寫模塊和應(yīng)用程序編寫模塊只要提供一個(gè)文本編輯器,利用工程管理部分去組織源碼進(jìn)行編譯就可以。對(duì)于驅(qū)動(dòng)程序的編寫,Linux驅(qū)動(dòng)程序都有一套固定的模式,比如字符型、塊型、網(wǎng)絡(luò)型數(shù)據(jù)結(jié)構(gòu)都有區(qū)別,但每種類型的驅(qū)動(dòng)程序架構(gòu)都一樣。另外驅(qū)動(dòng)程序編寫中最重要的就是根據(jù)每個(gè)接口資源確定的工作方式確定控制字,即使開(kāi)發(fā)人員對(duì)某個(gè)體系下的各類CPU內(nèi)部資源的控制字十分熟悉,也要經(jīng)常參考手冊(cè)才能準(zhǔn)確無(wú)誤。

本文提出了驅(qū)動(dòng)程序編寫模式,一個(gè)是選擇類型,自動(dòng)生成某種類型的模板,在此模板上進(jìn)行添加修改;第二就是利用控制字模塊,在開(kāi)發(fā)驅(qū)動(dòng)程序過(guò)程中,開(kāi)發(fā)人員可以選擇某個(gè)體系結(jié)構(gòu)下的針對(duì)某種具體寄存器的操作,然后會(huì)自動(dòng)產(chǎn)生必要的代碼,如圖10、圖11所示,只需要將代碼嵌入到驅(qū)動(dòng)程序源碼中。

圖10是定時(shí)器的選擇界面,開(kāi)發(fā)者只要根據(jù)需求選擇相應(yīng)的定時(shí)器,確定其功能,初始值,然后選擇確認(rèn)按鈕,初始化代碼自動(dòng)生成,如圖11包含初始化控制字,非??旖荨⒈憷?。另外,如果驅(qū)動(dòng)程序要添加到內(nèi)核去,重新重新配置內(nèi)核即可。

圖10定時(shí)器及其功能選擇界面

圖11自動(dòng)產(chǎn)生初始化代碼界面

5結(jié)語(yǔ)

本開(kāi)發(fā)平臺(tái)具有友好的用戶界面、文本編輯器、工程管理工具、交叉編譯器、燒錄和下載工具、圖形化模塊支持。本集成開(kāi)發(fā)平臺(tái)可以供學(xué)生、老師或者工程技術(shù)人員學(xué)習(xí)嵌入式linux的裁剪和移植,ARM系列CPU的開(kāi)發(fā)和應(yīng)用。

利用本文研究的嵌入式軟件IDE,針對(duì)ARM系列的2410平臺(tái)進(jìn)行了U-Boot、Linux2.6內(nèi)核、根文件系統(tǒng)的配置和移植,編寫出基本的網(wǎng)卡驅(qū)動(dòng)程序,測(cè)試取得成功。

本站聲明: 本文章由作者或相關(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工具的開(kāi)發(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ì)開(kāi)幕式在貴陽(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)閉