[{"data":1,"prerenderedAt":911},["ShallowReactive",2],{"wiki-page-\u002Fwiki\u002F2024-01-21-arm-keil-mdk6-jiao-cheng\u002F0500-jin-jie-shi-yong-jiao-cheng-quan-ping-tai-tong-yong":3,"wiki-doc-items-2024-01-21-arm-keil-mdk6-jiao-cheng":856,"wiki:author-members":899},{"id":4,"title":5,"authors":6,"body":8,"chapterDepth":843,"chapterOrder":844,"date":845,"description":26,"docKey":846,"docRoot":847,"docTitle":848,"extension":849,"isWikiDoc":146,"isWikiIndex":850,"meta":851,"navigation":146,"path":852,"seo":853,"stem":854,"wikiDepth":97,"__hash__":855},"wiki\u002Fwiki\u002F2024-01-21-Arm-Keil-MDK6教程\u002F0500-进阶使用教程(全平台通用).md","进阶使用教程(全平台通用)",[7],"董佳辉",{"type":9,"value":10,"toc":838},"minimark",[11,16,20,28,31,36,39,44,49,53,56,61,64,72,76,79,84,238,241,246,249,254,257,262,265,270,273,278,281,286,289,294,297,301,307,311,314,317,320,325,330,335,338,341,348,355,358,363,366,371,376,381,385,392,397,400,409,417,427,432,439,444,447,458,463,468,471,474,479,484,487,492,495,500,503,508,513,516,521,524,529,534,537,540,545,548,556,559,577,609,612,617,620,625,631,635,639,642,649,654,659,663,666,674,677,682,685,690,696,699,704,707,712,757,760,763,768,773,781,786,789,811,814,817,820,823,826,831,834],[12,13,15],"h3",{"id":14},"run运行程序和debug调试程序","Run（运行程序）和Debug（调试程序）？",[17,18,19],"h4",{"id":19},"选择packs",[21,22,23],"p",{},[24,25],"img",{"alt":26,"src":27},"","https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage65.webp",[21,29,30],{},"出现STM32 STLink后，接着点回车Enter",[21,32,33],{},[24,34],{"alt":26,"src":35},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage66.webp",[21,37,38],{},"搜索对应的芯片的Packs并选中",[21,40,41],{},[24,42],{"alt":26,"src":43},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage67.webp",[21,45,46],{},[24,47],{"alt":26,"src":48},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage68.webp",[17,50,52],{"id":51},"run将程序下载到st-link中","(RUN)将程序下载到ST-Link中",[21,54,55],{},"点击RUN，然后在新弹出的窗口选择对应的型号，比如我选择STM32F103C8",[21,57,58],{},[24,59],{"alt":26,"src":60},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage69.webp",[21,62,63],{},"可以看到下方的命令已经把程序烧写进STM32了，然后STM32也正常工作了。",[21,65,66,69],{},[24,67],{"alt":26,"src":68},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage70.webp",[24,70],{"alt":26,"src":71},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage71.webp",[17,73,75],{"id":74},"debug调试程序","(DEBUG)调试程序",[21,77,78],{},"打上三个断点",[21,80,81],{},[24,82],{"alt":26,"src":83},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage72.webp",[85,86,90],"pre",{"className":87,"code":88,"language":89,"meta":26,"style":26},"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();  \u002F\u002F实例化后调用对象翻转电平函数\n        osDelay(500);\n        a++;\n    }\n}\n\n","cpp",[91,92,93,106,135,141,148,157,163,185,201,215,226,232],"code",{"__ignoreMap":26},[94,95,98,102],"span",{"class":96,"line":97},"line",1,[94,99,101],{"class":100},"szBVR","extern",[94,103,105],{"class":104},"sZZnC"," \"C\"\n",[94,107,109,112,116,120,122,125,128,132],{"class":96,"line":108},2,[94,110,111],{"class":100},"void",[94,113,115],{"class":114},"sScJk"," led_task",[94,117,119],{"class":118},"sVt8B","(",[94,121,111],{"class":100},[94,123,124],{"class":100}," const",[94,126,127],{"class":100}," *",[94,129,131],{"class":130},"s4XuR"," argument",[94,133,134],{"class":118},")\n",[94,136,138],{"class":96,"line":137},3,[94,139,140],{"class":118},"{\n",[94,142,144],{"class":96,"line":143},4,[94,145,147],{"emptyLinePlaceholder":146},true,"\n",[94,149,151,154],{"class":96,"line":150},5,[94,152,153],{"class":100},"    for",[94,155,156],{"class":118},"(;;)\n",[94,158,160],{"class":96,"line":159},6,[94,161,162],{"class":118},"    {\n",[94,164,166,169,172,175,178,182],{"class":96,"line":165},7,[94,167,168],{"class":100},"        static",[94,170,171],{"class":100}," int",[94,173,174],{"class":118}," a ",[94,176,177],{"class":100},"=",[94,179,181],{"class":180},"sj4cs"," 5",[94,183,184],{"class":118},";\n",[94,186,188,191,194,197],{"class":96,"line":187},8,[94,189,190],{"class":118},"        bsp_led.",[94,192,193],{"class":114},"LED_Toggle",[94,195,196],{"class":118},"();",[94,198,200],{"class":199},"sJ8bj","  \u002F\u002F实例化后调用对象翻转电平函数\n",[94,202,204,207,209,212],{"class":96,"line":203},9,[94,205,206],{"class":114},"        osDelay",[94,208,119],{"class":118},[94,210,211],{"class":180},"500",[94,213,214],{"class":118},");\n",[94,216,218,221,224],{"class":96,"line":217},10,[94,219,220],{"class":118},"        a",[94,222,223],{"class":100},"++",[94,225,184],{"class":118},[94,227,229],{"class":96,"line":228},11,[94,230,231],{"class":118},"    }\n",[94,233,235],{"class":96,"line":234},12,[94,236,237],{"class":118},"}\n",[21,239,240],{},"点击Debug并选中型号",[21,242,243],{},[24,244],{"alt":26,"src":245},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage73.webp",[21,247,248],{},"然后就可以进入Debug界面",[21,250,251],{},[24,252],{"alt":26,"src":253},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage74.webp",[21,255,256],{},"点击开始按钮",[21,258,259],{},[24,260],{"alt":26,"src":261},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage75.webp",[21,263,264],{},"可以看到断点被成功命中，且可以通过左边窗口查看a的值。",[21,266,267],{},[24,268],{"alt":26,"src":269},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage76.webp",[21,271,272],{},"接着点击继续。",[21,274,275],{},[24,276],{"alt":26,"src":277},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage77.webp",[21,279,280],{},"下一个断点也被命中了",[21,282,283],{},[24,284],{"alt":26,"src":285},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage78.webp",[21,287,288],{},"接着点继续，发现a的值变为了6，符合我们程序的运行。",[21,290,291],{},[24,292],{"alt":26,"src":293},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage79.webp",[21,295,296],{},"这样就可以正常debug了。",[12,298,300],{"id":299},"vscode头文件配置","VScode头文件配置",[21,302,303],{},[304,305,306],"strong",{},"(这只是可以更好的编辑代码，这些头文件并没有被加入到编译环境中)",[17,308,310],{"id":309},"cc插件不推荐","C\u002FC++插件（不推荐）",[21,312,313],{},"如果有这种找不到头文件的情况，配置一下VScode的C\u002FC++插件的Include Path即可。",[21,315,316],{},"但是由于该插件需要同时配置编译器，所以可能会出一些各种各样的小问题。",[21,318,319],{},"而且该插件对于大型项目会很卡，可以选择直接看下方的clangd插件教程。",[21,321,322],{},[24,323],{"alt":26,"src":324},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage80.webp",[21,326,327],{},[24,328],{"alt":26,"src":329},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage81.webp",[21,331,332],{},[24,333],{"alt":26,"src":334},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage82.webp",[21,336,337],{},"在这里多加一行..\u002F**",[21,339,340],{},"除了以上这种方式，也可以通过修改c_cpp_properties.json文件进行。",[21,342,343,344,347],{},"输入 ",[91,345,346],{},"\"..\u002F**\""," (意思是将上一个目录(工程根目录)里的所有文件全部加载到Include Path中)",[21,349,350,351,354],{},"同时建议也把ARMCLANG的include文件加入到这里面 \"",[91,352,353],{},"\u002Fhome\u002Ftungchiahui\u002F.vcpkg\u002Fartifacts\u002F2139c4c6\u002Fcompilers.arm.armclang\u002F6.21.0\u002Finclude\u002F","\"",[21,356,357],{},"每个人的目录不同，但都是在用户文件夹的.vcpkg隐藏文件夹下，可以自己找找。（下方的图不完整，请根据上访内容进行添加）",[21,359,360],{},[24,361],{"alt":26,"src":362},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage83.webp",[21,364,365],{},"配置好之后，我们发现代码提示也正常了，虽然头文件还是有可能会被VScode误报错说找不到，但是其实已经可以正常编译了，也可以正常提示这些头文件了。",[21,367,368],{},[24,369],{"alt":26,"src":370},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage84.webp",[21,372,373],{},[24,374],{"alt":26,"src":375},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage85.webp",[21,377,378],{},[24,379],{"alt":26,"src":380},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage86.webp",[17,382,384],{"id":383},"clangd插件-非常推荐","Clangd插件 (非常推荐)",[386,387,388],"ol",{},[389,390,391],"li",{},"优势：由于clangd适合大型的cmake项目，在大型项目里表现比C\u002FC++插件优秀太多，所以笔者与MDK6都建议用clangd的语言服务器。",[21,393,394],{},[24,395],{"alt":26,"src":396},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage87.webp",[21,398,399],{},"现在最新版MDK6自带clangd插件。",[386,401,402],{"start":108},[389,403,404,405,408],{},"Windows需要下载安装一下LLVM (Linux一般不用管或者",[91,406,407],{},"sudo apt install llvm",")",[21,410,411],{},[412,413,414],"a",{"href":414,"rel":415},"https:\u002F\u002Fgithub.com\u002Fllvm\u002Fllvm-project\u002Freleases",[416],"nofollow",[21,418,419,420,423,424],{},"我下载的是LLVM 18.1.8，中选择",[91,421,422],{},"Assets","中选择",[91,425,426],{},"LLVM-18.1.8-win64.exe",[21,428,429],{},[24,430],{"alt":26,"src":431},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage88.webp",[21,433,434,435,438],{},"这里选择这个选项",[91,436,437],{},"Add LLVM to the system PATH for all users","，其他无脑下一步即可。",[21,440,441],{},[24,442],{"alt":26,"src":443},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage89.webp",[21,445,446],{},"可以打开terminal测试一下是否安装成功并配置好环境。",[85,448,452],{"className":449,"code":450,"language":451,"meta":26,"style":26},"language-powershell shiki shiki-themes github-light github-dark","clang -v\n","powershell",[91,453,454],{"__ignoreMap":26},[94,455,456],{"class":96,"line":97},[94,457,450],{},[21,459,460],{},[24,461],{"alt":26,"src":462},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage90.webp",[386,464,465],{"start":137},[389,466,467],{},"现在来安装clangd：",[21,469,470],{},"按住Ctrl shift P打开搜索框",[21,472,473],{},"输入clangd 找到下载语言服务器这一项目，点击安装clangd（请保持良好的网络状况）",[21,475,476],{},[24,477],{"alt":26,"src":478},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage91.webp",[386,480,481],{"start":143},[389,482,483],{},"接着配置clangd：",[21,485,486],{},"禁用C\u002FC++的代码提示功能",[21,488,489],{},[24,490],{"alt":26,"src":491},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage92.webp",[21,493,494],{},"如果没有上图的弹窗，可以进行手动关闭，依然是ctrl shift P,输入settings然后找到如下图的选项",[21,496,497],{},[24,498],{"alt":26,"src":499},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage93.webp",[21,501,502],{},"找到下图这个选项，改成disabled即可。",[21,504,505],{},[91,506,507],{},"\"C_Cpp.intelliSenseEngine\": \"disabled\"",[21,509,510],{},[24,511],{"alt":26,"src":512},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage94.webp",[21,514,515],{},"新建一个settings.json文件",[21,517,518],{},[24,519],{"alt":26,"src":520},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage95.webp",[21,522,523],{},"修改里面的内容，该内容是 cmake产生的compile_commands.json 文件所在的路径(路径会随MDK6版本更新而改变，请自己找文件所在路径)",[21,525,526],{},[24,527],{"alt":26,"src":528},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage96.webp",[21,530,531],{},[24,532],{"alt":26,"src":533},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage97.webp",[21,535,536],{},"接着找到armclang编译器的include目录，也添加进来，一般在用户文件夹下的.vcpkg隐藏文件夹下。",[21,538,539],{},"(现在已经无需找了)",[21,541,542],{},[24,543],{"alt":26,"src":544},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage98.webp",[21,546,547],{},"以下是Linux版本的settings.json示例",[85,549,554],{"className":550,"code":552,"language":553},[551],"language-text","{\n    \"clangd.arguments\": [\n        \"--compile-commands-dir=${workspaceFolder}\u002Ftmp\u002FTemplate_Linux\u002FTemplateLinux\"\n    ]\n}\n","text",[91,555,552],{"__ignoreMap":26},[21,557,558],{},"以下是Windows版本的settings.json示例",[21,560,561,562,565,566,569,570,565,573,576],{},"需要注意的是，Windows需要把盘符号变为小写，比如",[91,563,564],{},"C:\u002F","要改为",[91,567,568],{},"c:\u002F","然后",[91,571,572],{},"反斜杠\\",[91,574,575],{},"斜杠\u002F","。",[85,578,581],{"className":579,"code":552,"language":580,"meta":26,"style":26},"language-json shiki shiki-themes github-light github-dark","json",[91,582,583,587,595,600,605],{"__ignoreMap":26},[94,584,585],{"class":96,"line":97},[94,586,140],{"class":118},[94,588,589,592],{"class":96,"line":108},[94,590,591],{"class":180},"    \"clangd.arguments\"",[94,593,594],{"class":118},": [\n",[94,596,597],{"class":96,"line":137},[94,598,599],{"class":104},"        \"--compile-commands-dir=${workspaceFolder}\u002Ftmp\u002FTemplate_Linux\u002FTemplateLinux\"\n",[94,601,602],{"class":96,"line":143},[94,603,604],{"class":118},"    ]\n",[94,606,607],{"class":96,"line":150},[94,608,237],{"class":118},[21,610,611],{},"然后ctrl shift P搜索clangd找到如下图的选项",[21,613,614],{},[24,615],{"alt":26,"src":616},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage99.webp",[21,618,619],{},"代码提示就正常啦",[21,621,622],{},[24,623],{"alt":26,"src":624},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage100.webp",[12,626,628],{"id":627},"添加源文件对应project-items和头文件对应include-path到编译环境中",[304,629,630],{},"添加源文件(对应Project Items)和头文件(对应Include Path)到编译环境中",[17,632,634],{"id":633},"常规方法修改yaml文件","常规方法(修改yaml文件)",[636,637,638],"h5",{"id":638},"相关资料",[21,640,641],{},"添加源文件需要使用yaml标记语言修改cproject.yml文件。",[21,643,644,645],{},"官方为此提供了相关的更为详细的资料文档：",[412,646,647],{"href":647,"rel":648},"https:\u002F\u002Fgithub.com\u002FOpen-CMSIS-Pack\u002Fcmsis-toolbox\u002Fblob\u002Fmain\u002Fdocs\u002FYML-Input-Format.md#source-file-management",[416],[21,650,651],{},[24,652],{"alt":26,"src":653},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage101.webp",[21,655,656],{},[24,657],{"alt":26,"src":658},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage102.webp",[636,660,662],{"id":661},"创建文件c和h","创建文件(.c和.h)",[21,664,665],{},"我们这里先在bsp中创建4个文件分别放入到Src和Inc中。",[21,667,668,671],{},[24,669],{"alt":26,"src":670},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage103.webp",[24,672],{"alt":26,"src":673},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage104.webp",[636,675,676],{"id":676},"添加头文件路径",[21,678,679],{},[24,680],{"alt":26,"src":681},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage105.webp",[21,683,684],{},"将头文件所在的目录写入",[21,686,687],{},[24,688],{"alt":26,"src":689},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage106.webp",[85,691,694],{"className":692,"code":693,"language":553},[551],"      add-path:\n        - ..\u002FCore\u002FInc\n        - ..\u002FDrivers\u002FSTM32F1xx_HAL_Driver\u002FInc\n        - ..\u002FDrivers\u002FSTM32F1xx_HAL_Driver\u002FInc\u002FLegacy\n        - ..\u002FDrivers\u002FCMSIS\u002FDevice\u002FST\u002FSTM32F1xx\u002FInclude\n        - ..\u002FDrivers\u002FCMSIS\u002FInclude\n        - ..\u002Fbsp\u002Fboards\u002FInc\n        - ..\u002Fapplications\u002FInc\n",[91,695,693],{"__ignoreMap":26},[636,697,698],{"id":698},"添加源文件与分组",[21,700,701],{},[24,702],{"alt":26,"src":703},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage107.webp",[21,705,706],{},"在这里输入group的名字和所需要添加的源文件路径（这里因为applications里无源文件，所以我们注释掉）",[21,708,709],{},[24,710],{"alt":26,"src":711},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage108.webp",[85,713,717],{"className":714,"code":715,"language":716,"meta":26,"style":26},"language-ymal shiki shiki-themes github-light github-dark","    - group: bsp\u002Fboards\n      files:\n        - file: ..\u002Fbsp\u002Fboards\u002FSrc\u002Fgpio_demo.cpp\n        - file: ..\u002Fbsp\u002Fboards\u002FSrc\u002Fgpio_test.c\n\n    # - group: applications\n\n    #   files:\n","ymal",[91,718,719,724,729,734,739,743,748,752],{"__ignoreMap":26},[94,720,721],{"class":96,"line":97},[94,722,723],{},"    - group: bsp\u002Fboards\n",[94,725,726],{"class":96,"line":108},[94,727,728],{},"      files:\n",[94,730,731],{"class":96,"line":137},[94,732,733],{},"        - file: ..\u002Fbsp\u002Fboards\u002FSrc\u002Fgpio_demo.cpp\n",[94,735,736],{"class":96,"line":143},[94,737,738],{},"        - file: ..\u002Fbsp\u002Fboards\u002FSrc\u002Fgpio_test.c\n",[94,740,741],{"class":96,"line":150},[94,742,147],{"emptyLinePlaceholder":146},[94,744,745],{"class":96,"line":159},[94,746,747],{},"    # - group: applications\n",[94,749,750],{"class":96,"line":165},[94,751,147],{"emptyLinePlaceholder":146},[94,753,754],{"class":96,"line":187},[94,755,756],{},"    #   files:\n",[21,758,759],{},"源文件和头文件都已经成功导入了，我们可以对文件内容进行编写，看其是否能通过编译。",[636,761,762],{"id":762},"编写文件并编译",[21,764,765],{},[24,766],{"alt":26,"src":767},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage109.webp",[21,769,770],{},[24,771],{"alt":26,"src":772},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage110.webp",[21,774,775,778],{},[24,776],{"alt":26,"src":777},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage111.webp",[24,779],{"alt":26,"src":780},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage112.webp",[21,782,783],{},[24,784],{"alt":26,"src":785},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage113.webp",[21,787,788],{},"可以看到日志这几行，显示gpio_demo和gpio_test都成功被编译了",[85,790,794],{"className":791,"code":792,"language":793,"meta":26,"style":26},"language-bash shiki shiki-themes github-light github-dark","[14\u002F22] Building C object CMakeFiles\u002FTemplate_Linux.dir\u002Fhome\u002Ftungchiahui\u002Fuser\u002FSource\u002FSTM32_Projects\u002FN1_F407ZGT6_GPIO_Test\u002Fbsp\u002Fboards\u002FSrc\u002Fgpio_test.o\n[15\u002F22] Building C object CMakeFiles\u002FTemplate_Linux.dir\u002Fhome\u002Ftungchiahui\u002Fuser\u002FSource\u002FSTM32_Projects\u002FN1_F407ZGT6_GPIO_Test\u002FDrivers\u002FSTM32F1xx_HAL_Driver\u002FSrc\u002Fstm32f1xx_hal_flash_ex.o\n[16\u002F22] Building CXX object CMakeFiles\u002FTemplate_Linux.dir\u002Fhome\u002Ftungchiahui\u002Fuser\u002FSource\u002FSTM32_Projects\u002FN1_F407ZGT6_GPIO_Test\u002Fbsp\u002Fboards\u002FSrc\u002Fgpio_demo.o\n","bash",[91,795,796,801,806],{"__ignoreMap":26},[94,797,798],{"class":96,"line":97},[94,799,800],{"class":118},"[14\u002F22] Building C object CMakeFiles\u002FTemplate_Linux.dir\u002Fhome\u002Ftungchiahui\u002Fuser\u002FSource\u002FSTM32_Projects\u002FN1_F407ZGT6_GPIO_Test\u002Fbsp\u002Fboards\u002FSrc\u002Fgpio_test.o\n",[94,802,803],{"class":96,"line":108},[94,804,805],{"class":118},"[15\u002F22] Building C object CMakeFiles\u002FTemplate_Linux.dir\u002Fhome\u002Ftungchiahui\u002Fuser\u002FSource\u002FSTM32_Projects\u002FN1_F407ZGT6_GPIO_Test\u002FDrivers\u002FSTM32F1xx_HAL_Driver\u002FSrc\u002Fstm32f1xx_hal_flash_ex.o\n",[94,807,808],{"class":96,"line":137},[94,809,810],{"class":118},"[16\u002F22] Building CXX object CMakeFiles\u002FTemplate_Linux.dir\u002Fhome\u002Ftungchiahui\u002Fuser\u002FSource\u002FSTM32_Projects\u002FN1_F407ZGT6_GPIO_Test\u002Fbsp\u002Fboards\u002FSrc\u002Fgpio_demo.o\n",[17,812,813],{"id":813},"图形化",[636,815,816],{"id":816},"简介",[21,818,819],{},"由于ARM团队比较给力，短短2个月就搞出来了图形化操作，截止3月初已经更新。",[21,821,822],{},"ARM团队更新了什么图形化功能，下方教程就会推迟几天更新一下对应的内容。",[636,824,825],{"id":825},"添加源文件",[21,827,828],{},[24,829],{"alt":26,"src":830},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage114.webp",[21,832,833],{},"等待ARM公司更新功能中... ...",[835,836,837],"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":26,"searchDepth":108,"depth":108,"links":839},[840,841,842],{"id":14,"depth":137,"text":15},{"id":299,"depth":137,"text":300},{"id":627,"depth":137,"text":630},0,"0500","2024-01-21","2024-01-21-arm-keil-mdk6-jiao-cheng","\u002Fwiki\u002F2024-01-21-arm-keil-mdk6-jiao-cheng","Arm Keil MDK6教程","md",false,{},"\u002Fwiki\u002F2024-01-21-arm-keil-mdk6-jiao-cheng\u002F0500-jin-jie-shi-yong-jiao-cheng-quan-ping-tai-tong-yong",{"title":5,"description":26},"wiki\u002F2024-01-21-Arm-Keil-MDK6教程\u002F0500-进阶使用教程(全平台通用)","qoPpbEm-UdwR50HQrcTffhj8tHyzBABXBPkccmh63Eo",[857,862,868,874,880,886,888,894],{"path":858,"stem":859,"title":816,"authors":860,"date":845,"chapterOrder":861,"chapterDepth":843,"docKey":846,"docRoot":847,"docTitle":848,"isWikiDoc":146,"isWikiIndex":850},"\u002Fwiki\u002F2024-01-21-arm-keil-mdk6-jiao-cheng\u002F0100-jian-jie","wiki\u002F2024-01-21-Arm-Keil-MDK6教程\u002F0100-简介",[7],"0100",{"path":863,"stem":864,"title":865,"authors":866,"date":845,"chapterOrder":867,"chapterDepth":843,"docKey":846,"docRoot":847,"docTitle":848,"isWikiDoc":146,"isWikiIndex":850},"\u002Fwiki\u002F2024-01-21-arm-keil-mdk6-jiao-cheng\u002F0200-guan-fang-jiao-cheng","wiki\u002F2024-01-21-Arm-Keil-MDK6教程\u002F0200-官方教程","官方教程",[7],"0200",{"path":869,"stem":870,"title":871,"authors":872,"date":845,"chapterOrder":873,"chapterDepth":843,"docKey":846,"docRoot":847,"docTitle":848,"isWikiDoc":146,"isWikiIndex":850},"\u002Fwiki\u002F2024-01-21-arm-keil-mdk6-jiao-cheng\u002F0300-linux-huan-jing-da-jian-jiu","wiki\u002F2024-01-21-Arm-Keil-MDK6教程\u002F0300-Linux环境搭建（旧）","Linux环境搭建（旧）",[7],"0300",{"path":875,"stem":876,"title":877,"authors":878,"date":845,"chapterOrder":879,"chapterDepth":843,"docKey":846,"docRoot":847,"docTitle":848,"isWikiDoc":146,"isWikiIndex":850},"\u002Fwiki\u002F2024-01-21-arm-keil-mdk6-jiao-cheng\u002F0325-linux-huan-jing-da-jian-xin","wiki\u002F2024-01-21-Arm-Keil-MDK6教程\u002F0325-Linux环境搭建（新）","Linux环境搭建（新）",[7],"0325",{"path":881,"stem":882,"title":883,"authors":884,"date":845,"chapterOrder":885,"chapterDepth":843,"docKey":846,"docRoot":847,"docTitle":848,"isWikiDoc":146,"isWikiIndex":850},"\u002Fwiki\u002F2024-01-21-arm-keil-mdk6-jiao-cheng\u002F0400-windows-huan-jing-da-jian-jiu","wiki\u002F2024-01-21-Arm-Keil-MDK6教程\u002F0400-Windows环境搭建（旧）","Windows环境搭建（旧）",[7],"0400",{"path":852,"stem":854,"title":5,"authors":887,"date":845,"chapterOrder":844,"chapterDepth":843,"docKey":846,"docRoot":847,"docTitle":848,"isWikiDoc":146,"isWikiIndex":850},[7],{"path":889,"stem":890,"title":891,"authors":892,"date":845,"chapterOrder":893,"chapterDepth":843,"docKey":846,"docRoot":847,"docTitle":848,"isWikiDoc":146,"isWikiIndex":850},"\u002Fwiki\u002F2024-01-21-arm-keil-mdk6-jiao-cheng\u002F0600-chang-jian-wen-ti","wiki\u002F2024-01-21-Arm-Keil-MDK6教程\u002F0600-常见问题","常见问题",[7],"0600",{"path":847,"stem":895,"title":896,"authors":897,"date":845,"chapterOrder":898,"chapterDepth":843,"docKey":846,"docRoot":847,"docTitle":848,"isWikiDoc":146,"isWikiIndex":146},"wiki\u002F2024-01-21-Arm-Keil-MDK6教程\u002Findex","Arm-Keil-MDK6教程",[7],null,[900,902,905,908],{"name":7,"image":901},"\u002Fimages\u002Fmember_photo\u002F董佳辉.jpg",{"name":903,"image":904},"宫金良","\u002Fimages\u002Fmember_photo\u002F宫金良.jpg",{"name":906,"image":907},"巩丽","\u002Fimages\u002Fmember_photo\u002F巩丽.png",{"name":909,"image":910},"张彦斐","\u002Fimages\u002Fmember_photo\u002F张彦斐.jpg",1792431904806]