在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

AWorks是在怎樣的背景下誕生的?AWorks究竟是什么?

AGk5_ZLG_zhiyua ? 來源:未知 ? 作者:李倩 ? 2018-04-06 19:37 ? 次閱讀

本文導(dǎo)讀

經(jīng)過十多年的不斷研發(fā)、積累和完善,廣州致遠(yuǎn)電子有限公司(www.zlg.cn)推出了全新的AWorks平臺——IoT物聯(lián)網(wǎng)生態(tài)系統(tǒng)。并已成功地應(yīng)用到ZLG的示波器、功率計(jì)、功率分析儀、電壓監(jiān)測儀、電能質(zhì)量分析儀、數(shù)據(jù)記錄儀與工業(yè)通訊等系列高性能儀器和工業(yè)IoT產(chǎn)品中。AWorks的誕生極大的降低了開發(fā)者門檻,為開發(fā)者提供便利,使開發(fā)者可以忽略底層技術(shù)細(xì)節(jié),專注產(chǎn)品“核心域”,更快的開發(fā)出具有競爭力的產(chǎn)品。同時(shí),AWorks為開發(fā)者提供的是高度抽象的通用接口,基于AWorks平臺的軟件與底層硬件無關(guān),可以“隨心所欲”的跨平臺復(fù)用(如更換MCU等等)。

AWorks是在怎樣的背景下誕生的?AWorks究竟是什么?怎樣使用AWorks?本文作為AWorks的簡介,將解答這些疑問,使讀者對AWorks有一個(gè)初步的認(rèn)識。

1.1誕生的背景

雖然嵌入式系統(tǒng)和通用計(jì)算機(jī)系統(tǒng)同源,但由于應(yīng)用領(lǐng)域和研發(fā)人員的不同,嵌入式系統(tǒng)很早就走向了相對獨(dú)立的發(fā)展道路。通用計(jì)算機(jī)軟件幫助人們解決了各種繁雜的問題,隨著需求的提升,所面臨的問題越來越復(fù)雜,軟件領(lǐng)域的大師們對這些問題進(jìn)行了深入研究和實(shí)踐,于是誕生了科學(xué)的軟件工程理論,無需多言,通用計(jì)算機(jī)軟件的發(fā)展是我們有目共睹的。

再回過頭來看嵌入式系統(tǒng)的發(fā)展,其需求相對來說較為簡單,比如,通過熱電阻傳感器測溫、上下限報(bào)警與繼電器的動(dòng)作,因此嵌入式系統(tǒng)的應(yīng)用開發(fā)似乎沒有必要使用復(fù)雜的軟件工程方法,于是通用計(jì)算機(jī)系統(tǒng)和嵌入式系統(tǒng)走上了不同的發(fā)展道路。

當(dāng)嵌入式系統(tǒng)發(fā)展到今天,所面對的問題也日益變得復(fù)雜起來,而編程模式卻沒有多大的進(jìn)步,這就是所面臨的困境。相信大家都或多或少地感覺到了,嵌入式系統(tǒng)行業(yè)的環(huán)境已經(jīng)開始發(fā)生根本的改變,智能硬件和工業(yè)互聯(lián)網(wǎng)等都讓人始料不及,危機(jī)感油然而生。

盡管企業(yè)投入巨資不遺余力地組建了龐大的開發(fā)團(tuán)隊(duì),當(dāng)產(chǎn)品開發(fā)完成后,從原材料BOM與制造成本角度來看,毛利還算不錯(cuò)。當(dāng)扣除研發(fā)投入和合理的營銷成本后,企業(yè)的利潤所剩無幾,即便這樣員工依然還是感到不滿意,這就是傳統(tǒng)企業(yè)管理者的窘境。

雖然ZLG投入了大量的人力資源,但重復(fù)勞動(dòng)所造成的損耗以億元計(jì)。上千種MCU、大量的片上外設(shè)、眾多的外圍器件,操作方式不盡相同。由于缺乏平臺化的技術(shù),即便相同的外圍器件,幾乎都要重新編寫相應(yīng)的代碼和文檔并進(jìn)行測試,所有的應(yīng)用軟件很難做到完美地復(fù)用。

