AliOS Studio是一套基于vscode的開發(fā)環(huán)境,支持windows、linux、macOS。AliOS Studio有以下功能:
下載并安裝 Visual Studio Code
訪問 https://code.visualstudio.com/ 下載并安裝vscode。
安裝 AliOS Studio 插件
打開vscode,按照下圖所示安裝AliOS Studio插件:
安裝 aos-cube
AliOS Studio 依賴 aos-cube,如果想要手動(dòng)安裝 aos-cube 的話,請參考 System environment setup,同時(shí)AliOS Studio也支持一鍵安裝aos-cube,如下圖所示:
使用AliOS Studio一鍵安裝功能首先需要安裝python2.7和pip。
AliOS Studio一鍵安裝的aos-cube是安裝在虛擬python環(huán)境里面的(virualenv),在vscode的終端里面能夠正常使用aos-cube,其他終端無法正常使用aos-cube。
AliOS-Studio 工具欄
AliOS Studio的主要功能都集中在vscode下方工具欄中,小圖標(biāo)從左至右功能分別是創(chuàng)建應(yīng)用工程 編譯 燒錄 串口工具 清除。
注: 當(dāng)用vscode打開了AliOS Things源碼或者應(yīng)用工程時(shí),才會(huì)顯示全部的工具圖標(biāo)。
左側(cè)的helloworld@developerkit是編譯目標(biāo),格式遵循應(yīng)用名字@目標(biāo)板名字的規(guī)則,點(diǎn)擊它可以依次選擇應(yīng)用和目標(biāo)板。
編譯 - Build
點(diǎn)擊編譯目標(biāo)選擇應(yīng)用和目標(biāo)板,點(diǎn)擊編譯圖標(biāo)進(jìn)行編譯:
燒錄 - Upload
這里可以看到目前支持燒錄(upload)的開發(fā)板,如果想要自己添加開發(fā)板支持,請參考:
串口監(jiān)控 - Monitor
這里如果打開串口出錯(cuò),請注意你的用戶是否有串口訪問權(quán)限。
調(diào)試 - Debug
按F5或者點(diǎn)擊菜單欄Debug > Start Debugging進(jìn)入調(diào)試模式:
這里可以看到目前支持調(diào)試(debug)的開發(fā)板,如果想要自己添加開發(fā)板支持,請參考:
參考視頻:使用 AliOS Studio 開始 AliOS Things 調(diào)試。
設(shè)置優(yōu)化等級
使用調(diào)試功能,最好設(shè)置優(yōu)化等級為-Og或者-O0,否則會(huì)出現(xiàn)函數(shù)跳轉(zhuǎn)異常、單步調(diào)試異常、變量optimize-out等問題。設(shè)置優(yōu)化等級:
AliOS Studio 命令列表
按 Ctrl-Shift-P 打開vscode的命令面板,輸入 alios-studio可以看到AliOS Studio支持的命令:
命令說明:
AliOS Studio 快捷鍵
默認(rèn)快捷鍵:
也可以在keybindings.json中自定義自己喜歡的按鍵組合:
[ { "command": "alios-studio.build", "key": "shift+alt+b" }, { "command": "alios-studio.clean", "key": "shift+alt+c" }, { "command": "alios-studio.upload", "key": "shift+alt+u" } ]
配置文件說明
在AliOS Things源碼或者應(yīng)用工程中,都有.vscode/目錄,該目錄下面都有3個(gè)json文件,這些json文件分別配置不一樣的功能:
AliOS-Things 2.1版本以后,新增加了一個(gè).TAGS.AOS.DB 文件,該文件是符號表數(shù)據(jù)庫。
launch.json
AliOS Studio依賴C/C++插件提供的調(diào)試能力,使用launch.json來配置調(diào)試參數(shù),launch.json的詳細(xì)配置說明請參考:vscode-cpptools/launch.md。
每次更改編譯目標(biāo)(app@board)的時(shí)候,都會(huì)同步更新launch.json。
launch.json 中的關(guān)鍵配置項(xiàng)如下如所示:
{ "version": "0.2.0", "configurations": [ { ...... "program": "${workspaceRoot}/out/helloworld@cy8ckit-149/binary/helloworld@cy8ckit-149.elf", "miDebuggerServerAddress": "localhost:4242", "setupCommands": [ ...... { "text": "target remote localhost:4242" } ...... ], "osx": { "miDebuggerPath": "arm-none-eabi-gdb" }, "linux": { "miDebuggerPath": "arm-none-eabi-gdb" }, "windows": { "miDebuggerPath": "arm-none-eabi-gdb.exe" } } ] }
配置項(xiàng)說明
settings.json
一般情況下無需更改settings.json的內(nèi)容,AliOS Studio會(huì)根據(jù)配置自動(dòng)更新。
{ "aliosStudio.inner.yosBin": "aos", "aliosStudio.hardware.board": "developerkit", "aliosStudio.name": "helloworld", "aliosStudio.aosVersion": "2.1.0", "C_Cpp.default.browse.databaseFilename": "${workspaceRoot}/.vscode/.TAGS.AOS.DB" }
該配置項(xiàng)為AliOS Things 2.1.0版本中的配置。
配置項(xiàng)說明
tasks.json
vscode 的 tasks.json 官方說明請參考https://code.visualstudio.com/Docs/editor/tasks。task的屬性請參考:https://code.visualstudio.com/Docs/editor/tasks#_custom-tasks。
當(dāng)然,你也可以在tasks.json中添加自己的任務(wù),然后依次點(diǎn)擊vscode菜單欄的Terminal > Run Task... ,即可看到你配置的導(dǎo)出IAR工程的task:
更多的自定義task可以參考 附錄 > 添加自定義task。
AliOS Things 3.0 應(yīng)用開發(fā)
AliOS Things 3.0版本于9月27日在云棲大會(huì)正式發(fā)布,在新版本中帶來了全新的應(yīng)用開發(fā)框架,幫助用戶快速構(gòu)建自己的應(yīng)用。使用戶可以更專注于自身應(yīng)用的開發(fā)。開發(fā)者可以在AliOS Studio中快速的創(chuàng)建應(yīng)用工程:
要求 AliOS Things >=3.0.0 和 aos-cube >=0.3.7。
鼠標(biāo)移到AliOS Things的API上會(huì)顯示API說明鏈接
為了方便開發(fā)者盡快熟悉AliOS Things API,當(dāng)鼠標(biāo)移到AliOS Things的API上就會(huì)顯示查看AliOSThings 官方API文檔:
轉(zhuǎn)換TSL json文件為C代碼文件
物的模型(TSL) 是阿里云IOT平臺很重要的一個(gè)概念,是一個(gè)數(shù)據(jù)模型,它是物理空間中的實(shí)體,如傳感器、車載裝置、樓宇、工廠等在云端的數(shù)字化表示。AliOS Studio 提供了一個(gè)高效的方法可以快速的把TSL json文件轉(zhuǎn)換為C代碼文件,右鍵json文件,然后選中Convert TSL json to C string 即可轉(zhuǎn)換:
添加自定義task
添加task - 導(dǎo)出IAR/MDK工程:
{ "label": "alios-studio: Export IAR Project", "type": "shell", "command": "aos", "args": [ "make", "IDE=iar" ], "presentation": { "focus": true } }
添加task - 多線程編譯:
{ "label": "alios-studio: Parallel Build", "type": "shell", "command": "aos", "args": [ "make", "JOBS=8" ], "presentation": { "focus": true } }
添加task - 編譯debug類型固件:
該固件配合調(diào)試功能。
{ "label": "alios-studio: Build Debug", "type": "shell", "command": "aos", "args": [ "make", "BUILD_TYPE=debug" ], "presentation": { "focus": true } }
Visual Studio Code is unable to watch for file changes in this large workspace
針對Linux系統(tǒng),windows和mac不會(huì)出現(xiàn)這種情況。
該錯(cuò)誤在 linux系統(tǒng)上比較常見,主要是因?yàn)閘inux系統(tǒng)最大可監(jiān)聽文件數(shù)有限制。linux系統(tǒng)默認(rèn)系統(tǒng)可監(jiān)聽文件數(shù)為8192個(gè),AliOS-Things的源碼比較大,文件數(shù)遠(yuǎn)遠(yuǎn)大于8192個(gè),此時(shí)vscode無法監(jiān)聽所有的文件改動(dòng),導(dǎo)致AliOS Studio 插件會(huì)工作不正常,報(bào)如下錯(cuò)誤:
解決辦法:
此時(shí)需要設(shè)置linux系統(tǒng)最大可監(jiān)聽文件數(shù)。
使用如下命令查看當(dāng)前可監(jiān)聽文件數(shù):
cat /proc/sys/fs/inotify/max_user_watches
編輯文件:/etc/sysctl.conf,然后增加如下行:
fs.inotify.max_user_watches=524288
使用如下指令生效:
sudo sysctl -p
Arch Linux 用戶請參考此鏈接(https://github.com/guard/listen/wiki/Increasing-the-amount-of-inotify-watchers).
更多細(xì)節(jié)請參考:"Visual Studio Code is unable to watch for file changes in this large workspace" (error ENOSPC)。
Workspace is too large to watch for file changes
和上面的問題一樣:Visual Studio Code is unable to watch for file changes in this large workspace
SyntaxError: .vscodelaunch.json: Unexpected token / in JSON at position 4378
請不要在 .vscode/tasks.json 或者 .vscode/launch.json中添加注釋。
調(diào)試模式,提示gdb is not signed
試試換個(gè)toolchain,或者刪除這個(gè)toolchain,讓aos-cube自己下載toolchain。
作者:麻紙君
本文為云棲社區(qū)內(nèi)容,未經(jīng)允許不得轉(zhuǎn)載。
開欄語
馬圈處處皆學(xué)問,本欄目的掃盲范圍將從育馬、養(yǎng)馬、賽馬再延伸到各個(gè)馬術(shù)運(yùn)動(dòng)項(xiàng)目,深入淺出,刨根究底,去粗取精。總之,這里只提供干貨!
馬匹拍賣行,是目前中國頂級馬主,企業(yè)獲得優(yōu)秀馬匹的主要來源。由于國內(nèi)本土馬品種的限制以及馬匹繁育的相對落后,而國外賽馬和馬術(shù)發(fā)達(dá)國家卻擁有從馬匹血統(tǒng)基因庫、繁育、訓(xùn)練到比賽每個(gè)環(huán)節(jié)都十分嚴(yán)謹(jǐn)專業(yè)的優(yōu)勢,目前國內(nèi)賽馬場上有著優(yōu)異成績的純血賽駒以及最近全運(yùn)會(huì)馬術(shù)賽場上的溫血馬,基本上都購自海外知名的馬匹拍賣行。
如澳洲的神奇百萬馬匹拍賣行(Magic Millions),美國的基恩蘭拍賣會(huì)(Keeneland Sales),英國的塔特索爾拍賣會(huì)(Tattersalls),法國的阿卡娜拍賣會(huì)(ARQANA),日本的精選拍賣會(huì)(Select Sale),德國的韋爾登馬匹拍賣會(huì)(Verden)等。
深知國內(nèi)短板,多個(gè)由中國馬主組成的海外聯(lián)合購馬團(tuán)隊(duì)近年來如春筍般不斷冒尖。他們常年徘徊在海外知名馬匹拍賣行,結(jié)合血統(tǒng)資料和實(shí)地觀察,購選自個(gè)的心水馬匹。基本上,每個(gè)拍賣會(huì)都會(huì)提前在線上線下發(fā)布拍賣會(huì)目錄,里頭不僅有介紹拍賣行的相關(guān)介紹,重要的是會(huì)詳細(xì)呈現(xiàn)本次拍賣馬匹的信息。有意愿購馬者均可提前瀏覽,定下目標(biāo)。
而這份目錄必然是全英的。第一賽馬網(wǎng)小編今后將細(xì)細(xì)為大家整理涉及拍賣會(huì)相關(guān)的中英文對照-賽馬術(shù)語,大家一起來學(xué)習(xí)吧。
【拍賣會(huì)篇の目錄】術(shù)語中英文對照
小編結(jié)合馬匹拍賣會(huì)目錄(Catalogue)——2017神奇百萬黃金海岸2歲試跑馬拍賣會(huì)(Gold Coast 2YOs in Training Sale),主要以Lot1馬匹為例,總結(jié)一下拍賣會(huì)目錄中出現(xiàn)頻率最高,與現(xiàn)場買主息息相關(guān)的英文用語。
拍賣會(huì)馬匹信息
摘自神奇百萬2歲馬試跑拍賣會(huì)
模塊一:基本信息
左上角和右上角的LOGO:指具有資格參與該系列賽事的標(biāo)志;如左上角BOBS eligible是該馬匹有資格參與BOBS賽事。而右上角Aushorse 2yo series eligible則表明該馬匹有資格參與澳馬兩歲系列賽事。
Account of…:指馬匹供應(yīng)商自……
Lot::拍賣號
100%GST:100%包含商品和服務(wù)稅
Foaled:馬匹出生日期
Stable…:馬房,如上Stable B 20指B馬房20號
Branded:出生牧場標(biāo)記 ;nr sh指標(biāo)記的位置;1 over 5 off sh:“1”指該牧場的特定號碼,“5”指馬匹出生年份,如95,05,15;off sh:指號碼位置。
最中間位置一般為該馬匹名稱。若未起名,則以毛色+性別統(tǒng)一代替。如該處BROWN FILLY指棕色母馬。
模塊二:馬匹血統(tǒng)樹
模塊二為Lot1馬匹的血統(tǒng)樹信息,一般拍賣會(huì)只提供到第四代父母系信息,大體如下:
被黑體加粗表示的馬匹主要指這些馬匹曾贏得比較知名的國際級別賽(黑體賽)。
模塊三:一代父系信息
模塊三一般為Lot1馬匹第一代父系的相關(guān)資料,包括馬匹名稱、出生國家、毛色、出生年份、.戰(zhàn)績、其父系繁育情況等。
6 win-3 at 2:總共6勝,其中2歲時(shí)勝出3場
Gr:級別賽
rnrs:指馬匹
wnrs:指勝出馬匹
SW:指勝出錦標(biāo)賽馬匹
inc:例如
模塊四:幾代母系信息
連續(xù)幾代母系信息,一般包括馬匹名稱及其父系,戰(zhàn)績及其姐妹的戰(zhàn)績,直系父母子嗣情況等。
Lot1馬匹一代母系信息(母系)。
sister:同母同父姐妹
half-sister:同母異父姐妹
Lot1馬匹一代母系(外祖母)信息。
L:表列賽
Lot1馬匹三代母系(曾外祖母)信息。
Lot2馬匹第二代母系(外祖母)信息
Placed at 3:Lot2馬匹3歲時(shí)曾跑獲第二或第三名。
相關(guān)閱讀:
【賽馬學(xué)堂】那些你總是搞不清楚的賽馬英語術(shù)語——配備篇
【賽馬學(xué)堂】那些你總是搞不清楚的賽馬英語術(shù)語——賽事篇(一)--1賽馬網(wǎng)
【賽馬學(xué)堂】那些你總是搞不清楚的賽馬英語術(shù)語----血統(tǒng)篇--1賽馬網(wǎng)
【賽馬學(xué)堂】那些你總是搞不清楚的賽馬英語術(shù)語——拍賣會(huì)篇--1賽馬網(wǎng)
本文來源于第一賽馬網(wǎng),資料由HKJC提供,轉(zhuǎn)載請注明出處!
編輯:Gwendolyn
校對:Huxley
監(jiān)制:王思敏
凱易路馬業(yè)廣告
我們能為您做些什么?
品牌系列
《大家》|《高見》|《優(yōu)駿》|《買馬》
《現(xiàn)場》|《一馬之聲》
《馬語者》|《重磅》
《賽馬學(xué)堂》
歡迎關(guān)注第一賽馬網(wǎng)官方微信
長按以下二維碼獲取更多賽馬資訊