[{"data":1,"prerenderedAt":911},["ShallowReactive",2],{"wiki-page-/zh-hant/wiki/2024-01-21-arm-keil-mdk6-jiao-cheng/ch5-jin-jie-shi-yong-jiao-cheng-quan-ping-tai-tong-yong":3,"wiki-doc-items-/zh-hant/wiki/2024-01-21-arm-keil-mdk6-jiao-cheng/ch5-jin-jie-shi-yong-jiao-cheng-quan-ping-tai-tong-yong":860,"language-switcher-data-/zh-hant/wiki/2024-01-21-arm-keil-mdk6-jiao-cheng/ch5-jin-jie-shi-yong-jiao-cheng-quan-ping-tai-tong-yong":895,"wiki-i18n-paths-/zh-hant/wiki/2024-01-21-arm-keil-mdk6-jiao-cheng/ch5-jin-jie-shi-yong-jiao-cheng-quan-ping-tai-tong-yong":910},{"id":4,"title":5,"body":6,"canonicalPath":841,"chapter":842,"chapterSort":843,"date":844,"description":24,"docI18nKey":845,"docKey":846,"docRoot":847,"docTitle":848,"extension":849,"i18nKey":850,"isBlogPost":851,"isWikiDoc":144,"isWikiIndex":851,"layout":852,"legacyPath":852,"locale":853,"localeSlug":854,"meta":855,"navigation":144,"path":841,"seo":856,"sourcePath":857,"sourceStem":850,"stem":858,"wikiDepth":95,"__hash__":859},"content/_i18n/zh-hant/wiki/2024-01-21-Arm-Keil-MDK6教程/ch5-进阶使用教程(全平台通用).md","進階使用教程(全平臺通用)",{"type":7,"value":8,"toc":836},"minimark",[9,14,18,26,29,34,37,42,47,51,54,59,62,70,74,77,82,236,239,244,247,252,255,260,263,268,271,276,279,284,287,292,295,299,305,309,312,315,318,323,328,333,336,339,346,353,356,361,364,369,374,379,383,390,395,398,407,415,425,430,437,442,445,456,461,466,469,472,477,482,485,490,493,498,501,506,511,514,519,522,527,532,535,538,543,546,554,557,575,607,610,615,618,623,629,633,637,640,647,652,657,661,664,672,675,680,683,688,694,697,702,705,710,755,758,761,766,771,779,784,787,809,812,815,818,821,824,829,832],[10,11,13],"h3",{"id":12},"run運行程序和debug調試程序","Run（運行程序）和Debug（調試程序）？",[15,16,17],"h4",{"id":17},"選擇packs",[19,20,21],"p",{},[22,23],"img",{"alt":24,"src":25},"","https://cdn.tungchiahui.cn/tungwebsite/assets/images/2024/01/21/image65.webp",[19,27,28],{},"出現STM32 STLink後，接着點回車Enter",[19,30,31],{},[22,32],{"alt":24,"src":33},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2024/01/21/image66.webp",[19,35,36],{},"搜索對應的芯片的Packs並選中",[19,38,39],{},[22,40],{"alt":24,"src":41},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2024/01/21/image67.webp",[19,43,44],{},[22,45],{"alt":24,"src":46},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2024/01/21/image68.webp",[15,48,50],{"id":49},"run將程序下載到st-link中","(RUN)將程序下載到ST-Link中",[19,52,53],{},"點擊RUN，然後在新彈出的窗口選擇對應的型號，比如我選擇STM32F103C8",[19,55,56],{},[22,57],{"alt":24,"src":58},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2024/01/21/image69.webp",[19,60,61],{},"可以看到下方的命令已經把程序燒寫進STM32了，然後STM32也正常工作了。",[19,63,64,67],{},[22,65],{"alt":24,"src":66},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2024/01/21/image70.webp",[22,68],{"alt":24,"src":69},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2024/01/21/image71.webp",[15,71,73],{"id":72},"debug調試程序","(DEBUG)調試程序",[19,75,76],{},"打上三個斷點",[19,78,79],{},[22,80],{"alt":24,"src":81},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2024/01/21/image72.webp",[83,84,88],"pre",{"className":85,"code":86,"language":87,"meta":24,"style":24},"language-cpp shiki shiki-themes github-light github-dark","extern \"C\"\nvoid led_task(void const * argument)\n{\n\n    for(;;)\n    {\n        static int a = 5;\n        bsp_led.LED_Toggle();  //实例化后调用对象翻转电平函数\n        osDelay(500);\n        a++;\n    }\n}\n\n","cpp",[89,90,91,104,133,139,146,155,161,183,199,213,224,230],"code",{"__ignoreMap":24},[92,93,96,100],"span",{"class":94,"line":95},"line",1,[92,97,99],{"class":98},"szBVR","extern",[92,101,103],{"class":102},"sZZnC"," \"C\"\n",[92,105,107,110,114,118,120,123,126,130],{"class":94,"line":106},2,[92,108,109],{"class":98},"void",[92,111,113],{"class":112},"sScJk"," led_task",[92,115,117],{"class":116},"sVt8B","(",[92,119,109],{"class":98},[92,121,122],{"class":98}," const",[92,124,125],{"class":98}," *",[92,127,129],{"class":128},"s4XuR"," argument",[92,131,132],{"class":116},")\n",[92,134,136],{"class":94,"line":135},3,[92,137,138],{"class":116},"{\n",[92,140,142],{"class":94,"line":141},4,[92,143,145],{"emptyLinePlaceholder":144},true,"\n",[92,147,149,152],{"class":94,"line":148},5,[92,150,151],{"class":98},"    for",[92,153,154],{"class":116},"(;;)\n",[92,156,158],{"class":94,"line":157},6,[92,159,160],{"class":116},"    {\n",[92,162,164,167,170,173,176,180],{"class":94,"line":163},7,[92,165,166],{"class":98},"        static",[92,168,169],{"class":98}," int",[92,171,172],{"class":116}," a ",[92,174,175],{"class":98},"=",[92,177,179],{"class":178},"sj4cs"," 5",[92,181,182],{"class":116},";\n",[92,184,186,189,192,195],{"class":94,"line":185},8,[92,187,188],{"class":116},"        bsp_led.",[92,190,191],{"class":112},"LED_Toggle",[92,193,194],{"class":116},"();",[92,196,198],{"class":197},"sJ8bj","  //实例化后调用对象翻转电平函数\n",[92,200,202,205,207,210],{"class":94,"line":201},9,[92,203,204],{"class":112},"        osDelay",[92,206,117],{"class":116},[92,208,209],{"class":178},"500",[92,211,212],{"class":116},");\n",[92,214,216,219,222],{"class":94,"line":215},10,[92,217,218],{"class":116},"        a",[92,220,221],{"class":98},"++",[92,223,182],{"class":116},[92,225,227],{"class":94,"line":226},11,[92,228,229],{"class":116},"    }\n",[92,231,233],{"class":94,"line":232},12,[92,234,235],{"class":116},"}\n",[19,237,238],{},"點擊Debug並選中型號",[19,240,241],{},[22,242],{"alt":24,"src":243},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2024/01/21/image73.webp",[19,245,246],{},"然後就可以進入Debug界面",[19,248,249],{},[22,250],{"alt":24,"src":251},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2024/01/21/image74.webp",[19,253,254],{},"點擊開始按鈕",[19,256,257],{},[22,258],{"alt":24,"src":259},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2024/01/21/image75.webp",[19,261,262],{},"可以看到斷點被成功命中，且可以通過左邊窗口查看a的值。",[19,264,265],{},[22,266],{"alt":24,"src":267},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2024/01/21/image76.webp",[19,269,270],{},"接着點擊繼續。",[19,272,273],{},[22,274],{"alt":24,"src":275},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2024/01/21/image77.webp",[19,277,278],{},"下一個斷點也被命中了",[19,280,281],{},[22,282],{"alt":24,"src":283},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2024/01/21/image78.webp",[19,285,286],{},"接着點繼續，發現a的值變爲了6，符合我們程序的運行。",[19,288,289],{},[22,290],{"alt":24,"src":291},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2024/01/21/image79.webp",[19,293,294],{},"這樣就可以正常debug了。",[10,296,298],{"id":297},"vscode頭文件配置","VScode頭文件配置",[19,300,301],{},[302,303,304],"strong",{},"(這只是可以更好的編輯代碼，這些頭文件並沒有被加入到編譯環境中)",[15,306,308],{"id":307},"cc插件不推薦","C/C++插件（不推薦）",[19,310,311],{},"如果有這種找不到頭文件的情況，配置一下VScode的C/C++插件的Include Path即可。",[19,313,314],{},"但是由於該插件需要同時配置編譯器，所以可能會出一些各種各樣的小問題。",[19,316,317],{},"而且該插件對於大型項目會很卡，可以選擇直接看下方的clangd插件教程。",[19,319,320],{},[22,321],{"alt":24,"src":322},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2024/01/21/image80.webp",[19,324,325],{},[22,326],{"alt":24,"src":327},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2024/01/21/image81.webp",[19,329,330],{},[22,331],{"alt":24,"src":332},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2024/01/21/image82.webp",[19,334,335],{},"在這裏多加一行../**",[19,337,338],{},"除了以上這種方式，也可以通過修改c_cpp_properties.json文件進行。",[19,340,341,342,345],{},"輸入 ",[89,343,344],{},"\"../**\""," (意思是將上一個目錄(工程根目錄)裏的所有文件全部加載到Include Path中)",[19,347,348,349,352],{},"同時建議也把ARMCLANG的include文件加入到這裏面 \"",[89,350,351],{},"/home/tungchiahui/.vcpkg/artifacts/2139c4c6/compilers.arm.armclang/6.21.0/include/","\"",[19,354,355],{},"每個人的目錄不同，但都是在用戶文件夾的.vcpkg隱藏文件夾下，可以自己找找。（下方的圖不完整，請根據上訪內容進行添加）",[19,357,358],{},[22,359],{"alt":24,"src":360},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2024/01/21/image83.webp",[19,362,363],{},"配置好之後，我們發現代碼提示也正常了，雖然頭文件還是有可能會被VScode誤報錯說找不到，但是其實已經可以正常編譯了，也可以正常提示這些頭文件了。",[19,365,366],{},[22,367],{"alt":24,"src":368},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2024/01/21/image84.webp",[19,370,371],{},[22,372],{"alt":24,"src":373},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2024/01/21/image85.webp",[19,375,376],{},[22,377],{"alt":24,"src":378},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2024/01/21/image86.webp",[15,380,382],{"id":381},"clangd插件-非常推薦","Clangd插件 (非常推薦)",[384,385,386],"ol",{},[387,388,389],"li",{},"優勢：由於clangd適合大型的cmake項目，在大型項目裏表現比C/C++插件優秀太多，所以筆者與MDK6都建議用clangd的語言服務器。",[19,391,392],{},[22,393],{"alt":24,"src":394},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2024/01/21/image87.webp",[19,396,397],{},"現在最新版MDK6自帶clangd插件。",[384,399,400],{"start":106},[387,401,402,403,406],{},"Windows需要下載安裝一下LLVM (Linux一般不用管或者",[89,404,405],{},"sudo apt install llvm",")",[19,408,409],{},[410,411,412],"a",{"href":412,"rel":413},"https://github.com/llvm/llvm-project/releases",[414],"nofollow",[19,416,417,418,421,422],{},"我下載的是LLVM 18.1.8，中選擇",[89,419,420],{},"Assets","中選擇",[89,423,424],{},"LLVM-18.1.8-win64.exe",[19,426,427],{},[22,428],{"alt":24,"src":429},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2024/01/21/image88.webp",[19,431,432,433,436],{},"這裏選擇這個選項",[89,434,435],{},"Add LLVM to the system PATH for all users","，其他無腦下一步即可。",[19,438,439],{},[22,440],{"alt":24,"src":441},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2024/01/21/image89.webp",[19,443,444],{},"可以打開terminal測試一下是否安裝成功並配置好環境。",[83,446,450],{"className":447,"code":448,"language":449,"meta":24,"style":24},"language-powershell shiki shiki-themes github-light github-dark","clang -v\n","powershell",[89,451,452],{"__ignoreMap":24},[92,453,454],{"class":94,"line":95},[92,455,448],{},[19,457,458],{},[22,459],{"alt":24,"src":460},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2024/01/21/image90.webp",[384,462,463],{"start":135},[387,464,465],{},"現在來安裝clangd：",[19,467,468],{},"按住Ctrl shift P打開搜索框",[19,470,471],{},"輸入clangd 找到下載語言服務器這一項目，點擊安裝clangd（請保持良好的網絡狀況）",[19,473,474],{},[22,475],{"alt":24,"src":476},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2024/01/21/image91.webp",[384,478,479],{"start":141},[387,480,481],{},"接着配置clangd：",[19,483,484],{},"禁用C/C++的代碼提示功能",[19,486,487],{},[22,488],{"alt":24,"src":489},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2024/01/21/image92.webp",[19,491,492],{},"如果沒有上圖的彈窗，可以進行手動關閉，依然是ctrl shift P,輸入settings然後找到如下圖的選項",[19,494,495],{},[22,496],{"alt":24,"src":497},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2024/01/21/image93.webp",[19,499,500],{},"找到下圖這個選項，改成disabled即可。",[19,502,503],{},[89,504,505],{},"\"C_Cpp.intelliSenseEngine\": \"disabled\"",[19,507,508],{},[22,509],{"alt":24,"src":510},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2024/01/21/image94.webp",[19,512,513],{},"新建一個settings.json文件",[19,515,516],{},[22,517],{"alt":24,"src":518},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2024/01/21/image95.webp",[19,520,521],{},"修改裏面的內容，該內容是 cmake產生的compile_commands.json 文件所在的路徑(路徑會隨MDK6版本更新而改變，請自己找文件所在路徑)",[19,523,524],{},[22,525],{"alt":24,"src":526},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2024/01/21/image96.webp",[19,528,529],{},[22,530],{"alt":24,"src":531},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2024/01/21/image97.webp",[19,533,534],{},"接着找到armclang編譯器的include目錄，也添加進來，一般在用戶文件夾下的.vcpkg隱藏文件夾下。",[19,536,537],{},"(現在已經無需找了)",[19,539,540],{},[22,541],{"alt":24,"src":542},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2024/01/21/image98.webp",[19,544,545],{},"以下是Linux版本的settings.json示例",[83,547,552],{"className":548,"code":550,"language":551},[549],"language-text","{\n    \"clangd.arguments\": [\n        \"--compile-commands-dir=${workspaceFolder}/tmp/Template_Linux/TemplateLinux\"\n    ]\n}\n","text",[89,553,550],{"__ignoreMap":24},[19,555,556],{},"以下是Windows版本的settings.json示例",[19,558,559,560,563,564,567,568,563,571,574],{},"需要注意的是，Windows需要把盤符號變爲小寫，比如",[89,561,562],{},"C:/","要改爲",[89,565,566],{},"c:/","然後",[89,569,570],{},"反斜杠\\",[89,572,573],{},"斜杠/","。",[83,576,579],{"className":577,"code":550,"language":578,"meta":24,"style":24},"language-json shiki shiki-themes github-light github-dark","json",[89,580,581,585,593,598,603],{"__ignoreMap":24},[92,582,583],{"class":94,"line":95},[92,584,138],{"class":116},[92,586,587,590],{"class":94,"line":106},[92,588,589],{"class":178},"    \"clangd.arguments\"",[92,591,592],{"class":116},": [\n",[92,594,595],{"class":94,"line":135},[92,596,597],{"class":102},"        \"--compile-commands-dir=${workspaceFolder}/tmp/Template_Linux/TemplateLinux\"\n",[92,599,600],{"class":94,"line":141},[92,601,602],{"class":116},"    ]\n",[92,604,605],{"class":94,"line":148},[92,606,235],{"class":116},[19,608,609],{},"然後ctrl shift P搜索clangd找到如下圖的選項",[19,611,612],{},[22,613],{"alt":24,"src":614},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2024/01/21/image99.webp",[19,616,617],{},"代碼提示就正常啦",[19,619,620],{},[22,621],{"alt":24,"src":622},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2024/01/21/image100.webp",[10,624,626],{"id":625},"添加源文件對應project-items和頭文件對應include-path到編譯環境中",[302,627,628],{},"添加源文件(對應Project Items)和頭文件(對應Include Path)到編譯環境中",[15,630,632],{"id":631},"常規方法修改yaml文件","常規方法(修改yaml文件)",[634,635,636],"h5",{"id":636},"相關資料",[19,638,639],{},"添加源文件需要使用yaml標記語言修改cproject.yml文件。",[19,641,642,643],{},"官方爲此提供了相關的更爲詳細的資料文檔：",[410,644,645],{"href":645,"rel":646},"https://github.com/Open-CMSIS-Pack/cmsis-toolbox/blob/main/docs/YML-Input-Format.md#source-file-management",[414],[19,648,649],{},[22,650],{"alt":24,"src":651},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2024/01/21/image101.webp",[19,653,654],{},[22,655],{"alt":24,"src":656},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2024/01/21/image102.webp",[634,658,660],{"id":659},"創建文件c和h","創建文件(.c和.h)",[19,662,663],{},"我們這裏先在bsp中創建4個文件分別放入到Src和Inc中。",[19,665,666,669],{},[22,667],{"alt":24,"src":668},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2024/01/21/image103.webp",[22,670],{"alt":24,"src":671},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2024/01/21/image104.webp",[634,673,674],{"id":674},"添加頭文件路徑",[19,676,677],{},[22,678],{"alt":24,"src":679},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2024/01/21/image105.webp",[19,681,682],{},"將頭文件所在的目錄寫入",[19,684,685],{},[22,686],{"alt":24,"src":687},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2024/01/21/image106.webp",[83,689,692],{"className":690,"code":691,"language":551},[549],"      add-path:\n        - ../Core/Inc\n        - ../Drivers/STM32F1xx_HAL_Driver/Inc\n        - ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy\n        - ../Drivers/CMSIS/Device/ST/STM32F1xx/Include\n        - ../Drivers/CMSIS/Include\n        - ../bsp/boards/Inc\n        - ../applications/Inc\n",[89,693,691],{"__ignoreMap":24},[634,695,696],{"id":696},"添加源文件與分組",[19,698,699],{},[22,700],{"alt":24,"src":701},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2024/01/21/image107.webp",[19,703,704],{},"在這裏輸入group的名字和所需要添加的源文件路徑（這裏因爲applications裏無源文件，所以我們註釋掉）",[19,706,707],{},[22,708],{"alt":24,"src":709},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2024/01/21/image108.webp",[83,711,715],{"className":712,"code":713,"language":714,"meta":24,"style":24},"language-ymal shiki shiki-themes github-light github-dark","    - group: bsp/boards\n      files:\n        - file: ../bsp/boards/Src/gpio_demo.cpp\n        - file: ../bsp/boards/Src/gpio_test.c\n\n    # - group: applications\n\n    #   files:\n","ymal",[89,716,717,722,727,732,737,741,746,750],{"__ignoreMap":24},[92,718,719],{"class":94,"line":95},[92,720,721],{},"    - group: bsp/boards\n",[92,723,724],{"class":94,"line":106},[92,725,726],{},"      files:\n",[92,728,729],{"class":94,"line":135},[92,730,731],{},"        - file: ../bsp/boards/Src/gpio_demo.cpp\n",[92,733,734],{"class":94,"line":141},[92,735,736],{},"        - file: ../bsp/boards/Src/gpio_test.c\n",[92,738,739],{"class":94,"line":148},[92,740,145],{"emptyLinePlaceholder":144},[92,742,743],{"class":94,"line":157},[92,744,745],{},"    # - group: applications\n",[92,747,748],{"class":94,"line":163},[92,749,145],{"emptyLinePlaceholder":144},[92,751,752],{"class":94,"line":185},[92,753,754],{},"    #   files:\n",[19,756,757],{},"源文件和頭文件都已經成功導入了，我們可以對文件內容進行編寫，看其是否能通過編譯。",[634,759,760],{"id":760},"編寫文件並編譯",[19,762,763],{},[22,764],{"alt":24,"src":765},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2024/01/21/image109.webp",[19,767,768],{},[22,769],{"alt":24,"src":770},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2024/01/21/image110.webp",[19,772,773,776],{},[22,774],{"alt":24,"src":775},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2024/01/21/image111.webp",[22,777],{"alt":24,"src":778},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2024/01/21/image112.webp",[19,780,781],{},[22,782],{"alt":24,"src":783},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2024/01/21/image113.webp",[19,785,786],{},"可以看到日誌這幾行，顯示gpio_demo和gpio_test都成功被編譯了",[83,788,792],{"className":789,"code":790,"language":791,"meta":24,"style":24},"language-bash shiki shiki-themes github-light github-dark","[14/22] Building C object CMakeFiles/Template_Linux.dir/home/tungchiahui/user/Source/STM32_Projects/N1_F407ZGT6_GPIO_Test/bsp/boards/Src/gpio_test.o\n[15/22] Building C object CMakeFiles/Template_Linux.dir/home/tungchiahui/user/Source/STM32_Projects/N1_F407ZGT6_GPIO_Test/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.o\n[16/22] Building CXX object CMakeFiles/Template_Linux.dir/home/tungchiahui/user/Source/STM32_Projects/N1_F407ZGT6_GPIO_Test/bsp/boards/Src/gpio_demo.o\n","bash",[89,793,794,799,804],{"__ignoreMap":24},[92,795,796],{"class":94,"line":95},[92,797,798],{"class":116},"[14/22] Building C object CMakeFiles/Template_Linux.dir/home/tungchiahui/user/Source/STM32_Projects/N1_F407ZGT6_GPIO_Test/bsp/boards/Src/gpio_test.o\n",[92,800,801],{"class":94,"line":106},[92,802,803],{"class":116},"[15/22] Building C object CMakeFiles/Template_Linux.dir/home/tungchiahui/user/Source/STM32_Projects/N1_F407ZGT6_GPIO_Test/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.o\n",[92,805,806],{"class":94,"line":135},[92,807,808],{"class":116},"[16/22] Building CXX object CMakeFiles/Template_Linux.dir/home/tungchiahui/user/Source/STM32_Projects/N1_F407ZGT6_GPIO_Test/bsp/boards/Src/gpio_demo.o\n",[15,810,811],{"id":811},"圖形化",[634,813,814],{"id":814},"簡介",[19,816,817],{},"由於ARM團隊比較給力，短短2個月就搞出來了圖形化操作，截止3月初已經更新。",[19,819,820],{},"ARM團隊更新了什麼圖形化功能，下方教程就會推遲幾天更新一下對應的內容。",[634,822,823],{"id":823},"添加源文件",[19,825,826],{},[22,827],{"alt":24,"src":828},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2024/01/21/image114.webp",[19,830,831],{},"等待ARM公司更新功能中... ...",[833,834,835],"style",{},"html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .s4XuR, html code.shiki .s4XuR{--shiki-default:#E36209;--shiki-dark:#FFAB70}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":24,"searchDepth":106,"depth":106,"links":837},[838,839,840],{"id":12,"depth":135,"text":13},{"id":297,"depth":135,"text":298},{"id":625,"depth":135,"text":628},"/zh-hant/wiki/2024-01-21-arm-keil-mdk6-jiao-cheng/ch5-jin-jie-shi-yong-jiao-cheng-quan-ping-tai-tong-yong","5",5000000,"2024-01-21","wiki/2024-01-21-arm-keil-mdk6-jiao-cheng","zh-hant:2024-01-21-arm-keil-mdk6-jiao-cheng","/zh-hant/wiki/2024-01-21-arm-keil-mdk6-jiao-cheng","Arm Keil MDK6教程","md","wiki/2024-01-21-Arm-Keil-MDK6教程/ch5-进阶使用教程(全平台通用)",false,null,"zh-Hant","zh-hant",{},{"title":5,"description":24},"/wiki/2024-01-21-arm-keil-mdk6-jiao-cheng/ch5-jin-jie-shi-yong-jiao-cheng-quan-ping-tai-tong-yong","_i18n/zh-hant/wiki/2024-01-21-Arm-Keil-MDK6教程/ch5-进阶使用教程(全平台通用)","l389A4hVCBx1XW4V8Jz5pDC-o7b_qD4CO8DQ0BWW-EI",[861,866,872,878,884,885,891],{"path":862,"stem":863,"title":814,"date":844,"chapter":864,"chapterSort":865,"docKey":846,"docRoot":847,"docTitle":848,"isWikiDoc":144,"isWikiIndex":851},"/zh-hant/wiki/2024-01-21-arm-keil-mdk6-jiao-cheng/ch1-jian-jie","_i18n/zh-hant/wiki/2024-01-21-Arm-Keil-MDK6教程/ch1-简介","1",1000000,{"path":867,"stem":868,"title":869,"date":844,"chapter":870,"chapterSort":871,"docKey":846,"docRoot":847,"docTitle":848,"isWikiDoc":144,"isWikiIndex":851},"/zh-hant/wiki/2024-01-21-arm-keil-mdk6-jiao-cheng/ch2-guan-fang-jiao-cheng","_i18n/zh-hant/wiki/2024-01-21-Arm-Keil-MDK6教程/ch2-官方教程","官方教程","2",2000000,{"path":873,"stem":874,"title":875,"date":844,"chapter":876,"chapterSort":877,"docKey":846,"docRoot":847,"docTitle":848,"isWikiDoc":144,"isWikiIndex":851},"/zh-hant/wiki/2024-01-21-arm-keil-mdk6-jiao-cheng/ch3-linux-pei-zhi-mdk6-huan-jing-jiao-cheng","_i18n/zh-hant/wiki/2024-01-21-Arm-Keil-MDK6教程/ch3-Linux配置MDK6环境教程","Linux配置MDK6環境教程","3",3000000,{"path":879,"stem":880,"title":881,"date":844,"chapter":882,"chapterSort":883,"docKey":846,"docRoot":847,"docTitle":848,"isWikiDoc":144,"isWikiIndex":851},"/zh-hant/wiki/2024-01-21-arm-keil-mdk6-jiao-cheng/ch4-windows-pei-zhi-mdk6-huan-jing-jiao-cheng","_i18n/zh-hant/wiki/2024-01-21-Arm-Keil-MDK6教程/ch4-Windows配置MDK6环境教程","Windows配置MDK6環境教程","4",4000000,{"path":841,"stem":858,"title":5,"date":844,"chapter":842,"chapterSort":843,"docKey":846,"docRoot":847,"docTitle":848,"isWikiDoc":144,"isWikiIndex":851},{"path":886,"stem":887,"title":888,"date":844,"chapter":889,"chapterSort":890,"docKey":846,"docRoot":847,"docTitle":848,"isWikiDoc":144,"isWikiIndex":851},"/zh-hant/wiki/2024-01-21-arm-keil-mdk6-jiao-cheng/ch6-chang-jian-wen-ti","_i18n/zh-hant/wiki/2024-01-21-Arm-Keil-MDK6教程/ch6-常见问题","常見問題","6",6000000,{"path":847,"stem":892,"title":893,"date":844,"chapter":852,"chapterSort":894,"docKey":846,"docRoot":847,"docTitle":848,"isWikiDoc":144,"isWikiIndex":144},"_i18n/zh-hant/wiki/2024-01-21-Arm-Keil-MDK6教程/index","Arm-Keil-MDK6教程",0,{"variants":896},[897,900,901,904,907],{"path":898,"localeSlug":899,"i18nKey":850},"/en-us/wiki/2024-01-21-arm-keil-mdk6-jiao-cheng/ch5-jin-jie-shi-yong-jiao-cheng-quan-ping-tai-tong-yong","en-us",{"path":841,"localeSlug":854,"i18nKey":850},{"path":902,"localeSlug":903,"i18nKey":850},"/zh-hk/wiki/2024-01-21-arm-keil-mdk6-jiao-cheng/ch5-jin-jie-shi-yong-jiao-cheng-quan-ping-tai-tong-yong","zh-hk",{"path":905,"localeSlug":906,"i18nKey":850},"/zh-tw/wiki/2024-01-21-arm-keil-mdk6-jiao-cheng/ch5-jin-jie-shi-yong-jiao-cheng-quan-ping-tai-tong-yong","zh-tw",{"path":908,"localeSlug":909,"i18nKey":850},"/zh-cn/wiki/2024-01-21-arm-keil-mdk6-jiao-cheng/ch5-jin-jie-shi-yong-jiao-cheng-quan-ping-tai-tong-yong","zh-cn",[898,857,841,857,902,857,905,857,908,857],1780673917031]