在開發(fā)同一系列高中低三個(gè)層次的產(chǎn)品時(shí),通常會遇到這樣的問題,主芯片可能使用ARM9、雙核A9和DSP,其操作系統(tǒng)分別為μC/OS-II、Linux和SysBIOS。不僅驅(qū)動(dòng)代碼不兼容,而且應(yīng)用層代碼也不一樣,如此一來,僅僅維護(hù)這些各不相同的代碼就要消耗大量的人力資源。同時(shí),對于開發(fā)人員,每天處在這繁重的維護(hù)工作中,很難再專注于產(chǎn)品本身,發(fā)現(xiàn)新的創(chuàng)新點(diǎn)。

傳統(tǒng)的嵌入式開發(fā)門檻很高,從硬件到軟件,從底層驅(qū)動(dòng)到各種協(xié)議棧、中間件,再到應(yīng)用程序,這些都是嵌入式開發(fā)必須要掌握的技能。比如,使用一個(gè)新的MCU,需要閱讀上千頁的數(shù)據(jù)手冊;使用OS不得不深入底層,了解原理和移植底層核心代碼;產(chǎn)品需要聯(lián)網(wǎng),又不得不學(xué)習(xí)豐富的通信技術(shù)和物聯(lián)網(wǎng)協(xié)議(NB-IoTLora、Bluetooth、WIF、HTTP、MQTT、LWM2M、TLS……)。

相信很多開發(fā)者都有過項(xiàng)目從最底層的寄存器操作開始,一步一步地構(gòu)建整個(gè)開發(fā)平臺的慘痛經(jīng)歷。項(xiàng)目投入了大量的人力、物力、財(cái)力,結(jié)果往往卻不甚理想。這是因?yàn)槲覀儾⒎鞘歉鱾€(gè)方面的專家,不可能每一面都能做得很好,項(xiàng)目自然會為此而付出巨大的成本。

什么都要做,卻什么也做不好,這就是當(dāng)前嵌入式開發(fā)的真實(shí)寫照。同時(shí),對于一個(gè)具體產(chǎn)品來講,這些技術(shù)僅僅只是產(chǎn)品的基礎(chǔ)“工具”,并非“核心域”,產(chǎn)品的價(jià)值在于產(chǎn)品本身的創(chuàng)新。若在開發(fā)產(chǎn)品前,開發(fā)者需要花大量的時(shí)間和精力學(xué)習(xí)這些新技術(shù)、新知識,不僅嚴(yán)重影響產(chǎn)品的開發(fā)進(jìn)度,而且隨著時(shí)間的消耗,最初的創(chuàng)意、最初的靈感,很可能就被這些技術(shù)細(xì)節(jié)打敗,消磨殆盡,很難開發(fā)出具有競爭力的產(chǎn)品了。為了解決種種痛點(diǎn),經(jīng)過十多年的不斷研發(fā)、積累和完善,ZLG推出了AWorks平臺。

1.2概述

圖1.1 AWorks

如圖1.1所示是AWorks的標(biāo)識符。從概念上講,AWorks是ZLG經(jīng)過十多年時(shí)間積累開發(fā)的IoT物聯(lián)網(wǎng)生態(tài)系統(tǒng)。AWorks平臺的宗旨是“軟件定義一切”,使應(yīng)用與具體硬件平臺徹底分離,實(shí)現(xiàn)“一次編程、終生使用”和“跨平臺”。AWorks提供了大量高質(zhì)量、可復(fù)用的組件,行業(yè)合作伙伴可以在該平臺上直接開發(fā)各種應(yīng)用,通過有線接入和無線接入收集、管理和處理數(shù)據(jù)。從而將程序員從“自底層寄存器開始開發(fā)、學(xué)習(xí)各種協(xié)議”的苦海中解放出來,使開發(fā)者可以回歸產(chǎn)品本質(zhì),以應(yīng)用為中心,將主要精力集中在需求、算法和用戶體驗(yàn)等業(yè)務(wù)邏輯上。具體來說,可以從兩個(gè)方面來理解AWorks。

