免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實(shí)戰(zhàn)洞察。

IAR Linux原生版IDE:嵌入式固件構(gòu)建遷移與CI/CD實(shí)踐

IAR Linux原生版IDE:嵌入式固件構(gòu)建遷移與CI/CD實(shí)踐 說實(shí)話看到IAR官網(wǎng)正式放出Linux原生版IDE的消息時(shí)我的第一反應(yīng)是“太陽從西邊出來了”。干嵌入式的人都知道IAR Embedded Workbench這二十多年來一直是Windows獨(dú)占的工具鏈從8051時(shí)代一路走到ARM、RISC-V多少人為了在CI服務(wù)器上跑一次固件編譯硬是在Windows虛擬機(jī)里養(yǎng)著一套“祖宗級(jí)”構(gòu)建環(huán)境?,F(xiàn)在官方推出同時(shí)支持Linux與Windows的跨平臺(tái)IDE對(duì)我來說不只是多了一個(gè)安裝包而是整個(gè)固件研發(fā)體系的構(gòu)建方式、交付流程都可以被重新設(shè)計(jì)一遍。這篇文章我不會(huì)去復(fù)述官網(wǎng)新聞稿而是從一個(gè)長期被Windows綁定、天天跟IAR構(gòu)建輸出打交道的工具鏈工程師視角把這次跨平臺(tái)改動(dòng)背后真正值得關(guān)注的東西拆開聊它為什么現(xiàn)在才做、Linux版能干什么、怎么在Linux上從零跑通一個(gè)工程、和Windows版有哪些隱性差異、許可證和CI/CD怎么接以及老工程遷移過程中真正容易翻車的幾個(gè)細(xì)節(jié)。如果你是負(fù)責(zé)嵌入式持續(xù)集成的工程師或者團(tuán)隊(duì)里正在評(píng)估要不要從Windows換到Linux構(gòu)建這篇應(yīng)該對(duì)你有幫助。1. 為什么IAR這種老牌工具突然擁抱Linux1.1 被Windows綁了二十年的嵌入式工具鏈IAR在嵌入式領(lǐng)域的位置很特殊。它的編譯器優(yōu)化做得扎實(shí)尤其對(duì)ARM Cortex-M內(nèi)核的代碼密度和性能調(diào)校至今還有大量量產(chǎn)項(xiàng)目在用。但不同于GCC/Clang那套開源鏈IAR的IDE、編譯器、調(diào)試器是深度綁定的商業(yè)產(chǎn)品而且歷史上只支持Windows。這直接導(dǎo)致了一個(gè)行業(yè)里默認(rèn)的“畸形”狀態(tài)底層跑的是ARM核代碼開發(fā)卻永遠(yuǎn)離不開一臺(tái)Windows機(jī)器。做IoT設(shè)備、車規(guī)MCU、工業(yè)控制的團(tuán)隊(duì)CI服務(wù)器八成是Windows Server跑GitLab Runner也好、Jenkins Slave也好都得先準(zhǔn)備一個(gè)帶圖形界面的Windows環(huán)境。因?yàn)槔习鍵AR的許可證管理、IDE配置、工程構(gòu)建往往依賴GUI操作純命令行構(gòu)建雖然存在但用起來總是隔著一層不穩(wěn)定。我身邊甚至有團(tuán)隊(duì)為了編譯一個(gè)幾百KB的固件專門保留了一臺(tái)Windows 7老機(jī)器理由居然是“新版本W(wǎng)indows跑IAR會(huì)有加密狗驅(qū)動(dòng)問題”。這種場(chǎng)景現(xiàn)在回頭看其實(shí)不是IAR不想改而是嵌入式工具鏈的商業(yè)模式?jīng)Q定了它更傾向于鎖定現(xiàn)有用戶而不是主動(dòng)打破舒適區(qū)。1.2 真正的催化劑CI/CD與云上編譯大概從五年前開始嵌入式開發(fā)流程明顯向DevOps靠攏。GitLab CI、GitHub Actions、Jenkins Pipeline成為標(biāo)配容器化構(gòu)建、制品歸檔、固件版本追溯成了量產(chǎn)項(xiàng)目的基本要求。而這一套體系里L(fēng)inux是絕對(duì)的主流。隨便看哪個(gè)公共CI平臺(tái)Linux runner最便宜、鏡像最豐富、排障資料最多Windows runner不僅貴還經(jīng)常被各種殺毒軟件、系統(tǒng)更新折騰。但I(xiàn)AR用戶沒法用Linux runner因?yàn)镮AR根本沒有Linux版編譯器。你說可以用GCC替代很多項(xiàng)目是拿IAR編譯器參數(shù)、內(nèi)存布局、庫函數(shù)行為一條一條調(diào)出來的換編譯器等于重新做一輪回歸測(cè)試產(chǎn)品經(jīng)理根本不會(huì)給你這個(gè)排期。所以大量團(tuán)隊(duì)被迫維持著“Windows構(gòu)建機(jī)共享文件夾手工觸發(fā)”的半自動(dòng)流程這件事一直是固件工程化的一塊硬傷。IAR這次推Linux原生版本質(zhì)上是被這股云原生化趨勢(shì)推著走的。它再不支持Linux下一輪工具鏈選型里就會(huì)被GCC、Clang這些更“現(xiàn)代化”的方案吃掉地盤。尤其在MCU廠商官方SDK逐漸擁抱CMake之后IAR的封閉生態(tài)優(yōu)勢(shì)正在被稀釋。1.3 原生重編譯不是套個(gè)Wine差別在哪里市面上早就有很多人試圖用Wine在Linux上跑IAR我也試過。結(jié)論是能裝、能編譯但極其不穩(wěn)定。IDE界面渲染卡頓J-Link調(diào)試經(jīng)常連不上目標(biāo)板USB驅(qū)動(dòng)時(shí)好時(shí)壞一旦工程大了打開工作區(qū)都要半天。Wine方案的實(shí)質(zhì)是模擬Windows API層IAR對(duì)Windows底層依賴越深翻車概率越高。所謂“原生跨平臺(tái)IDE”意思是IDE本體、編譯器前端、調(diào)試驅(qū)動(dòng)、許可證工具鏈都重新針對(duì)Linux編譯了一遍跑起來是真正的Linux進(jìn)程不再需要任何模擬層。這兩者的穩(wěn)定性差距用過一次就有體感。這就好比你在Windows上跑一個(gè)Linux程序用WSL2和用虛擬機(jī)是完全不同的體驗(yàn)IAR這次做的事情類似把整個(gè)開發(fā)鏈條直接搬到了原生環(huán)境。2. Linux版到底“新”在哪里不止是換了個(gè)系統(tǒng)2.1 你拿到的是一整套工具鏈不是半個(gè)殼很多人的第一反應(yīng)是“Linux版是不是只有命令行編譯器”。事實(shí)恰好相反這次Linux版和Windows版在功能上是基本對(duì)等的包括完整的圖形化IDE、C-SPY調(diào)試器、靜態(tài)分析工具C-STAT、運(yùn)行時(shí)分析C-RUN以及工程管理和Pack包管理。你不是只能在命令行“湊合著用”而是可以在Linux桌面環(huán)境里獲得和Windows幾乎一致的開發(fā)體驗(yàn)。這背后有個(gè)容易忽略的技術(shù)點(diǎn)IAR的IDE和工程模型一直采用跨平臺(tái)友好的設(shè)計(jì)工程文件.ewp、工作區(qū)文件.eww、鏈接配置文件.icf本質(zhì)上都是文本/XML格式這給移植提供了很大便利。也就是說你在Windows上創(chuàng)建的一整套工程結(jié)構(gòu)復(fù)制到Linux后不需要轉(zhuǎn)換格式直接就能被Linux版識(shí)別、編譯。當(dāng)然第三方擴(kuò)展有些歷史包袱。早期IAR允許通過COM/OLE接口做一些Windows專屬插件擴(kuò)展這部分在Linux上不可能繼續(xù)兼容——Linux沒有COM。但官方核心功能、腳本接口、命令行工具鏈?zhǔn)峭暾A舻膶?duì)絕大多數(shù)項(xiàng)目沒有任何影響。2.2 IDE界面、快捷鍵與工程模型的一致性我拿到Linux版第一件事就是對(duì)比界面布局。好消息是IAR沒有像某些廠商那樣“換個(gè)平臺(tái)就重新設(shè)計(jì)一套UI”而是保留了Windows版那套熟悉的多窗口布局、快捷鍵映射、調(diào)試視圖邏輯。對(duì)于團(tuán)隊(duì)切換來說學(xué)習(xí)成本幾乎為零。這一點(diǎn)很聰明因?yàn)楣ぞ哝溸w移最大的隱性成本就是人的肌肉記憶界面重做等于二次學(xué)習(xí)。工程模型方面.ewp里的編譯器選項(xiàng)、預(yù)處理定義、頭文件路徑、優(yōu)化等級(jí)在Linux和Windows版本之間完全互通。但要注意一個(gè)細(xì)節(jié)工程里凡是寫死了絕對(duì)路徑的地方比如C:\Users\xxx\workspace\...到了Linux就全部失效。這屬于老工程的“歷史債務(wù)”遷移時(shí)要專門清一遍。2.3 對(duì)8051、STM8、STM32、GD32生態(tài)的實(shí)際意義從熱詞來看國內(nèi)IAR用戶群體里8051、STM8、STM32、GD32占了大頭。我要先潑一盆冷水目前Linux原生版主要覆蓋的是Arm架構(gòu)Cortex-M/A/R等和部分RISC-V系列8051這種老架構(gòu)的Linux版支持情況要看官方后續(xù)路線圖。如果你手上的量產(chǎn)項(xiàng)目還是IAR for 8051的老工程先別急著把構(gòu)建環(huán)境切到Linux否則會(huì)卡在“IDE都裝不上”的第一步。但對(duì)于STM32、GD32這類項(xiàng)目的用戶Linux版的意義非常實(shí)際你在Linux下依然可以通過Pack Manager獲取MCU廠商的設(shè)備支持包包括GD32的pack包、ST的芯片描述文件。熱詞里有人搜“怎么下gd32的pack包”Windows下的流程是打開Pack Manager搜索GD32、下載安裝Linux下的操作邏輯完全一樣只是底層下載的是跨平臺(tái)的數(shù)據(jù)包。離線環(huán)境下也能通過官網(wǎng)手動(dòng)下載pack文件再導(dǎo)入這一點(diǎn)稍后會(huì)細(xì)說。3. 在Linux上跑起IAR從下載到第一個(gè)工程3.1 下載、解壓與安裝的實(shí)際操作在Linux上安裝IAR整體流程跟Windows差別不大但有幾個(gè)Linux特有的細(xì)節(jié)要留意。下面這段是典型的安裝路徑具體文件名以你從官網(wǎng)下載的版本為準(zhǔn)我這里只是演示操作邏輯# 1. 下載Linux版安裝包格式通常是.tar.gz wget https://.../iar-ewarm-linux-x86_64-9.40.2.tar.gz # 2. 解壓到臨時(shí)目錄 tar -xzf iar-ewarm-linux-x86_64-9.40.2.tar.gz # 3. 進(jìn)入解壓出的目錄執(zhí)行安裝腳本 cd iar-ewarm-linux-x86_64-9.40.2 ./install.sh --install-dir /opt/iarsystems # 4. 安裝完成后把二進(jìn)制目錄加入PATH export PATH$PATH:/opt/iarsystems/bxarm/arm/bin:/opt/iarsystems/bxcommon/bin有幾個(gè)點(diǎn)必須強(qiáng)調(diào)。第一安裝目錄不要放中文路徑和帶空格的路徑否則后面某些第三方腳本會(huì)發(fā)瘋第二如果只是自己用可以裝到~/iar這種用戶目錄下不一定非要/opt第三裝完后如果要用USB調(diào)試器把當(dāng)前用戶加入plugdev和dialout組這一步很多人會(huì)漏掉導(dǎo)致后面J-Link連不上板子sudo usermod -aG plugdev,dialout $USER # 重新登錄一次生效3.2 許可證激活官方路徑只有一個(gè)許可證這塊我要說得直接一點(diǎn)。熱詞里頻繁出現(xiàn)“iar最新注冊(cè)機(jī)”“iar軟件秘鑰工具”我勸各位趁早打消這個(gè)念頭。IAR的許可證機(jī)制從舊版的并口加密狗一路演進(jìn)到現(xiàn)在的浮動(dòng)許可證、節(jié)點(diǎn)鎖定許可證任何一個(gè)非官方激活工具都存在極高的安全風(fēng)險(xiǎn)而且一旦被IAR服務(wù)器校驗(yàn)出非法授權(quán)整個(gè)開發(fā)環(huán)境都可能被鎖死更不用說項(xiàng)目法律風(fēng)險(xiǎn)了。正版激活在Linux下并不復(fù)雜。License Manager會(huì)有一個(gè)圖形界面你選擇“節(jié)點(diǎn)鎖定”或“通過網(wǎng)絡(luò)從許可證服務(wù)器獲取”輸入序列號(hào)或服務(wù)器地址即可。如果是內(nèi)網(wǎng)環(huán)境推薦使用IAR License Server在一臺(tái)固定機(jī)器上安裝許可服務(wù)其他Linux/Windows開發(fā)機(jī)通過網(wǎng)絡(luò)獲取授權(quán)。這種模式對(duì)團(tuán)隊(duì)協(xié)作來說也是最靈活的。3.3 從命令行創(chuàng)建一個(gè)可復(fù)現(xiàn)的構(gòu)建工程Linux下的日常開發(fā)不一定要打開IDE。很多CI場(chǎng)景只需要一個(gè)可重復(fù)執(zhí)行的命令行構(gòu)建過程。IAR提供命令行構(gòu)建工具iarbuild這是整個(gè)自動(dòng)化體系的基石# Debug配置構(gòu)建 /opt/iarsystems/bxarm/arm/bin/iarbuild myproject.ewp -build Debug -log info # Release配置構(gòu)建并輸出完整日志 /opt/iarsystems/bxarm/arm/bin/iarbuild myproject.ewp -build Release -log all這里的myproject.ewp就是IAR的工程文件。你可以用IDE創(chuàng)建好工程后提交到Git倉庫也可以在Linux端直接由CI任務(wù)從倉庫拉下來構(gòu)建整個(gè)過程中不需要任何圖形界面。很多老用戶搜索“iar如何生成庫文件”在Linux下也是同一個(gè)思路在IDE里創(chuàng)建一個(gè)靜態(tài)庫Library類型的工程然后在命令行用iarbuild構(gòu)建產(chǎn)物就是.a庫文件。這條路徑在Windows和Linux下完全等價(jià)非常適合統(tǒng)一團(tuán)隊(duì)的構(gòu)建腳本。4. Linux與Windows的差異這六個(gè)細(xì)節(jié)不搞清楚容易踩坑4.1 大小寫敏感性Linux對(duì)“馬虎”零容忍Windows文件系統(tǒng)不區(qū)分大小寫Include\和include\在Windows下能正常編譯到了Linux就是“文件不存在”。這不是IAR的問題是文件系統(tǒng)的基本哲學(xué)差異。遷移工程后第一個(gè)報(bào)錯(cuò)往往就是Fatal Error: Unable to open file main.h一查目錄里是Main.h。應(yīng)對(duì)辦法很土但有效遷移后先在Linux上跑一次完整構(gòu)建把所有“大小寫錯(cuò)誤”的include路徑一次性修完。頭文件引用建議全工程統(tǒng)一下要么全小寫、要么和文件名完全一致不要靠“Windows反正不區(qū)分”來偷懶。這個(gè)債遲早要還。4.2 路徑分隔符與盤符邏輯絕對(duì)路徑是毒藥Windows工程里常見的C:\workspace\project\Src這種絕對(duì)路徑到Linux全部失效。很多老工程之所以“換臺(tái)電腦就編不過”根源就在這。正確做法是把工程里的頭文件路徑、庫路徑全部改成相對(duì).ewp文件位置的相對(duì)路徑比如$PROJ_DIR$\Src這種IAR內(nèi)置變量而不是寫死C:\...。順便說一句.icf鏈接配置文件里如果寫死了路徑也要一并清理。鏈接腳本的路徑錯(cuò)誤不會(huì)在編譯階段暴露而是在鏈接階段突然報(bào)“找不到庫文件”排查起來更隱蔽。4.3 文件編碼與中文字符老工程的注釋亂碼問題國內(nèi)大量老工程的源碼是GB2312/GBK編碼Windows版IAR默認(rèn)按本地代碼頁解析顯示正常。Linux版默認(rèn)UTF-8遇到GBK編碼的中文注釋直接亂碼某些情況下還會(huì)導(dǎo)致字符串字面量解析異常。干凈利落的做法把源碼統(tǒng)一轉(zhuǎn)換為UTF-8可以用iconv批量轉(zhuǎn)同時(shí)把IDE的默認(rèn)編碼設(shè)置為UTF-8。如果因?yàn)槟承┰虿荒芨脑创a編碼也可以在IDE里調(diào)整文件編碼選項(xiàng)。但我的建議是盡早統(tǒng)一到UTF-8否則將來任何工具鏈升級(jí)都會(huì)踩這個(gè)坑。4.4 J-Link/ST-LINK的設(shè)備權(quán)限udev規(guī)則是趕不掉的坎Linux下連接調(diào)試器最大的坎不是驅(qū)動(dòng)而是權(quán)限。J-Link的USB Vendor ID是13660x1366ST-LINK是0483你可以用lsusb確認(rèn)設(shè)備是否被系統(tǒng)識(shí)別# 查看USB設(shè)備找SEGGER或ST-LINK相關(guān)條目 lsusb如果lsusb能看到設(shè)備但I(xiàn)DE里找不到調(diào)試器十有八九是udev規(guī)則沒配。創(chuàng)建一個(gè)規(guī)則文件比如/etc/udev/rules.d/99-jlink.rulesSUBSYSTEMusb, ATTR{idVendor}1366, MODE0666, GROUPplugdev然后重新加載sudo udevadm control --reload-rules sudo udevadm trigger配置完成后重新插拔調(diào)試器再打開IAR的調(diào)試會(huì)話基本就能識(shí)別了。很多“Linux下連不上J-Link”的帖子最后排查下來都是權(quán)限問題而不是驅(qū)動(dòng)問題。4.5 加密狗與舊許可證這一步繞不過去熱詞里有“加密狗驅(qū)動(dòng)安裝失敗怎么辦”這確實(shí)是老用戶的痛點(diǎn)。IAR歷史上用過并口加密狗、USB加密狗而這些設(shè)備的官方驅(qū)動(dòng)幾乎都是Windows專屬Linux下沒有任何可用驅(qū)動(dòng)。如果你還在依賴USB加密狗方式使用IAR坦白說Linux原生版對(duì)你不友好因?yàn)楣繁旧砭蜎]法識(shí)別。務(wù)實(shí)的過渡方案把許可方式遷移到IAR License Server浮動(dòng)許可證在局域網(wǎng)內(nèi)找一臺(tái)機(jī)器Windows或Linux都行跑許可證服務(wù)所有開發(fā)機(jī)通過網(wǎng)絡(luò)驗(yàn)證。這樣物理加密狗只存在于服務(wù)器那一臺(tái)機(jī)器上開發(fā)機(jī)不再需要本地驅(qū)動(dòng)既解決了Linux兼容性也解決了團(tuán)隊(duì)多人爭(zhēng)用許可證的問題。4.6 自動(dòng)更新與內(nèi)網(wǎng)構(gòu)建機(jī)的“版本漂移”Windows版IAR有個(gè)自動(dòng)更新服務(wù)團(tuán)隊(duì)里每個(gè)人IDE版本不同編譯行為可能不同。Linux版在自動(dòng)化任務(wù)里更可控因?yàn)镃I構(gòu)建機(jī)的環(huán)境通常是固定鏡像不會(huì)有人手動(dòng)點(diǎn)“更新”。但前提是你要刻意管理版本把IAR安裝在標(biāo)準(zhǔn)路徑記錄版本號(hào)在CI里顯式校驗(yàn)/opt/iarsystems/bxarm/arm/bin/iccarm --version這條命令的輸出要作為構(gòu)建日志的一部分保存下來否則幾個(gè)月后出現(xiàn)“同樣的代碼輸出hex不一樣”的問題你連工具鏈版本差異都說不清楚。我自己就把版本號(hào)打在固件構(gòu)建信息里方便回溯。5. 許可證與自動(dòng)化構(gòu)建解鎖CI/CD的正確姿勢(shì)5.1 搭建IAR License Server固定節(jié)點(diǎn)是第一原則如果你打算把IAR從“桌面工具”升級(jí)為“持續(xù)集成流水線的一環(huán)”許可證服務(wù)器是繞不開的。不推薦讓每臺(tái)CI構(gòu)建機(jī)都做節(jié)點(diǎn)鎖定激活那樣擴(kuò)容機(jī)器、替換節(jié)點(diǎn)時(shí)非常痛苦。更合理的方式是跑一個(gè)集中式License Server。裝好之后開發(fā)機(jī)和CI機(jī)通過環(huán)境變量指定服務(wù)器地址export IAR_LMSERVER_ADDRESS192.168.1.100:1234這里的端口號(hào)以你的License Server實(shí)際配置為準(zhǔn)。注意License Server本身最好綁定固定IP或MAC地址不要用DHCP動(dòng)態(tài)分配的IP否則哪天地址變了全線構(gòu)建全部拿不到許可。5.2 把IAR構(gòu)建接入GitLab CI一個(gè)可落地的Job示例以GitLab CI為例一個(gè)最簡單的固件構(gòu)建Job可以這樣寫build-firmware: stage: build tags: - iar-linux script: - export IAR_LMSERVER_ADDRESS192.168.1.100:1234 - /opt/iarsystems/bxarm/arm/bin/iarbuild firmware.ewp -build Release -log all artifacts: paths: - Release/ expire_in: 1 week這比跑Windows runner省心得多。沒有圖形界面依賴、沒有殺毒軟件干擾、構(gòu)建鏡像可以隨時(shí)銷毀重建固件出包變成一個(gè)標(biāo)準(zhǔn)CI Job任何人都能觸發(fā)。如果你不想“裸奔”在共享構(gòu)建機(jī)上跑IAR也可以自己封裝一個(gè)Docker鏡像把IAR裝進(jìn)鏡像用IAR_LMSERVER_ADDRESS環(huán)境變量在容器啟動(dòng)時(shí)傳入。注意IAR的許可證服務(wù)基于網(wǎng)絡(luò)校驗(yàn)容器內(nèi)不需要額外特權(quán)普通用戶即可構(gòu)建這在安全上要簡單很多。5.3 用腳本封裝“一鍵出包”跨平臺(tái)復(fù)用是核心我更推薦的做法是不要直接在所有地方裸調(diào)iarbuild而是寫一個(gè)薄薄的構(gòu)建腳本統(tǒng)一封裝clean、build、歸檔步驟。這樣Windows和Linux團(tuán)隊(duì)執(zhí)行的是同一套邏輯只是底層工具路徑不同。下面是一個(gè)簡化的Python示例邏輯很清楚#!/usr/bin/env python3 import os, subprocess, sys IARBUILD os.environ.get(IARBUILD, /opt/iarsystems/bxarm/arm/bin/iarbuild) CONFIGS [Debug, Release] def build(proj: str, cfg: str) - int: result subprocess.run([IARBUILD, proj, -build, cfg, -log, all], cwdos.path.dirname(os.path.abspath(proj))) return result.returncode if __name__ __main__: for config in CONFIGS: rc build(sys.argv[1], config) if rc ! 0: raise SystemExit(f[FAIL] {config} build failed with {rc}) print([OK] all builds done)實(shí)際落地時(shí)還可以加上版本號(hào)注入、構(gòu)建時(shí)間戳、產(chǎn)物校驗(yàn)和等。用腳本而不是直接命令的收益是新同事入職不需要知道“IAR命令行的參數(shù)順序”只要跑一個(gè)python3 build.py firmware.ewp就行。6. 老工程遷移與新工程建設(shè)兼容性實(shí)測(cè)6.1 工程文件本質(zhì)是XML遷移比想象中順暢IAR的.ewp、.eww、.icf文件都是XML格式這意味著它們天然具備跨平臺(tái)可移植性。你在Windows上創(chuàng)建的老工程復(fù)制到Linux后絕大多數(shù)是能被直接識(shí)別的。我自己實(shí)測(cè)過幾個(gè)工程打開后工程樹、編譯選項(xiàng)、調(diào)試配置都還在不需要手動(dòng)重建工程。但請(qǐng)注意“能識(shí)別”不等于“能直接編譯”。中間產(chǎn)物如Debug/、Release/目錄下的.o、.out文件是平臺(tái)相關(guān)的遷移后必須全清掉讓Linux版重新編譯。千萬不要把Windows的編譯產(chǎn)物提交進(jìn)Git倉庫那只會(huì)給遷移制造麻煩。6.2 兩個(gè)真實(shí)遷移場(chǎng)景場(chǎng)景ASTM32F103老工程有一個(gè)跑FreeRTOS的STM32F103工程Windows版IAR 9.x創(chuàng)建源碼是GBK編碼。遷移到Linux后遇到兩個(gè)問題一個(gè)是include路徑里有D:\workspace\...的絕對(duì)路徑編譯直接失敗另一個(gè)是中文注釋亂碼但沒有影響編譯。修復(fù)路徑后清理中間產(chǎn)物重新構(gòu)建一次通過。固件輸出的hex和Windows下構(gòu)建的hex文件做SHA256對(duì)比完全一致說明工具鏈行為等價(jià)。場(chǎng)景BGD32E230工程GD32的pack包在Linux版的Pack Manager里同樣能搜到下載機(jī)制和Windows沒有大區(qū)別。如果遇到國內(nèi)網(wǎng)絡(luò)下載pack失敗我建議到官網(wǎng)下載離線pack包再用手動(dòng)導(dǎo)入方式裝進(jìn)IAR不要反復(fù)在IDE里點(diǎn)重試既慢且不穩(wěn)定。6.3 遷移之前先做這三件事結(jié)合踩過的坑給準(zhǔn)備遷移的團(tuán)隊(duì)三個(gè)建議在Windows版里完整構(gòu)建一次保存所有輸出。包括編譯報(bào)警、鏈接映射文件、最終hex/bin。遷移后的構(gòu)建結(jié)果要和基線對(duì)比尤其是二進(jìn)制哈希。刪除所有中間產(chǎn)物。Debug/、Release/、obj/、lst/這些目錄里的舊文件全是定時(shí)炸彈別保留。鎖定工具鏈版本。記錄IAR版本、CMSIS包版本、設(shè)備pack版本遷移前后必須一致否則編譯器行為差異會(huì)干擾排查。如果遷移后二進(jìn)制輸出不一致先不要懷疑代碼大概率是工具鏈版本或編譯選項(xiàng)不一致。用diff對(duì)比兩個(gè)hex/bin文件再回到Windows下核對(duì)版本絕大多數(shù)問題都能定位。7. 已知問題與排查經(jīng)驗(yàn)7.1 菜單欄突然消失IAR用戶的經(jīng)典玄學(xué)熱詞里出現(xiàn)“iar 8.11.3 菜單欄消失”這不是Linux版獨(dú)有Windows版也會(huì)遇到。菜單欄消失一般是IDE的工作區(qū)布局緩存損壞和具體工程文件無關(guān)。處理辦法是關(guān)閉IDE刪除工作區(qū)緩存目錄不是工程源碼目錄重新打開IDE基本就能恢復(fù)。在Linux下的路徑通常是~/.config/IARSystems/...或類似位置Windows下是%APPDATA%\IARSystems\...刪除前先備份。這個(gè)方法我試過很多次比重裝IDE省事多了。7.2 構(gòu)建時(shí)“Unable to open file”不要盲目重試Linux下構(gòu)建報(bào)Unable to open file最常見三個(gè)原因路徑不存在、大小寫不匹配、權(quán)限不足。不要一條命令反復(fù)重試先確認(rèn)文件到底在不在。# 查看文件是否存在注意大小寫 ls -l Src/main.c # 在工程里搜索include路徑 grep -in main.h myproject.ewp定位到具體是路徑問題還是大小寫問題再針對(duì)性修。盲目重試一百次也解決不了本質(zhì)原因。7.3 Pack下載失敗離線導(dǎo)入是最穩(wěn)的路國內(nèi)網(wǎng)絡(luò)環(huán)境下IAR的Pack Manager偶爾會(huì)下載超時(shí)尤其大尺寸的設(shè)備pack。如果你是內(nèi)網(wǎng)用戶直接在IDE里反復(fù)重試往往是徒勞的。更可控的流程是在一臺(tái)能正常訪問外網(wǎng)的機(jī)器上從官網(wǎng)下載對(duì)應(yīng)pack文件通過內(nèi)網(wǎng)共享或U盤把pack文件傳到離線機(jī)器在IAR的Pack Manager里選擇“從本地文件導(dǎo)入”或手動(dòng)解壓到pack目錄。這個(gè)流程和Windows下完全一樣只是要注意pack目錄的權(quán)限如果你把IAR裝在/opt下導(dǎo)入pack文件時(shí)可能遇到權(quán)限拒絕把pack目錄的所有者改成你的用戶或者用sudo完成導(dǎo)入后再還原權(quán)限。7.4 實(shí)在走不動(dòng)時(shí)老工程的過渡方案如果你的團(tuán)隊(duì)還在維護(hù)8051老產(chǎn)品而Linux版暫時(shí)沒覆蓋8051我建議短期內(nèi)不要硬遷。更務(wù)實(shí)的過渡方案是維持一臺(tái)Windows構(gòu)建機(jī)或Windows虛擬機(jī)繼續(xù)用老版本IAR產(chǎn)出固件同時(shí)把新產(chǎn)品的構(gòu)建流水線搭建在Linux側(cè)。等官方支持范圍擴(kuò)大再逐個(gè)產(chǎn)品線切換。另外即便Linux版IDE用不了某個(gè)老架構(gòu)你依然可以考慮“只遷移構(gòu)建不遷移開發(fā)”——讓老產(chǎn)品的源碼繼續(xù)在Windows下被人維護(hù)構(gòu)建觸發(fā)還是由CI調(diào)度Windows runner。方式笨一點(diǎn)但不會(huì)阻塞現(xiàn)有業(yè)務(wù)。8. 我的整體評(píng)價(jià)誰該升級(jí)誰可以繼續(xù)觀望8.1 建議盡快上手的三類團(tuán)隊(duì)第一類是正在自建CI/CD流水線的固件團(tuán)隊(duì)。把IAR構(gòu)建搬上Linux runner之后整個(gè)固件出包過程才算真正獲得了和互聯(lián)網(wǎng)后端一樣的自動(dòng)化水平代碼合并即構(gòu)建、構(gòu)建失敗即告警、產(chǎn)物自動(dòng)歸檔。第二類是重度依賴云主機(jī)或遠(yuǎn)程開發(fā)環(huán)境的團(tuán)隊(duì)。不管是SSH遠(yuǎn)程開發(fā)還是云桌面Linux原生版讓IAR不再被“必須有Windows桌面”綁架。第三類是希望統(tǒng)一開發(fā)和CI工具鏈版本的團(tuán)隊(duì)。以前開發(fā)用Windows最新版、CI用Windows老版本的情形很常見遷移到Linux后大家可以基于同一套工程文件和同一套構(gòu)建腳本工作版本漂移問題大幅減少。8.2 可以再等等的兩種場(chǎng)景一種是8051老產(chǎn)品線架構(gòu)支持尚未明確不要拿量產(chǎn)項(xiàng)目賭未來。另一種是重度依賴Windows專屬插件、第三方腳本的團(tuán)隊(duì)如果這些外部依賴還沒找到Linux替代品強(qiáng)行切換只會(huì)給自己添亂。最好的做法是先讓一個(gè)非核心產(chǎn)品線試點(diǎn)跑通把問題暴露在可控范圍內(nèi)。8.3 遷移成本最大的不是工具是習(xí)慣最后說一點(diǎn)個(gè)人體會(huì)。工具鏈從Windows遷移到Linux最大的阻力通常不是技術(shù)而是團(tuán)隊(duì)的慣性——習(xí)慣在IDE里點(diǎn)按鈕的人突然要面對(duì)命令行構(gòu)建習(xí)慣\路徑的人突然要接受/路徑。但一旦你把構(gòu)建腳本、許可服務(wù)器、CI流水線搭好會(huì)明顯感覺到研發(fā)流程的吞吐量上了一個(gè)臺(tái)階。我在實(shí)際操作中養(yǎng)成了一個(gè)習(xí)慣Windows版和Linux版的IAR都保留切換平臺(tái)后每次升級(jí)工具鏈都讓CI把新舊版本構(gòu)建出的固件做一次二進(jìn)制哈希對(duì)比。只有哈希完全一致我才認(rèn)為這次升級(jí)是安全的。這個(gè)檢查成本極低但能省去無數(shù)“為什么固件行為變了”的深夜排查。如果你也在規(guī)劃跨平臺(tái)遷移不妨從這個(gè)小動(dòng)作開始。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
在线免费观看激情视频| 6月丁香婷婷激情| 欧美日本黄色| 开心五月深爱五月丁香五月激情五月 | 成人五月天在线视频在线观看| 伊人婷婷99热精品| 久操97| 婷婷五月天最新综合你懂的| 丁香五月电影院在线观看| 99免费热视频在线| 日韩国产AV播放| 五月丁香六月色| caobi四区| www.丁香黄色五月天人与| 六月婷婷视频| 永久精品| 五月天激情婷婷丁香| 99超级碰碰| 精品久久久中文字幕大豆网推荐理由| 激情五月久久| 久久9久| 婷婷五月激情欧美大胆视频| 色噜噜狠狠色综合AV兰草影视| 久久99免费视频| 99精品无码| 九九热在线精品视频| 亚洲 在线 性爱| 亚洲精品成人| 亚洲V国产V欧美V久久久久久| 黄色笑话深爱激情网丁香五月婷婷啪啪啪啪啪 | 久综合| 五月婷婷精品无在线| 婷婷激情小说网| 午夜天堂一区人妻| 亚洲精品V天堂中文字幕| 操逼三区| 色婷婷操逼| 五月丁香花伦理电影| 色9999日韩国产| 久久婷婷亚洲无码一起| 99热在线爱| 爆乳熟妇一区二区三区四区| 久久久久久丁香五月| 婷婷激情五月天网站| 99热亚洲精品| 婷婷九九| 欧日美女Va| 亚洲成人高清在线| 丁香婷婷九月| 99ri视频| 色综合久久五月| 99在线视频色版| 91久久久久久久久久| 99精品国产在热久久| 婷婷久久综合| 久99热| 婷婷成人综合| 99热综合| 欧美日本免费一道免费视频| 91热久88| 狠爱婷色| 91偷拍视频| 日本久久99久久| 五月天色不卡| 中文AV网| 婷婷五月天成人网| 五月天久久色| 日本va欧美va精品发布视频| 激情图片99| 久久婷婷五月综合色丁香| 大香蕉 婷婷| 日韩艹比| 啪啪六月婷婷| 亚洲色情免费网| 亚洲第一色色色| 狠狠色色| 夜夜嗨一区二区三区直播内容| 八戒青柠影视剧在线观看| 国产午夜精品AV一区二区麻豆| 欧美顶级少妇做爰HD| 碰97 久| 狠狠五月婷婷| 99久操| 色色色99| 《诡秘之主》在线观看| 五月天婷婷五月| 五月丁香激情六月| 五月停停色色丁香| 亚洲爆乳无码精品AAA片蜜桃| 日日躁夜夜躁狠狠久久AV| 2018夜夜草| 欧美一级毛卡片无码| 9热久久| www.9797国产| 丁香五月婷婷少妇| 久久九九免费视频| 色五月综合| 久久涩视频| 五月丁香综合影院| 无码中文一区二区三区| 这里有精品| 丁香激情五月| 欧美日韩国产日本精品四虎网网站物| 丁香丁香激情网| 日韩综合大黄| 日日夜夜天天综合| 亚洲天堂九九九| 久婷婷| 日日天天操| 婷婷开心五月| 六月婷色六月| 综合久| 久草热8精品视频在线观看| 午夜微拍福利| 日韩免费乱轮网站| 激情六月天婷婷| www.91.com黄| 久久99草五月婷婷| se色99| 五月天色婷婷网| 九九99免费理论| 五月激情综合网| 超碰97色| 26UUU精品一区二区Com| 最近中文字幕大全免费版在线| AV六月丁香| 97精品综合久久| 开心综合激情综合| 激情综合五月| 99视频内射三四| 五月天黄色激情小说| 92久久| 一级黄色片看看| 97久久久久| 俺也高清无码高清视频| 三人荫蒂添的好舒服A片| www:99热视频| 五月婷导航| 99成人在线观看| 亚洲另类av| 久久老码第一| 另类视频在线| 美欧日韩国产成人在战| 婷婷五月天激情诱惑| 色色色热| 激情综合五月| 午夜成人AV在线| 一本到不卡高清DVD| 9九热视频| 丁香五月天婷婷激情| 五月天激情婷婷| 538任你爽视频不一样的| 欧美综合丁香网| 伊人激情啪啪| 天堂成人久久| caop在线| 色婷婷丁香综合中文字幕| 五月天激情婷婷小说| 日韩999| 天天久久人人| 日韩aaaaa| 久久久久网站| 99这里有精品视频| 五月婷婷色情| 婷婷99狠狠| 超碰cap| 久久五月丁香婷婷| 99热九九热| 天天干天天干天天干| 99毛片| 天天五月天综合网址| 91妻人人爽人人看片| 玖月婷婷爱丁香| 久操大香蕉| 综合网啪啪| 九九無妻| 99碰网站| 天天插天天插天天插天天插 | www.91操| 色综合色综合网| 91人人操人人看| 亚洲激情五月天| 久久婷婷五月综合色天| 激情综合五月天| 日91高清无玛| 91综合在线| 久久五月天婷婷| 久久99婷婷| 九九这里是免费的视频5| 色色亚洲| 六月色婷婷色| 国产FREESEXVIDEOS性中国| 免費亭亭成人| 婷色综合| 九九热大香蕉| 99er免费在线观看| 九九99精品视品| 天天摸人人摸| 日日干天天射| 青青草视频免费观看| 日本ww亚洲| 超碰在线观看三级片| www激情网| 日韩AC在线免费观看| 色丁香影院| 色婷婷四色| 综合一区二区三区| 婷婷五月 丁香六月| 午夜成人片400| 亚洲99视频| 婷婷综合久久综合| 99热精品在线| 婷婷射图五月天| 一本大道伊人AV久久综合| 去干网最新版本亚洲版| 国内久久亭亭| 被男人添B超爽视频| 九九视频精品在线免费| 婷婷五月综合啪| 九九色影视| 五月婷婷偷| 五月丁香婷婷欧美色图视频五月丁香777电影 | 久久思思热| 丁香五月婷婷呀| 182无码| 激情九九六月激情免费视频| 玖玖在线资源视频| 在线伦子99热| 乱岳熟女50岁| 另类小说五月天| 日韩无码专区| 婷婷五月另类网站| 99精品视频免费观看| 婷婷天天综合| 五月婷亚洲精品AV天堂| 老司机视频lsj爱就色| 久久狠狠干| 另类综合激情| 永久免费视频| 狠狠色婷| 国产精品涩涩涩视频网站| 玖玖热视频| 91操人| 亚洲va久久久噜噜噜久久天堂| 91青娱乐青青草| 情五月亚洲婷婷| 欧美日韩国产日本精品四虎网网站物 | 天天操夜夜操| 丁香五月a| 99碰超| 亚洲av电影网站| 婷婷在线视频| 色婷婷精品视频| 六月亚洲| 大香蕉久久伊人婷婷五月丁香| 亚洲成人丁香花| 婷婷金品综合视频| 婷婷五月六| caobi四区| 91九色小视频| 国产精品成人网站| 丁香五月-激情综合| 色激情五月| 四色99久久| 69堂午夜视频最新地址| 人人操99| 色综合久久综合中文综合网| 丁香五月天激情四射网| 31色区视频免费看| 色婷五月丁香久亚洲| 色v综合网| 丁香五月色激情| 五月丁香色综合| 久久久91| 婷婷丁香九月| 六月丁香婷婷综合狠狠爱夜夜爱| www.henhengan| 久久丁香五月综合六月激情红杏视频 | 色欲一二三| 久久婷五月综合色| www,欧美干干干干干干| 天堂爱爱| 天天日日天天| 婷婷色导航| 碰碰碰91| 人操人| 97在线观看| 五月激情六月丁香| 天天干天天干天天干天天干天天干| 色五月综合在线| 综合五月激情| 九九色视频| 激情网站综合五月天| 婷婷综合| 国产色丁香| 99久热在线精品| 日韩av在线电影| 丁香五月天狠狠操| yellow视频在线观看91| 99热日本| 精品视频99看在线视频| 丁香久色| 性色99| 日本激情五月| 欧美婷婷精品激情| 欧美乱码国产一级A片| 五月婷婷激情综合网 | 丁香五月最新地址| 66精品国产成人| 五月色婷| 开心亚洲久久开心| 热99只有里视频| 99爱无码| 七七色色综合| 狠狠干天天日| 影音先锋美国A| 伊久大香蕉| 亚洲美女裸体被操在线观看| 婷婷中文字暮| 变态另类9| 夜夜夜天天操| 人人看人人草人人摸| 色色综合视频| 综合伊人久久| 婷婷色综合| 超碰亚洲欧美| 国产操肏网站| 婷婷五月天激情文学小说| 蜜臀av无码久久久久久久久 | 九九丁香社区欧美激情| 人人叉久| 永久的网站AAAA | 91九色无码日韩| AV操操操| 操逼视频网址| 婷婷视频网| 久久9精品视频| 日日爱678| 人人操A| 激情VA视频| 在线中文亚洲| 国产真实乱了老女人视频| 五月婷婷亚洲天堂97色婷婷| 九九热99视频在线| 最新精品视频99| 久久久五月激| 亚洲AV人人操| 亚洲无码影音| 色噜噜婷婷| 精品99爱免费视频在线观看| 先锋资源91| 婷婷伊人| 超碰2021| 26uuu淫色| 996日日爱| 色播婷婷大香蕉| 嫩草AV久久伊人妇女超级A| 日噜噜色| 五月丁香六月欧美综合| 激情五月色婷婷| 丁香五月激情综合| 大香线蕉伊人| 亚洲五月情| 网色99| 激情 久久 婷婷| 精品人人操| 九九久久99| 国产婷婷综合在线免费视频| 91色呦哟| 思思网站| 久热伊人| 97日在线视频| 久久A V无码视频| 99在线精品观看99| 五月婷婷,狠狠操| 五月香蕉婷婷| 色婷婷五月天在线观看| 69天堂99| 五月色婷婷综合丁香精品无遮挡| 91色婷婷综合久久中文字幕二区| 91日综合欧美| 婷婷色网站| 激情深爱五月天| 九九九九九九综合| 天堂草在线看www| 精品久久99| 日韩AV一区二区三区| 亚洲五月六丁香激情| 热五月婷婷| 色婷婷亚洲综合av| 激情五月亚洲| 91se视频| WWW.桔色成人.COM入口| 亚洲综合五月天| 97碰碰在线观看视频| 精品三区影院| 丁香五月天堂婷婷| 婷婷五月综合在线视频| 国产真人做爰视频免费| 天天拍夜夜撸| 91九色精品熟女内射| 啪啪激情综合| 99ri在线观看视频| 丁香婷婷五月天激情四射| 婷婷丁香18| 国产在线网址1| 久久机热这里只有| 天天色综网| 欧美日韓成人亚洲精品另类| 思思热在线| 影音先锋女人av鲁色资源网小说免费| 婷婷激情综合| 久热2025无码| 俺去也五月| 六月婷婷狠狠| 字幕网AV中文字幕| 久99热| 亚洲宗合激情| 日日操天天| 综合色五月亭亭| 色婷婷五月天天天做| 丁香五月色| 五月天婷婷日日爱| 精品亚洲国产成AV人片传媒| 婷婷狠狠五月综合| 欧美一级a| 热成人网| 九九热狼人| 综合图区激情| 日本毛片内射| 天天肏夜夜肏| 久久欧洲久久| 中文字幕乱码亚洲精品一区| 色综合综合网| 91在线日本| 色欲影香| 9.1综合网| 专区无日本视频高清8| 亚洲九九免费| 99久操视频| 婷婷五月综合婷婷| 婷婷五月天桃花网| 99在线观看精品视频| 在线不卡中文字幕| 播播网色播播| 欧美日本一区二区三区| 99在线视频女女视频| 色欲久久久久久综合网综合网| 久久久久久久久99精品| 激情五月婷| 黄色99网| 东北黄色一级| 久久99热这里只频精品6学生| 婷婷五月天av| 五月婷婷欧美激情| 丁香五月www| 激情五月天啪啪| 亚洲1区| 欧美韩国日本| 另类激情中文| 9九热视频| 国产XXXX搡XXXXX搡麻豆| 这里只有精品免费视频在线观看 | 99热线观看9| 狠狠干婷婷| 五月色婷婷影视在线电影| 婷色影院| 婷婷五月亚洲综合| 五月婷婷m| 97超碰欧美中文字幕| 五月天综合| 99爱视频精品| 婷婷丁香综合色AV| 91超级碰碰碰| 人人摸人人| 开心六月丁香五月婷婷| 人碰91| 久超超碰| A网在线欧洲| 五月天激情四射网站| 亚洲综合九九| 亚洲操B| 色色色在线播放| 97操男人的天堂| 色色网站| 四月婷婷五月丁香| 欧美综合激情五月| 五月婷视频久久| 婷婷丁香精品视频在线观看| 五月天综合在线| 五月婷婷丁香社区| 色婷婷成人在线| 五月天婷婷社区久久综合| 人妻AV在线| 日日日天天干| 毛片网站谁有| 99狠狠操一| 精品香蕉99久久久久网站| 欧美五月婷婷| 婷婷九月丁香| 66精品成人免费网站在线观看| 丁香九月婷婷| 久久婷婷桃花五月天| 99热97| 丁香五月激情五月| 91久女| 五月丁香六月婷综合成人综合| 99看片| 就爱操www com| 国产精品久久久久久白浆色欲| 丁香婷婷综合影院| 91无码色色| 久草热在线视频| 99色中文| h亚洲| 五月天色婷婷网| 五月天激情在线视频| 五月婷婷色情| 九九热10| av激情在线| 色婷婷影视99| 不卡成人免费| 在线免费视频caop| 亚洲12p| 五月婷久久| 91丨九色丨国产打屁股| 色热久| 五月丁香激情综合啪啪| 丁香五月综合网亚洲综合欧美狠狠| 久久亚洲婷婷综合色五月| 91大神操美女| 97久久人人| 青996青| 97狠狠碰| 超碰AV成人| 亚洲国产成人AV在线| 五月丁香亭亭电影久久| 亚洲日韩操B| 极品人妻VIDEOSSS人妻| 黑人巨粗进入警花疼哭A片| 婷婷丁香成人| 香蕉综合网| 婷婷久久五月天| 婷婷五月天开心网| 五月婷婷av| 欧美内射AA| 亚洲永久四色| 五月婷婷之综合激情| 色婷婷基地| 久草五月| 欧美激情五月天| 99激情| 国产毛片欧美毛片久久久| 免费看欧美成人A片无码| 99色色网| 色婷婷很很丝袜| 懂色av粉嫩AV蜜臀AV| 影音先锋男人av资源站| 人人叉久| 五月婷婷激情日本| 久久9精品| 色五月天电影| 亚洲V国产V欧美V久久久久久| 无码AV久久久久久久久| 亚洲AV成人一区二区在线观看| 久久久久久久久久久jjjj| 九一九九黄色| 玖玖在线| 亚洲视频在线观看99| 五月婷婷五月天天| 久草五月天| 丁香激情五月| 大香蕉五月天婷婷| 黄色片avv| 五月丁香视频色色| 99久久婷婷国产综合| 天堂婷婷五月在线| 天天干天天爽天天爽| 六月婷婷开心| 日日夜夜婷婷| 成人五月丁香花| 亚洲精品成人片在线播| 天搞天天天天天| 欧美成人网婷婷综合在线| 色深爱五月| www.91操| 天天干天天爽| 久久精品女人天堂AAA| 91丨九色丨熟女|新版| 综合综合色色| 丁香六月久久| www.色婷婷| 亚洲无码猫咪| 五月丁香久人妻中文| 五月丁香久久丝袜啪啪| 爆乳熟妇一区二区三区爆乳| 风流少妇A片一区二区蜜桃| 狠狠综合久久综合| 五月天婷婷一起草| 婷婷五月丁香五月综合网| 淫视馆aV二区一区| 99热黄| 国产精品电影| 五月天激情亚洲| 思思热精品在线视频| 狠狠婷婷色综合| 天堂色婷婷| 99视频这里只有久久精品| 久久九九@| 双性美人被调教到喷水A片| 婷婷综合影院| 亚洲五月情| 久/久精品99看9| 秋霞九九无码| 婷久看人爽| 激情久久久久久久久| 国产毛片精品一区二区色欲黄A片| 97干在线看| 五月的婷婷六月丁香| 五月丁香六月成人| 婷婷桃色网| 综合欧美五月婷婷| 五月丁香激| av在线免费播放观看| 91狠狠色丁香婷婷综合久久| 五月天婷婷无码| 亚洲精品字幕在线观看| www色色com| 91干在线视频| 五月婷六月丁| 狠狠干,狠狠操| 六月丁香婷婷综合狠狠爱夜夜爱| 精品色色色| 人人操av| 色色激情五月天| 深爱激情丁香| 超级碰 久久9| 天天干天天干天天干天天干天天| 丁香六月婷婷综合| 97人妻碰碰中文无码久热丝袜| 久久这里只有精品视频26| 久草热在线视频| 婷婷丁香九月| 99人妻碰碰碰久久久久视| 五月丁香亚州综合网| 五月天亚洲最大成人| 91狠狠综合久久久| 大香伊人婷婷| 国产午夜一区二区三区| 好叼操在线观看| 深爱激情四射| 激情伊人六| 成人片久久网站| 人人操99| 1024手机在线观看看片_日韩精品| 夜夜爽天天爽| 婷婷伊人视婷婷婷| 婷婷五月在线播放| 玖玖玖婷婷婷| 99爱这里只有精品免费视频| 超级碰碰碰久久网站视频| 五月丁香婷婷啪啪综合网| 青青草视频免费观看| 天堂爱爱| 亚洲天堂色色| 激情五月综合视频| 狠狠综合| 欧美综合激情五月丁香| 午夜69成人做爰视频| 九热在线这里有精品6| 丁香五月天激情综合| 婷婷色网| 婷婷色网| 69er小视频| 五月丁香色停停啪啪啪| www.色擼擼.com| 亚洲av另类在线观看| 这里只有精品免费视频在线观看| 色婷婷aV四虎| 五月激情小说| 久久停停超碰| 色色丁香| 亚洲五月天天| 好叼操在线观看| 人人爱国产| 大香蕉伊在| 人人干99| 欧洲永久精品| www,婷婷,com| 五月激情综合美女久久| 亚洲精品视频电影| 可以直接看的AV| 激情深爱综合| 亚洲爆乳无码精品AAA片蜜桃| 五月丁香婷婷激情在线| 日本A片一区| 成人免费在线电影| 91丨九色丨熟女丰满| 五月丁香六月激情综合| 99热热热国产超碰| 激情五月久久| 欧美婷婷五月| 9久国产精品| 天天爽天天爽| 综合五月天天天天天五月| 五月天婷婷丁香人人操91| 性生活视频98791| 狠狠色婷婷在线| 春色激情| www.色9| 另类色网| 婷婷五月六月丁香| 五月天com| 久久在线人妻| www.99热在线观看| 亚洲亚洲人成综合网络| 色色色热| 99高级会所久久| 夜夜AVV| 婷婷五月色天| 五月激情婷婷女| 天天操B| 亚洲色就是色色色| 婷婷涩涩五月天| 99这里只有精品视频在线| 青青操日本摸摸看看| 亚洲精品亚洲人成人网| 五月婷婷丁香色播网| 黑人无码一区| 中文字幕成人网站| 色综合激情| 五月天激情子轮| 五月丁香六月婷综合成人综合 | 97婷婷五月天| 丁香婷婷精品视频| 五月婷婷六月丁香首页| 免费观看全黄做爰的视频| 亚洲人成色A777777在线观看| 久久五月天合网| 操久久精| 99天堂在线观看免费视频| 大香蕉婷婷五月天| 婷婷伊人网| 97激情五月天| 操99| 69综合在线| 九九九九精品精| 天天爱综合网| 俺去也在线www色官网| 九九精品网站| 九九人人自拍| 97色射| 色综合久| 色吧五月婷婷| 亚洲色图五月丁香| 日韩AV大全| 天天综合色综合| 九九热这里只有精品23| 99综合自拍| 99久久精品免费精品国产_国产精品久久久久久_国产在线|日韩_久久国产精品电影 | 综合网激情五月天| 五月激情综合网| 五月丁香中文婷婷中文| 熟女强人妻一区二区三区四区无| 99热最新网址| 色五月六月| 14色综合婷婷| 久久久久久人妻| 色色综合色| 五月丁香亚洲综合网| 丁香九月综合| 射琪琪| 婷婷干六月综合旧址| 色色五月婷婷狠狠| 中文字幕网伦射乱中文| 五月婷婷六月激情| 爱射综合| 国产一级片| 99精品热| 久久这里有精品| 大香蕉520| 青草五月天| 激情色情五月天| 五月丁香怕怕综合| 激情五月天综合网站网站网站| 91精品久久久久久| 久久婷婷影院| 色婷婷电影网| 狠狠做五月| 67194国产| 婷婷五月色播网| 天天日天天舔天天摸| 狠狠爱综合| 91久久久久久久久久久| 9999久久久久| 丁香蜜臀黄色婷婷五月天| 激情五月天久久丁香| 亚洲综合在线视频| 欧美成人无码高清一区二区三区| 人人玩人人橾| 开心五月丁香综合久久| 欧洲激情五月天| 99热这里只是精品| 婷婷五月天激情综合深爱激情| 婷婷五月天美女视频| 精品色色色| 五月天综合视频| 99成人| 99在线热| 国产精品电影| 亚洲精品无码99热| 丁香花五月天婷婷成人社区| 色婷婷AV久久| 欧美色色色色色色| 五月婷婷综合激情网| 99综合视频在线| 亚洲婷婷开心五月| 亚州性爱99| 六月丁香婷婷综合在线| 丁香五月天在线| 五月丁香六月婷| 六月丁香五月天| 色色色色热| 国产视频色色色色色色色 | 五月天婷婷在线播放| 色99色| 亚洲va久久久噜噜噜久久天堂| 久久网址99热| www婷婷| 婷婷色香六月综合激情| 婷婷五月花西瓜| 亚洲性爱电影| 六月天婷婷| 人妻有码乱操| 久久99久久99精品免观看粉| 婷婷月五天在线在线看| 天天操天天谢| 五月花婷婷| 婷婷丁香五月综合| 狠狠狠狠狠狠草| 外国碰视频网站97| 婷婷五月天深爱| 亚洲综合五月| 狠狠干狠狠色| 丁香六月欧美| 丁香丁婷五月激情| 久久色五月天综合网| 91婷色| 江苏少妇性BBB搡BBB爽爽爽| 色玖玖综合| 婷婷激情五月天激情在线| 日日舔夜夜操| 日日操天天操| 亚洲成人av在线观看| 99久久久久| 五月丁香六月激情网| 五月婷婷婷丁香播| 亚洲无AV在线中文字幕| 欧美啪啪9| 亚洲五月天狠狠| 无码人妻电影| 色噜噜狠狠狠狠色综合久欧美| 久久女人九九| 26uuu淫色| 天天日夜夜| 91妻人人爽人人看片| 久久久99视频| 婷婷五月色亚洲| 色色射| 日韩成人电泉AV| 5月婷婷综合| 五月天色综合| 久久五月婷综合| 丁香五月激情六月欧亚激情综合导航| 九九精品视频在线观看| 丁香六月婷婷久久综合| 丁乡久久| 五月婷婷福利| 六月99天天婷婷激情综合| 久久婷婷五月综合色丁香花| 九月影院義母在线播放| 天天操屄网| 精品一二三区久久AAA片| 99热综合网| 99热99热在线| 九九婷婷五月天| 天天 青草 制服丝袜 在线 | 五月婷婷色五月| 国产XXXX搡XXXXX搡麻豆| 色色吧综合| 天天爱天天操| 丁香五月婷婷综合激情哟哟哟| 丁香五月天色| 97热视频| 91免费看片| 五月丁香天堂网| 桃色五月婷婷| 色婷婷婷婷成人网| 婷婷五月天基地| 99九九精品视频| www.久热| 肏日网在线看| 日本va欧美va欧美| 精品国产一区二区三区四区阿崩| 五月丁香久人妻中文| www.henhenl| 婷婷五月18永久免费网站| 六月久久狠狠| 深夜婷婷 丁香| 色五月丁香一区在线| 五月天伊人| 五月天丁香久久| 99色免费观看全部| 久久无意婷婷| 五月婷六月| 91热在线观看视频| 日韩成人五月天| 96丁香六月婷婷蜜桃综合久久| 老师把我爽高潮了免费A片| 思思热久久久在线| 九九九九热99超碰| 日本欧美国产| 狠狠色综合图片| 99思思热只有在这里看| 99久久精品免费精品国产_国产精品久久久久久_国产在线|日韩_久久国产精品电影 | 久久婷婷五月天| 国产精品大香蕉| 五月婷婷无码| 26uuu四色| 亚洲最大成人综合网720P| 天天干天天玩天天夜天天射天天操天天日蜜臀少妇 | 五月天婷婷色情| 天天日天天爽| 色色色五月婷| 日本一级黄色电影| 亚洲性受XXXX五月丁香| 激情综合五月丁香| 色六月丁香婷婷啪啪啪| 另类小说色婷婷| 人妻性爱| 爱99干99| 蜜乳中文字| 丁香五月天激情四射网| 91成人电影| 婷婷精品免费久久| 中文字幕在线免费观看视频| 亚洲俩性性爱图片久久第六页| 久久久这里有精品| 久久亚洲色导航| 国产毛片精品一区二区色欲黄A片| 桃色伊人在线| 97午夜一区二区| 91午夜激情| www.99热在线观看| 婷婷成人视频| 天天综合亚洲综合| 丁香97综合| 操九色| 久久五月婷婷电影| 国产肥白大熟妇BBBB视频| 日本在线噜噜| 色色色色区| 亚洲第一成人无码A片| 丁香五月婷婷无码AV| 亚洲亚洲人成综合网络 | 蜜臀AV在线观看| 精品综合久久久久久五月天| 1024成人免费看| 91狠狠色丁香| 九月丁香婷婷综合激情| 丁香五月婷婷av影院| 婷婷爱五月| 五月婷五月婷伊人伊人五月婷| 亚洲愉拍99热成人精品| 人人草人人爱| 久鲁鲁色网| 精品五月花| 夜夜骑夜夜撸| 色愛综合网| 人人摸人人干| 97碰啪啪| 婷婷五月蜜桃成人桃色丁香| 九九色网| 99热在线只有精品| 狠狠五月天婷婷激情网。| 国产成人综合在线| 99精品视频播放| 五月综合色| 99这里只有精品|v| 99视频久久免费视频| 色色婷婷色色| 成人无码精品1区2区3区免费看 | 天天玩夜夜操| 六月婷婷中文字幕| 亚洲综合五月天综合| 99热亚洲| 97超级免费无码| 噜色精品| 影视av久久久噜噜噜噜噜三级| 亚洲综合五月天婷婷| 色啪网| 久久538| 狠狠色无码| 五月丁香| 99热在线资源| 九热av| 激情内射人妻1区2区3区| 成人短视频在线观看| 欧美黄色韩日网| 婷婷色五月天综合网| 激情婷婷| 日本色99| 久操人| 骚逼视频一区2区| 色色色综合网| AV九九| www.色婷婷.com| 五月婷婷丁香瑟瑟视频| 内射激情在线| 五月丁香在线视频观看| 丁香五月首页| 亚洲啪啪网| 亚洲视频无| 天天操天天插天天射| 欧美日韩成卜| 成人做爰高潮A片免费视频| 色婷婷视频| 日本久久婷婷| 99成人| 这里只有精彩视频| 久久人妻视步| 婷婷五月天BBw| 99精品无码网站| 337p午夜影院| 天天做天天爰天天爽天天无遮挡| 久热这里只有国产| 久久免费精品小视频| 97久久人人| 99操中文视频| 9色在线视频| 五月丁香成人| 欧美va视频| 天天操B| 久热黄色| 91尤物九色在线| 九九自拍网| 五月丁香成人| 夜夜 操无码| 婷婷五月天影院| 国产成人+综合亚洲+天堂| 婷婷色影院| 久久er视频6| 熟女色专区| 五月丁香色婷婷伊人| 亚洲人人96@| 天天在线天天综合网色| 97激情五月天| 丁香五月天五码婷婷| 狠狠狠狠狠草| 久久性爱视频这里只有精品| 丁香五月天在线| 思思热视频在线| 干一干xxxx| 久久新地址| 五月天婷婷丁香| 亚洲综合激情五月久久| 成人美女网| 色就色94欧美setu| 手机在线视频观看9| 视频久久9| 97视频91| 综合五月丁香久久| 久热这里精品免费| 欧美VA在线观看| 99在线观看精品视频| www.色色五月天.com| 日本一级一级一级一级| 九九黄色网| 国产欧美性成人精品午夜| 久久婷婷五月综合色丁香花| 五月婷婷狠狠久久| 五月丁香综合在线| 五月花综合网| 久久aaaa片一区二区| 夜夜撸夜夜骑| 五月婷色| AⅤ网站在线看| ...婷婷五月综合不卡,国产在线手机| 国产精品视频免费看| 丁香五月天在线观看视频| 激情五月综合色婷婷| 色色色成人网| 色婷久久| 成人.在线日韩| 男人的天堂97| 天天爽爽日日做做| 久色网五月| 色爱综合网| 日本久久99| 97色综合视频| 丁香五月婷婷啪| 丁香亚洲婷婷五月| AV性爱网| 五月天偷拍| 婷婷丁香五月视频| 色综合com| 色婷婷先锋| 激情五月婷| 极品人妻VIDEOSSS人妻| 91疯狂操操操操| 99久热这里有精品| 婷婷五月激情五月激情| 可以看的AV| 激情五月婷婷丁香综合网| 狠狠丁香| 婷婷丁香综合| 五月亭亭六月天| 婷婷六月成人| 九九热这里只有精品7| 丁香五月五月婷婷五月天激情四射| 大香蕉99热| 亚洲亚洲人成综合网络| 亚洲小电影在线观看黄999| 色婷婷综合五月| 热五月婷婷| 久久se 综合网| 成人在线视频网| av操一操| 成人日韩欧美| 五月婷婷综合影院| www.五月天婷婷姐姐| 日韩成人中文字幕| 丁香花狠狠婷婷亚洲中文字幕| 九九精品在线视频观看| 色婷婷五月视频| 99热| 成人在线不卡| 99热无码| 99热这里有精品| 久久人人九九| 26uuu精品国产| 99亚洲大片精品永久在线观看| 亚州操操| 五月天婷婷色综合| 五月婷婷色男女| 综合久| 亚洲免费av观看| 婷婷五月色丁香在线看| 激情深爱五月天| 丁香婷婷色色| 日本VA视频| 色综合久久之分久久| 国产中文亚洲欧美日韩性交| 激情av在线| 久久色吧| 9这里只有精品| 99超级碰免费视频| 丁香五月综合| 五月天激情综合网| 色五月美女| 日日想日日夜日日操| 激情开心五月天| 97在线精品视频| 色婷婷五月天| 1024在线视频| 五月婷婷婷婷婷婷艺术| 91操操| 狠狠搞五月天| 成人国产综合| 日本久久精品18| 激情五月丁香亭亭| 激情婷婷五月综合| 成人九九视频| 婷婷丁香日韩五月| 黄色99网| 中文字幕欧美日韩VA免费视频| 久久XX| 狠狠色婷婷7777久| 五月天丁香网站| 中文字幕AV网址| 久久九九99桃花视频| 五月天婷婷亚洲| 久久综合香蕉国产国产蜜臀AV| 久热91精品| 91超级碰在线| 色色色色综合| 欧美婷婷综合网| 五月丁香五月婷婷在线观看| 五月四色激情| 精品久久久久久久久久久久人妻| 少妇真实被内射视频三四区| 99热这只有| 日本色婷婷| 99在线观看这里都是精品| 99热这里只有精品99| 色五月综合婷婷久久综合婷婷久久综合婷婷久久综合婷婷久久 | 五月香蕉婷婷| 俺也去色| 色五月婷婷五月久久| 少妇大叫太大太粗太爽了A片| 亚洲婷婷丁香五月天激情小说 | 9l视频自拍9l九色9l成人| 久久99大全| 欧美 日韩 成人在线| 久久婷.com| 色婷婷视频在线| 五月丁香激情片| 亚洲色色色| 手机激情网| 婷婷五月天久草在线| 国产裸舞表演WWWW| 美腿丝袜AV天堂网| 久久婷网| 成人片在线播放| 欧洲色色| 五月丁香婷婷激情在线| 久久久久9久无码视频| 色视频五月天| 大香蕉狼人久久| 五月天婷婷久久| 六月激情婷婷色| 精品久久久中文字幕大豆网推荐理由| 久久这里只有欧美| sewuyuetingtingiii| 色综合久久99色| 久久综合这里只有精品1| 成人国产欧美大片一区| 综合网五月天123| 碰碰碰91| 久久99久久久久久| 色情丁香五月天| 国产综合A片| 婷婷99热| 伦乱美欧| 色色色色色色色五月| 女人被男人吃奶到高潮| 成人电影一区| 麻豆AV一区二区三区| 五月天婷婷在线观看| 91vip在线观看| WWW.桔色成人.COM| 天天爽免费视频| 色婷婷免费观看| 成人免费120分钟啪啪| 五月天六月婷| 丁香五月婷婷基地| 成人国产欧美大片一区| 这里只有精品无码| 99re思思热在线视频| 黄色片avv| 在线另类视频| 狠狠操天天日| 丁香五月综合激情性爱| 天天天天干| 亚洲精品婷婷| 夜夜躁狠狠 | 婷婷丁香77777| 97超碰色| 丁香五月婷婷影院| 婷婷五月天综合色| 婷婷五月天激情综合| 国产精品第一国产精品| 久久hd| 99久久思思| 日韩不卡DvD| 欧美性爱专区|