Zephyr開(kāi)源項(xiàng)目由Linux基金會(huì)維護(hù),是一個(gè)針對(duì)資源受限的嵌入式設(shè)備優(yōu)化的小型、可縮放、多體系結(jié)構(gòu)實(shí)時(shí)操作系統(tǒng)(RTOS)。近年來(lái),Zephyr RTOS在嵌入式開(kāi)發(fā)中的采用度逐步增加,支持的開(kāi)發(fā)板和傳感器不斷增加,其廣泛的設(shè)備支持和高度的可擴(kuò)展性吸引了開(kāi)發(fā)者的關(guān)注。相比FreeRTOS等小型RTOS而言,教育生態(tài)不夠成熟的Zephyr系統(tǒng)規(guī)模更大,結(jié)構(gòu)更復(fù)雜,這提高了開(kāi)發(fā)者入門(mén)和精通的門(mén)檻。文章對(duì)Zephyr硬件抽象層和設(shè)備驅(qū)動(dòng)的架構(gòu)與實(shí)現(xiàn)進(jìn)行系統(tǒng)性分析,重點(diǎn)闡述了設(shè)備驅(qū)動(dòng)模型和設(shè)備樹(shù)的作用。為了展示基于Zephyr的嵌入式軟件開(kāi)發(fā),文章在BBC micro:bit V2開(kāi)源硬件上構(gòu)建樣例Zephyr設(shè)備驅(qū)動(dòng)和應(yīng)用程序,并做解釋和驗(yàn)證。
在嵌入式系統(tǒng)和高可靠性軟件開(kāi)發(fā)中,靜態(tài)代碼分析已成為預(yù)防缺陷的關(guān)鍵手段。PC-Lint(現(xiàn)更名為Gimpel Lint)作為行業(yè)領(lǐng)先的C/C++靜態(tài)分析工具,能夠檢測(cè)出編譯器難以發(fā)現(xiàn)的隱式錯(cuò)誤和編碼規(guī)范違規(guī)。本文通過(guò)實(shí)戰(zhàn)配置案例,揭示如何通過(guò)精細(xì)化配置PC-Lint實(shí)現(xiàn)代碼質(zhì)量閉環(huán)管控,在某航天控制器項(xiàng)目中成功將缺陷密度降低72%。
在軟件開(kāi)發(fā)和系統(tǒng)運(yùn)維中,內(nèi)存泄漏是一個(gè)常見(jiàn)且棘手的問(wèn)題。它會(huì)導(dǎo)致系統(tǒng)內(nèi)存逐漸耗盡,進(jìn)而影響應(yīng)用程序的性能和穩(wěn)定性,甚至引發(fā)系統(tǒng)崩潰。無(wú)論是用戶態(tài)程序還是內(nèi)核態(tài)模塊,內(nèi)存泄漏都可能悄然發(fā)生。本文將介紹如何結(jié)合 kmemleak 和 coredump 分析這兩種不同場(chǎng)景下的內(nèi)存泄漏點(diǎn),實(shí)現(xiàn)內(nèi)存泄漏的自動(dòng)化狩獵。
在 AI 重構(gòu)軟件開(kāi)發(fā)的浪潮中,編程助手領(lǐng)域掀起了一場(chǎng)激烈的資本與技術(shù)競(jìng)賽。
智能時(shí)代的嵌入式系統(tǒng)離不開(kāi)高性能、高效的軟件和先進(jìn)的軟件開(kāi)發(fā)方式。本文介紹了近期嵌入式軟件開(kāi)發(fā)的三個(gè)趨勢(shì):1)邊緣計(jì)算作為一種在本地處理和分析數(shù)據(jù)的方式正在快速發(fā)展,邊緣計(jì)算與人工智能的結(jié)合正將智能計(jì)算從以云為中心的模型中轉(zhuǎn)移出來(lái);2) 虛擬化技術(shù)是今天高算力多核處理器計(jì)算系統(tǒng)采用的全新解決方案,容器技術(shù)則可通過(guò)簡(jiǎn)化嵌入式軟件開(kāi)發(fā)、部署和維護(hù)來(lái)助力復(fù)雜嵌入式系統(tǒng)的管理;3) DevOps的概念和實(shí)踐正在逐步滲透進(jìn)入嵌入式軟件開(kāi)發(fā)中,助力加快軟件交付速度,提高應(yīng)用程序質(zhì)量和穩(wěn)定性。
上海2025年1月13日 /美通社/ -- 1月3日,全球第三方檢測(cè)認(rèn)證機(jī)構(gòu)TÜV南德意志集團(tuán)(以下簡(jiǎn)稱(chēng)"TÜV南德")為上海電驅(qū)動(dòng)股份有限公司(以下簡(jiǎn)稱(chēng)"上海電驅(qū)動(dòng)")頒發(fā)...
在軟件開(kāi)發(fā)過(guò)程中,調(diào)試是至關(guān)重要的一環(huán)。傳統(tǒng)的調(diào)試方法往往需要在代碼中插入打印語(yǔ)句(如printf),然后重新編譯、部署和運(yùn)行程序以查看輸出信息。然而,這種方法不僅繁瑣,而且在大型項(xiàng)目中,編譯和部署過(guò)程可能非常耗時(shí)。為了解決這個(gè)問(wèn)題,GDB(GNU Debugger)提供了動(dòng)態(tài)打印功能,允許開(kāi)發(fā)者在不重新編譯代碼的情況下,隨時(shí)在程序的任何地方添加格式化打印信息。本文將深入探討GDB動(dòng)態(tài)打印的原理、使用方法及其在實(shí)際開(kāi)發(fā)中的應(yīng)用。
北京2024年12月10日 /美通社/ -- 12月5-6日,由CSDN聯(lián)合高端IT咨詢與教育平臺(tái)Boolan聯(lián)合主辦的「2024全球C++及系統(tǒng)軟件技術(shù)大會(huì)」在上海虹橋萬(wàn)豪大酒店隆重召開(kāi)。在AI驅(qū)動(dòng)軟件開(kāi)發(fā)邁向智能化的關(guān)鍵時(shí)代,這場(chǎng)大會(huì)成為行業(yè)洞察C++和系統(tǒng)軟件技術(shù)未來(lái)趨勢(shì)的...
作為軟件開(kāi)發(fā)中強(qiáng)大的生成式AI助手,Amazon Q Developer現(xiàn)在能夠加速單元測(cè)試、文檔生成、代碼審查,以及運(yùn)營(yíng)排錯(cuò),讓開(kāi)發(fā)者專(zhuān)注于更具創(chuàng)造力和有價(jià)值的工作上 北京2024年12月9日 /美通社/ -- 亞馬遜云科技在2024 re:Invent全球大會(huì)上,...
在MCU(微控制器單元)軟件開(kāi)發(fā)中,指針作為一種強(qiáng)大的工具,能夠顯著提高程序的靈活性和性能。然而,指針的使用也伴隨著一系列潛在的風(fēng)險(xiǎn)和陷阱,特別是在資源受限的嵌入式系統(tǒng)中。本文將深入探討MCU軟件開(kāi)發(fā)中使用指針時(shí)可能遇到的陷阱,并提出相應(yīng)的應(yīng)對(duì)策略。
南京2024年10月29日 /美通社/ -- 數(shù)睿數(shù)據(jù)在企業(yè)數(shù)字化轉(zhuǎn)型中,基于每個(gè)企業(yè)的情況進(jìn)行調(diào)研、分析。每個(gè)企業(yè)數(shù)字化建設(shè)程度均不一致,部分企業(yè)建設(shè)了不少應(yīng)用系統(tǒng),也有部分企業(yè)尚未開(kāi)展信息化建設(shè)。 針對(duì)各企業(yè)的特點(diǎn),數(shù)睿數(shù)據(jù)整理、提煉、分析并思考后,打造了數(shù)智通一體化解決方...
在軟件開(kāi)發(fā)中,沒(méi)有什么比獲得一個(gè)幾乎沒(méi)有文檔并且需要維護(hù)它的代碼庫(kù)更具挑戰(zhàn)性的了。文檔不僅告訴工程師特定函數(shù)或變量的作用,而且還演示和傳達(dá)了軟件以特定方式實(shí)現(xiàn)的原因。在構(gòu)建軟件時(shí)會(huì)做出數(shù)百萬(wàn)個(gè)決策,對(duì)于嵌入式開(kāi)發(fā)人員來(lái)說(shuō),盡可能多地保留該決策制定過(guò)程可能是至關(guān)重要的。
上海2024年10月18日 /美通社/ -- 國(guó)際第三方檢測(cè)認(rèn)證機(jī)構(gòu)TÜV南德意志集團(tuán)(以下簡(jiǎn)稱(chēng)"TÜV南德")近日授予兆松科技(武漢)有限公司(以下簡(jiǎn)稱(chēng)"兆松科技")高性能...
在計(jì)算機(jī)系統(tǒng)發(fā)展的早期時(shí)代(20世紀(jì)60年代中期以前),通用硬件相當(dāng)普遍﹐軟件卻是為每個(gè)具體應(yīng)用而專(zhuān)門(mén)編寫(xiě)的。這時(shí)的軟件通常是規(guī)模較小的程序,編寫(xiě)者和使用者往往是同一個(gè)(或同一組)人。這種個(gè)體化的軟件環(huán)境,使得軟件設(shè)計(jì)通常是在人們頭腦中進(jìn)行的一個(gè)隱含的過(guò)程,除了程序清單之外,沒(méi)有其他文檔資料保存下來(lái)。
實(shí)時(shí)測(cè)試是軟件開(kāi)發(fā)生命周期的一個(gè)關(guān)鍵部分,涉及實(shí)時(shí)測(cè)試軟件應(yīng)用程序的可靠性和功能。這包括模擬實(shí)時(shí)環(huán)境或場(chǎng)景,以驗(yàn)證軟件應(yīng)用程序在各種負(fù)載條件下的性能。因此,實(shí)時(shí)測(cè)試已成為軟件測(cè)試的主要方面之一。它已經(jīng)普及,因?yàn)樗軌驕y(cè)試其操作模式中的軟件應(yīng)用。
驗(yàn)證是檢查軟件是否符合其規(guī)格的過(guò)程。它回答了以下問(wèn)題:“我們是否正確構(gòu)建了產(chǎn)品?”這意味著根據(jù)項(xiàng)目開(kāi)始時(shí)定義的要求檢查軟件是否按預(yù)期運(yùn)行。驗(yàn)證通常通過(guò)靜態(tài)測(cè)試完成,這意味著軟件實(shí)際上并未執(zhí)行。相反,代碼經(jīng)過(guò)審查、檢查或遍歷以確保其符合規(guī)格。
嵌入式軟件開(kāi)發(fā)是一門(mén)應(yīng)用廣泛且不斷發(fā)展的技術(shù)領(lǐng)域,為了滿足不同應(yīng)用場(chǎng)景的需求,開(kāi)發(fā)人員可以采用多種架構(gòu)方法。
事實(shí)表明,AI無(wú)法替代開(kāi)發(fā)者,但更適用于優(yōu)秀的開(kāi)發(fā)者。而識(shí)別大型語(yǔ)言模型(LLM)生成的代碼什么時(shí)候會(huì)出錯(cuò),需要開(kāi)發(fā)人員具有豐富的知識(shí)和經(jīng)驗(yàn)。
嵌入式開(kāi)發(fā)是當(dāng)今信息技術(shù)領(lǐng)域不可或缺的一部分,它融合了硬件設(shè)計(jì)、軟件開(kāi)發(fā)和系統(tǒng)集成等多個(gè)學(xué)科,專(zhuān)門(mén)用于創(chuàng)建那些被嵌入到特定設(shè)備或系統(tǒng)中的專(zhuān)用計(jì)算機(jī)系統(tǒng)。嵌入式開(kāi)發(fā)的主要過(guò)程包括利用分立元件或集成器件進(jìn)行電路設(shè)計(jì)、結(jié)構(gòu)設(shè)計(jì),然后進(jìn)行軟件編程(通常是高級(jí)語(yǔ)言),接著通過(guò)實(shí)驗(yàn)進(jìn)行驗(yàn)證,并經(jīng)過(guò)多輪修改設(shè)計(jì)、制作,最終完成整個(gè)系統(tǒng)的開(kāi)發(fā)。這些嵌入式系統(tǒng)通常是為了滿足特定的需求而設(shè)計(jì)的,例如智能家居、智能手表、智能手機(jī)等。
12月15日,一場(chǎng)以技術(shù)交流和創(chuàng)新碰撞為核心的開(kāi)源大賽——開(kāi)放原子開(kāi)源大賽創(chuàng)新賽(簡(jiǎn)稱(chēng)“OpenHarmony創(chuàng)新賽”)在無(wú)錫市圓滿落幕。