首先,AWorks是一個(gè)平臺。它提供了一種通用機(jī)制,能夠?qū)⒏鞣N軟件組件有機(jī)的集成在一起,使其可以為用戶提供數(shù)量龐大且高質(zhì)量、高價(jià)值的服務(wù)。這些組件經(jīng)過了精心的設(shè)計(jì)和實(shí)現(xiàn),在代碼體積、效率、可靠性和易用性方面下了很大功夫。

其次,AWorks是跨平臺的,這里的平臺指的是底層硬件平臺或具體軟件的實(shí)現(xiàn)。AWorks規(guī)范了各種類型組件的通用接口,這些通用接口是對某一類功能高度抽象的結(jié)果,與具體芯片、外設(shè)、器件及實(shí)現(xiàn)方式均無關(guān)。例如,定義了一組文件系統(tǒng)接口,接口與具體存儲硬件,具體文件系統(tǒng)實(shí)現(xiàn)方法(FAT、YaFFS、UFFS等)均無關(guān)。換言之,存儲硬件、文件系統(tǒng)的實(shí)現(xiàn)都可以任意更換,不會影響到通用接口。基于此,只要應(yīng)用程序基于這些通用接口進(jìn)行開發(fā)。那么,應(yīng)用程序就可以跨平臺使用,更換底層硬件不會影響到應(yīng)用程序。換句話說,無論 MCU 如何改變,則基于AWorks平臺的應(yīng)用軟件均可復(fù)用。

下面,首先簡述AWorks的基本特點(diǎn),然后向讀者展示AWorks的架構(gòu)圖。

1.2.1 特點(diǎn)

AWorks具有以下特點(diǎn):

所有內(nèi)部組件均可靜態(tài)實(shí)例化,避免內(nèi)存泄漏,提高系統(tǒng)運(yùn)行的確定性和實(shí)時(shí)性;

深度優(yōu)化了組件初始化過程,使系統(tǒng)能以極短的時(shí)間(通常小于1s)啟動(dòng);

所有組件可插拔、可替換、可配置(可通過便捷的圖形配置工具完成);

領(lǐng)先的驅(qū)動(dòng)管理框架:AWbus-lite,使驅(qū)動(dòng)程序可以得到最大限度的復(fù)用;

先進(jìn)的電源管理模塊,最大限度地降低功耗;

提供常用的通用組件:文件系統(tǒng)、TCP/IP議棧、USB協(xié)議棧等;

主要目標(biāo)領(lǐng)域:IoT物聯(lián)網(wǎng),提供WiFi、Bluetooth、Zigbee、GPRS、3G等無線接入方式,以及6LoWPAN、TLS、DTLS、CoAP、MQTT、LWM2M等物聯(lián)網(wǎng)關(guān)鍵協(xié)議棧。云端接入方面,支持機(jī)智云、IBM、阿里云等云服務(wù)平臺應(yīng)用程序框架,很快也將推出ZLG自主研發(fā)的云平臺;

包含極微小原生內(nèi)核,任務(wù)數(shù)量無限制,高達(dá)1024優(yōu)先級,支持同優(yōu)先級任務(wù),最小能在1K RAM、2K ROM中運(yùn)行,包含多任務(wù)管理、信號量、互斥量、消息隊(duì)列等多種OS服務(wù);

除原生內(nèi)核外,也可使用ucCOS、FreeRTOS等實(shí)時(shí)操作系統(tǒng)作為AWorks的內(nèi)核;

提供第三方組件的適配器,方便用戶跳過移植階段,直接使用第三方組件,比如LWIP、FatFS、SQLite等。

簡單的說AWorks平臺提供了標(biāo)準(zhǔn)化的硬件擴(kuò)展接口與硬件無關(guān)的標(biāo)準(zhǔn)化API函數(shù)接口,提供了大量高質(zhì)量的組件,這些組件都是可剪裁、可配置的。基于AWorks中大量的組件,開發(fā)者無需關(guān)心與MCU、OS有關(guān)的基礎(chǔ)知識,只要會 C語言就能將需求開發(fā)成產(chǎn)品。

為了幫助用戶快速搭建產(chǎn)品原型,ZLG還提供了豐富的硬件模塊供開發(fā)者選擇,如i.MX28x底板及系列核心板、M3352底板及系列核心板、M6748底板及系列核心板和一系列外圍擴(kuò)展配件(傳感器配件、ZigBee配件、WI-FI配件、3G配件等工業(yè)IoT常用配件)。

1.2.2 架構(gòu)

AWorks架構(gòu)圖詳見圖1.2。

圖1.2 AWorks的架構(gòu)

可以簡單地將AWorks看作三層結(jié)構(gòu):應(yīng)用層、中間層和硬件層。

1、應(yīng)用層

包含用戶編寫的應(yīng)用程序。應(yīng)用程序可以使用C開發(fā),也可以使用C++開發(fā)。對于部分硬件平臺,AWorks還提供了Python(MicroPython)的支持,用戶可以直接使用Python語言開發(fā)應(yīng)用程序。

2、中間層

中間層是AWorks的主體部分,其包含了各式各樣的組件,在AWorks中,一切軟件都可以視為組件,常見的有:驅(qū)動(dòng)軟件(比如,PCF85063驅(qū)動(dòng))、通用工具軟件(比如,鏈表、環(huán)形緩沖區(qū))、一些大型的協(xié)議棧(比如,TCP/IP)等。

雖然AWorks集成的組件十分繁多,但都是可裁剪的,AWorks甚至能夠在只有幾K內(nèi)存的小資源平臺上運(yùn)行。其中,AMetal是一個(gè)特殊的組件,其位于外設(shè)和外圍器件之上,本質(zhì)上是一個(gè)裸機(jī)支持包,負(fù)責(zé)與底層硬件打交道,完成寄存器級別的操作,封裝底層硬件的功能,并完成基礎(chǔ)功能的抽象,為系統(tǒng)上層提供統(tǒng)一的硬件操作接口。換言之,AMetal處理了底層硬件的差異性,使系統(tǒng)上層專注于硬件功能的使用,無需再處理繁雜器件之間的差異性,為每一類不同器件編寫不同的驅(qū)動(dòng)。

除AMetal外,其余所有組件可以分為5大類(在架構(gòu)圖中使用黑色的矩形框進(jìn)行了劃分,并在矩形框左上角對該類組件進(jìn)行了命名):應(yīng)用框架&庫(Application Frameworks & Libs)、基礎(chǔ)服務(wù)(Base Facilities)、實(shí)時(shí)內(nèi)核(Real-Time Kernel)、網(wǎng)絡(luò)(Networking)、設(shè)備管理(Device Management)。

應(yīng)用框架&庫

(Application Frameworks & Libs)

應(yīng)用框架是直接為應(yīng)用程序服務(wù)的,主要包含一些大型的系統(tǒng)框架,如:GUI、腳本引擎、數(shù)據(jù)庫、Bootloader等。

AWorks兼容Posix,使基于Posix接口的應(yīng)用程序可以無縫移植到AWorks平臺中運(yùn)行。為便于用戶使用,AWorks還提供了一系列算法庫。

在這里,特別說明一下相對讀者來講比較陌生的一個(gè)概念:“AWPI C++框架”,其同樣是由廣州致遠(yuǎn)電子有限公司推出的。AWPI提供了一套C++接口,它與操作系統(tǒng)和平臺均無關(guān),在任何地方都可以使用,類似于Posix接口,只要一個(gè)系統(tǒng)兼容AWPI,那么基于AWPI的應(yīng)用就可以在該系統(tǒng)中運(yùn)行。

當(dāng)前,AWPI已經(jīng)支持AWorks、Windows和Linux系統(tǒng)。如此一來,習(xí)慣于在Windows或Linux上做開發(fā)的C++程序員,只要其使用AWPI開發(fā)C++應(yīng)用程序,那么這些應(yīng)用程序就可以在AWorks中運(yùn)行,而AWorks又是定位于IoT物聯(lián)網(wǎng)的生態(tài)系統(tǒng),換句話說,C++程序員無需了解嵌入式底層,就可以直接使用C++開發(fā)物聯(lián)網(wǎng)相關(guān)應(yīng)用。

基礎(chǔ)服務(wù)

AWorks提供了一系列基礎(chǔ)服務(wù),這是一些高效、功能完善的組件,主要包括:文件系統(tǒng)、I/O系統(tǒng)、Shell服務(wù)、加密(安全)服務(wù)、電源管理(低功耗)、測試框架、狀態(tài)機(jī)框框架、事件管理框架等。

實(shí)時(shí)內(nèi)核

實(shí)時(shí)內(nèi)核可以看作一個(gè)OS內(nèi)核,提供OS基礎(chǔ)服務(wù):時(shí)間管理、線程服務(wù)、同步(互斥鎖、信號量、消息郵箱等)、原子操作、數(shù)據(jù)傳遞、內(nèi)存管理等。

通常情況下,AWorks默認(rèn)使用的OS內(nèi)核是廣州致遠(yuǎn)電子有限公司自主研發(fā)的輕量級RTOS:AWorks OS(RTK)。但實(shí)際上,AWorks并不限制使用某一特定的操作系統(tǒng),操作系統(tǒng)如同驅(qū)動(dòng)代碼一樣,僅僅是一個(gè)可以根據(jù)需要任意更換的組件。

在AWorks中,要使用某一操作系統(tǒng),僅需提供一個(gè)對應(yīng)的適配器即可。操作系統(tǒng)適配器直接駐留在操作系統(tǒng)接口之上,主要用于屏蔽各類操作系統(tǒng)和硬件接口的差異,從而大大地增強(qiáng)了AWorks的可移植性和可維護(hù)性。

當(dāng)前,AWorks已經(jīng)為常見的操作系統(tǒng)提供了適配器,比如,SYSBIOS Adaptor、Windows Adaptor、Linux Adaptor等。以支持在AWorks中使用這些操作系統(tǒng)。

網(wǎng)絡(luò)

網(wǎng)絡(luò)是AWorks非常重要的組成部分,也是其作為IoT生態(tài)系統(tǒng)的必備條件。在萬物互聯(lián)的大趨勢下,網(wǎng)絡(luò)相關(guān)技術(shù)也得到了快速的發(fā)展。AWorks緊隨時(shí)代潮流,支持眾多常用協(xié)議以及最新的協(xié)議。用戶基于AWorks平臺開發(fā),無需再深入研究網(wǎng)絡(luò)協(xié)議,直接使用這些協(xié)議即可。

目前,AWorks支持常見的通信技術(shù),主要有:ModBus協(xié)議、CAN協(xié)議(這里的CAN側(cè)重于CAN協(xié)議棧,設(shè)備管理中的CAN側(cè)重于CAN硬件通訊接口)、Cellular(蜂窩)、WIFI、以太網(wǎng)、Lora WAN、NB-IoT、Bluetooth、zigbee等。

同時(shí),AWorks具有TCP/IP協(xié)議棧,支持IPv6,支持TLS(使用TLS加密通信)以及大量基于TCP/IP的應(yīng)用協(xié)議,如:FTP、SMTP、HTTP、MQTT、CoAP、LWM2M等。

特別地,隨著物聯(lián)網(wǎng)的發(fā)展,越來越多的設(shè)備需要接入“云”,AWorks已經(jīng)針對第三方云(主要包括阿里云、機(jī)智云等)進(jìn)行了適配,基于AWorks的應(yīng)用可以輕松的接入這些“云”,第三方云的支持可以方便用戶將之前的程序遷移到AWorks平臺。除此之外,AWorks平臺還將推出自主研發(fā)的云平臺。

設(shè)備管理

設(shè)備管理用于管理一系列硬件設(shè)備,在嵌入式系統(tǒng)中,設(shè)備的種類非常繁多,如GPIO、PWM、ADC、ADC、I2C、SPI、CAN、Serial、USB、PCIe、傳感器、人機(jī)界面、媒體設(shè)備、存儲設(shè)備等。使用一個(gè)設(shè)備管理框架可以實(shí)現(xiàn)對這些設(shè)備“有條不紊”的管理。

3、硬件層

硬件層表示了當(dāng)前AWorks支持的硬件設(shè)備。主要分為兩大類:

支持的CPU內(nèi)核

當(dāng)前支持的CPU內(nèi)核主要有:Cortex-M0/3/4/7、Coterx-A7/8/9、ARM7/9、DSP等常用內(nèi)核。

支持的外設(shè) & 外圍器件

外設(shè)主要是指MCU的片上外設(shè),如ADC、DAC、GPIO、UART、SPI、I2C等;外圍器件主要是指一些IC芯片,常見的有:各類傳感器芯片、存儲器芯片、接口擴(kuò)展芯片(比如,UART轉(zhuǎn)兩路SPI)、專用芯片(如以太網(wǎng)PHY芯片)等。

1.3發(fā)布形式

圖1.3 SDK發(fā)布形式

AWorks的發(fā)布形式是SDK(Software Development Kit),SDK中包含了文檔、工具、示例代碼、模版工程等。詳見圖1.3。

詳盡的文檔旨在幫助用戶快速上手AWorks。例如:《快速入門手冊》可以幫助用戶快速搭建好開發(fā)環(huán)境;《用戶手冊》可以使用戶對SDK有更深入的了解,如目錄結(jié)構(gòu)、平臺資源(ADC通道數(shù)目、PWM通道數(shù)目等)等,并掌握硬件平臺相關(guān)資源的定義和配置(如LED0對應(yīng)的I/O口)。

示例代碼展示了一些組件的使用方法,比如,多任務(wù)、文件系統(tǒng)、定時(shí)器、內(nèi)存管理等等。當(dāng)用戶使用一個(gè)新的組件時(shí),可以參考SDK中提供的示例代碼,快速理解各個(gè)接口的使用方法。模版工程用于用戶快速創(chuàng)建自己的應(yīng)用工程,使創(chuàng)建新的工程非常簡單:拷貝一份模版工程并重命名即可。

AWorks是不開源的,內(nèi)部核心功能組件都是以庫的形式提供,相關(guān)接口通過頭文件引出。用戶直接使用各個(gè)組件提供的接口開發(fā)應(yīng)用程序,專注于應(yīng)用程序開發(fā),無需關(guān)心底層實(shí)現(xiàn)。需要注意的是,AWorks SDK與具體硬件開發(fā)套件相對應(yīng),不同硬件平臺使用的SDK是不同的。廣州致遠(yuǎn)電子有限公司推出了一系列嵌入式硬件開發(fā)套件,供用戶二次開發(fā),快速搭建產(chǎn)品原型。如EPC-AW280底板可以分別與A280-W64F8AWI(WIFI核心板)、A280-Z64F8AWI(zigbee核心板)和A280-M64F8AWI(無線讀卡核心板)組成3套開發(fā)套件,詳見圖1.4。

圖1.4 底板與3個(gè)核心板可以組成3套開發(fā)套件

為了便于客戶使用,廣州致遠(yuǎn)電子有限公司為每套硬件都提供了對應(yīng)的AWorks SDK,即SDK與具體硬件開發(fā)套件一一對應(yīng)。在使用AWorks前,需要聯(lián)系廣州致遠(yuǎn)電子有限公司,獲取到對應(yīng)硬件的SDK。

不同硬件對應(yīng)的SDK是不同的,不建議混用。不同SDK對底層硬件的不同分別進(jìn)行了處理,屏蔽了底層硬件的差異性,對于用戶來講,無論使用何種硬件,應(yīng)用程序使用的API是完全相同的,也正因?yàn)槿绱耍瑧?yīng)用程序不會與某一硬件平臺捆綁,可以很容易地實(shí)現(xiàn)跨平臺復(fù)用。

1.4使用方法

對于用戶來講,獲取AWorks SDK后,即可基于AWorks快速開發(fā)應(yīng)用程序。在開發(fā)某一應(yīng)用程序前,需要先建立一個(gè)新的工程,在AWorks SDK中,已經(jīng)提供了模板工程,“新建工程”只需簡單拷貝一下即可。

模板工程就是位于projects_keil5applications目錄下的template文件夾。新建工程即將template文件夾重新復(fù)制一份,并將拷貝得到的文件夾重命名為與具體應(yīng)用相關(guān)的名字,例如:要編寫一個(gè)LED閃爍應(yīng)用,則可以命名為:led_blinking。接著打開led_blinking文件夾,將工程文件template.uvprojx也重命名為led_blinking.uvprojx,至此,即完成了工程的建立。若用戶已經(jīng)正確安裝了keil軟件,則雙擊led_blinking.uvprojx工程文件即可打開工程。(更詳細(xì)的操作詳見配套開發(fā)資料中的《快速入門手冊》,其中包含了詳盡的軟件安裝步驟)。打開工程后,即可在user_code分組下的main.c文件中添加具體的應(yīng)用程序代碼

作為示例,可以編寫一個(gè)簡單的LED閃爍程序,詳見程序清單1.1。

程序清單1.1 LED閃爍范例程序

將該程序編譯、鏈接后即可生成程序固件,并可以下載到開發(fā)板上運(yùn)行,具體操作方法相見SDK中的《快速入門手冊》。

在AWorks中,函數(shù)的命名以“aw_”開頭,其中,aw_led_toggle()在aw_led.h文件中聲明,用于翻轉(zhuǎn)LED;aw_mdelay()在aw_delay.h文件中聲明,用于延時(shí)指定的時(shí)間(單位:毫秒)。這些接口的詳細(xì)使用方法將在后續(xù)相關(guān)的章節(jié)予以介紹。需要特別注意的是,在AWorks平臺中編寫應(yīng)用程序時(shí),所有源文件都應(yīng)該首先包含aworks.h文件。

在這里,初步體會了LED和延時(shí)服務(wù)兩類API,實(shí)際中,任何模塊或服務(wù)的使用方法都是類似的。首先,包含該模塊或服務(wù)對應(yīng)的頭文件(“aw_xxx.h”);然后,使用頭文件中提供的API。后續(xù)章節(jié)將詳細(xì)介紹AWorks提供的一些基礎(chǔ)服務(wù),比如,常用設(shè)備(LED、按鍵、數(shù)碼管等)、常用外設(shè)(GPIO、PWM、SPI等)、時(shí)間管理、內(nèi)存管理、OS內(nèi)核、文件系統(tǒng)等。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5424

    瀏覽量

    123448
  • 嵌入式系統(tǒng)
    +關(guān)注

    關(guān)注

    41

    文章

    3667

    瀏覽量

    130922

原文標(biāo)題:AWorks生態(tài)系統(tǒng)簡介

文章出處:【微信號:ZLG_zhiyuan,微信公眾號:ZLG致遠(yuǎn)電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    一個(gè)全新的AWorks平臺,服務(wù)IoT物聯(lián)網(wǎng)生態(tài)系統(tǒng)

    AWorks怎樣背景誕生的?AWorks
    的頭像 發(fā)表于 04-06 09:12 ?1.8w次閱讀
    一個(gè)全新的<b class='flag-5'>AWorks</b>平臺,服務(wù)IoT物聯(lián)網(wǎng)生態(tài)系統(tǒng)

    AWorks試用體驗(yàn)】+AworksWince環(huán)境通過網(wǎng)線(TCP/IP)下載Labview程序

    本帖最后由 jianren2 于 2015-8-22 20:41 編輯 AworksWINCE環(huán)境通過網(wǎng)線連接Labview好多人都在用microUSB和Aworks連接使用
    發(fā)表于 08-19 20:22

    4本周立功嵌入式學(xué)習(xí)指南,看完你也能跟上大神的步伐~

    `《面向AWorks框架和接口的C編程(上)》AWorks怎樣背景
    發(fā)表于 09-04 16:31

    圖解:IGBT究竟是什么?

    圖解:IGBT究竟是什么? IGBT究竟是什么?
    發(fā)表于 08-10 08:01

    S參數(shù)究竟是什么?

    S參數(shù)究竟是什么?起決定性作用的S參數(shù)將S參數(shù)擴(kuò)展到多端口器件和差分器件
    發(fā)表于 03-01 11:46

    我們仿真DDR究竟是仿真什么

    我們仿真DDR究竟是仿真什么?
    發(fā)表于 03-04 07:32

    電感飽和究竟是什么

    電感飽和究竟是什么
    發(fā)表于 03-11 08:13

    真正軟件定義無線電究竟是怎樣的?

    真正軟件定義無線電究竟是怎樣的?
    發(fā)表于 05-14 06:47

    分貝究竟是什么?如何去理解它?

    分貝究竟是什么?如何去理解它?
    發(fā)表于 05-31 07:05

    一文讀懂eMMC究竟是啥?

    eMMC究竟是啥?eMMC長什么樣?eMMC用在哪?主要是干嘛用的?eMMC究竟是如何工作的呢?
    發(fā)表于 06-18 06:04

    spec究竟是什么?有誰可以分享一

    spec究竟是什么?哪位同行可以幫忙分享DFI 5.0的spec?
    發(fā)表于 06-21 07:16

    增量式編碼器倍頻技術(shù)的M法究竟是怎樣測速的

    增量式編碼器輸出的脈沖波形信號形式常見的有哪幾種?增量式編碼器倍頻技術(shù)的M法究竟是怎樣測速的?
    發(fā)表于 11-09 07:08

    基于AWorks LED燈點(diǎn)亮的簡單例程

    AWorks是ZLG歷時(shí)12年開發(fā)的下一代嵌入式開發(fā)平臺,支持組件“可插拔、可替換、可配置”,用戶只需修改相應(yīng)的頭文件,即可實(shí)現(xiàn)“一次編程、終生使用、跨平臺”,本文為大家介紹AWorks點(diǎn)亮一個(gè)LED燈簡單例程,感受AWorks
    的頭像 發(fā)表于 04-12 15:40 ?4361次閱讀

    超聲波熔接原理究竟是怎樣

    超聲波熔接理論基礎(chǔ)不變,就會有模貝搭建原則的共通點(diǎn)。而超聲波熔接原理究竟是怎樣的?
    發(fā)表于 04-20 10:03 ?3591次閱讀

    S參數(shù)究竟是什么?

    S參數(shù)究竟是什么?
    發(fā)表于 11-01 08:24 ?2次下載
    S參數(shù)<b class='flag-5'>究竟是</b>什么?
    主站蜘蛛池模板: 久久精品影视 | 日本片巨大的乳456线观看 | 天天综合网天天综合色 | 国产在线精品一区免费香蕉 | 玖玖国产| 天天玩天天操 | 欧美亚洲另类在线观看 | 日本动漫天堂 | 国产精品资源手机在线播放 | 欧美人与牲动交xxxx | 四虎884tt紧急大通知 | 永久免费mv网站入口 | 色网站免费在线观看 | 极品国产一区二区三区 | 激情在线视频 | 四虎在线永久免费视频网站 | 一个色亚洲 | 伊人久久大香线蕉影院95 | 一级黄色日本 | 亚洲bbb | 人人澡人人搞 | 年轻护士3的滋味 | 人人玩人人添天天爽 | 亚洲国产色图 | 婷婷99| 在线视频精品视频 | 日本欧美一区二区三区免费不卡 | 黄色网免费观看 | 婷婷四房综合激情五月性色 | 国产亚洲3p无码一区二区 | 激情六月婷婷 | 无毒不卡 | 狠狠操夜夜爱 | 色妇网| 天天摸日日碰天天看免费 | аⅴ天堂 在线 | 色色网视频 | 久久国产乱子伦精品免费午夜 | 美女黄18以下禁止观看 | 前后灌满白浆护士 | 国产在线视频网站 |