[{"data":1,"prerenderedAt":1324},["ShallowReactive",2],{"wiki-page-\u002Fwiki\u002F2024-01-21-arm-keil-mdk6-jiao-cheng\u002F0300-linux-huan-jing-da-jian-jiu":3,"wiki-doc-items-2024-01-21-arm-keil-mdk6-jiao-cheng":1268,"wiki:author-members":1312},{"id":4,"title":5,"authors":6,"body":8,"chapterDepth":1255,"chapterOrder":1256,"date":1257,"description":23,"docKey":1258,"docRoot":1259,"docTitle":1260,"extension":1261,"isWikiDoc":594,"isWikiIndex":1262,"meta":1263,"navigation":594,"path":1264,"seo":1265,"stem":1266,"wikiDepth":68,"__hash__":1267},"wiki\u002Fwiki\u002F2024-01-21-Arm-Keil-MDK6教程\u002F0300-Linux环境搭建（旧）.md","Linux环境搭建（旧）",[7],"董佳辉",{"type":9,"value":10,"toc":1246},"minimark",[11,24,28,47,50,55,127,132,140,156,161,194,199,212,218,224,266,271,291,294,299,303,307,321,324,330,344,349,354,358,361,366,369,374,377,382,385,390,395,400,403,422,426,429,434,437,442,447,451,456,459,462,465,468,473,476,481,484,489,492,497,502,505,508,513,516,521,524,527,530,535,540,544,548,554,557,613,616,720,723,739,745,784,787,790,793,799,802,805,808,866,869,874,877,882,885,896,918,921,926,929,973,978,985,1003,1006,1009,1014,1017,1020,1030,1039,1042,1045,1063,1066,1071,1074,1079,1082,1097,1102,1105,1122,1125,1130,1145,1147,1149,1154,1158,1164,1167,1172,1175,1180,1236,1239,1242],[12,13,14],"p",{},[15,16,17],"em",{},[18,19,20],"strong",{},[21,22,23],"code",{},"（本教程为2024年1月创建的，可能与以后的版本有些出入）",[25,26,27],"h3",{"id":27},"需要准备的软件",[29,30,31,35,38,41,44],"ol",{},[32,33,34],"li",{},"CubeMX最新版",[32,36,37],{},"VScode最新版",[32,39,40],{},"vcpkg包管理工具",[32,42,43],{},"pyOcd（如何安装下方有教程）",[32,45,46],{},"ST-Link驱动（如何安装下方有教程）",[25,48,49],{"id":49},"vcpkg安装与环境配置",[29,51,52],{},[32,53,54],{},"下载依赖包",[56,57,62],"pre",{"className":58,"code":59,"language":60,"meta":61,"style":61},"language-bash shiki shiki-themes github-light github-dark","sudo apt-get update\nsudo apt-get upgrade\nsudo apt-get install build-essential tar curl zip unzip\nsudo apt-get install default-jre\n","bash","",[21,63,64,80,90,115],{"__ignoreMap":61},[65,66,69,73,77],"span",{"class":67,"line":68},"line",1,[65,70,72],{"class":71},"sScJk","sudo",[65,74,76],{"class":75},"sZZnC"," apt-get",[65,78,79],{"class":75}," update\n",[65,81,83,85,87],{"class":67,"line":82},2,[65,84,72],{"class":71},[65,86,76],{"class":75},[65,88,89],{"class":75}," upgrade\n",[65,91,93,95,97,100,103,106,109,112],{"class":67,"line":92},3,[65,94,72],{"class":71},[65,96,76],{"class":75},[65,98,99],{"class":75}," install",[65,101,102],{"class":75}," build-essential",[65,104,105],{"class":75}," tar",[65,107,108],{"class":75}," curl",[65,110,111],{"class":75}," zip",[65,113,114],{"class":75}," unzip\n",[65,116,118,120,122,124],{"class":67,"line":117},4,[65,119,72],{"class":71},[65,121,76],{"class":75},[65,123,99],{"class":75},[65,125,126],{"class":75}," default-jre\n",[29,128,129],{"start":82},[32,130,131],{},"克隆vcpkg仓库",[12,133,134],{},[135,136,137],"a",{"href":137,"rel":138},"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fvcpkg\u002Ftree\u002Fmaster",[139],"nofollow",[56,141,143],{"className":58,"code":142,"language":60,"meta":61,"style":61},"git clone https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fvcpkg.git\n",[21,144,145],{"__ignoreMap":61},[65,146,147,150,153],{"class":67,"line":68},[65,148,149],{"class":71},"git",[65,151,152],{"class":75}," clone",[65,154,155],{"class":75}," https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fvcpkg.git\n",[29,157,158],{"start":92},[32,159,160],{},"生成vcpkg程序",[56,162,164],{"className":58,"code":163,"language":60,"meta":61,"style":61},"cd vcpkg\nsudo chmod a+x .\u002Fbootstrap-vcpkg.sh\nsudo .\u002Fbootstrap-vcpkg.sh\n",[21,165,166,175,188],{"__ignoreMap":61},[65,167,168,172],{"class":67,"line":68},[65,169,171],{"class":170},"sj4cs","cd",[65,173,174],{"class":75}," vcpkg\n",[65,176,177,179,182,185],{"class":67,"line":82},[65,178,72],{"class":71},[65,180,181],{"class":75}," chmod",[65,183,184],{"class":75}," a+x",[65,186,187],{"class":75}," .\u002Fbootstrap-vcpkg.sh\n",[65,189,190,192],{"class":67,"line":92},[65,191,72],{"class":71},[65,193,187],{"class":75},[29,195,196],{"start":117},[32,197,198],{},"配置环境",[56,200,202],{"className":58,"code":201,"language":60,"meta":61,"style":61},"vim ~\u002F.bashrc\n",[21,203,204],{"__ignoreMap":61},[65,205,206,209],{"class":67,"line":68},[65,207,208],{"class":71},"vim",[65,210,211],{"class":75}," ~\u002F.bashrc\n",[12,213,214],{},[215,216],"img",{"alt":61,"src":217},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage1.webp",[12,219,220,221],{},"这个 ",[18,222,223],{},"VCPKG_HOME是vcpkg的目录",[56,225,227],{"className":58,"code":226,"language":60,"meta":61,"style":61},"#配置vcpkg环境 \nexport VCPKG_HOME=\u002Fhome\u002Ftungchiahui\u002Fuser\u002Fapplications\u002Fvcpkg  #目录需要改为你的vcpkg的目录\nexport PATH=$VCPKG_HOME:$PATH\n",[21,228,229,235,254],{"__ignoreMap":61},[65,230,231],{"class":67,"line":68},[65,232,234],{"class":233},"sJ8bj","#配置vcpkg环境 \n",[65,236,237,241,245,248,251],{"class":67,"line":82},[65,238,240],{"class":239},"szBVR","export",[65,242,244],{"class":243},"sVt8B"," VCPKG_HOME",[65,246,247],{"class":239},"=",[65,249,250],{"class":243},"\u002Fhome\u002Ftungchiahui\u002Fuser\u002Fapplications\u002Fvcpkg  ",[65,252,253],{"class":233},"#目录需要改为你的vcpkg的目录\n",[65,255,256,258,261,263],{"class":67,"line":92},[65,257,240],{"class":239},[65,259,260],{"class":243}," PATH",[65,262,247],{"class":239},[65,264,265],{"class":243},"$VCPKG_HOME:$PATH\n",[12,267,268],{},[215,269],{"alt":61,"src":270},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage2.webp",[56,272,274],{"className":58,"code":273,"language":60,"meta":61,"style":61},"source ~\u002F.bashrc\nvcpkg --version\n",[21,275,276,283],{"__ignoreMap":61},[65,277,278,281],{"class":67,"line":68},[65,279,280],{"class":170},"source",[65,282,211],{"class":75},[65,284,285,288],{"class":67,"line":82},[65,286,287],{"class":71},"vcpkg",[65,289,290],{"class":170}," --version\n",[12,292,293],{},"出现如图提示则安装成功！",[12,295,296],{},[215,297],{"alt":61,"src":298},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage3.webp",[25,300,302],{"id":301},"mdk5工程生成与armclangac6编译器配置","MDK5工程生成与ARMCLANG(AC6)编译器配置",[304,305,306],"h4",{"id":306},"工程生成与编译器配置",[29,308,309,315],{},[32,310,311,314],{},[18,312,313],{},"方式一"," ：配置编译器教程需要在Windows进行，在Linux上目前很难修改编译器选项，可以参考下方Windows教程里的生成工程并配置默认编译器。(实质就是把编译器从默认的AC5改成AC6)",[32,316,317,320],{},[18,318,319],{},"方式二"," ：克隆已经生成好的模板(模板目前只有几个常用型号的)",[12,322,323],{},"仓库链接：",[12,325,326],{},[135,327,328],{"href":328,"rel":329},"https:\u002F\u002Fgithub.com\u002FTungChiahuiMCURepos\u002FCubeMX_CMake_Template",[139],[56,331,333],{"className":58,"code":332,"language":60,"meta":61,"style":61},"git clone https:\u002F\u002Fgithub.com\u002FTungChiahuiMCURepos\u002FCubeMX_CMake_Template.git\n",[21,334,335],{"__ignoreMap":61},[65,336,337,339,341],{"class":67,"line":68},[65,338,149],{"class":71},[65,340,152],{"class":75},[65,342,343],{"class":75}," https:\u002F\u002Fgithub.com\u002FTungChiahuiMCURepos\u002FCubeMX_CMake_Template.git\n",[12,345,346],{},[215,347],{"alt":61,"src":348},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage4.webp",[12,350,351],{},[215,352],{"alt":61,"src":353},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage5.webp",[304,355,357],{"id":356},"工程配置比如初始化一个gpio口并创建任务使其电平翻转","工程配置(比如初始化一个GPIO口并创建任务使其电平翻转)",[12,359,360],{},"先复制一份工程模板",[12,362,363],{},[215,364],{"alt":61,"src":365},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage6.webp",[12,367,368],{},"重命名工程",[12,370,371],{},[215,372],{"alt":61,"src":373},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage7.webp",[12,375,376],{},"打开CubeMX(并点击最上方File->Load Project 或者 直接点击下方图中的图标)",[12,378,379],{},[215,380],{"alt":61,"src":381},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage8.webp",[12,383,384],{},"找到工程并Load，并配置好工程",[12,386,387],{},[215,388],{"alt":61,"src":389},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage9.webp",[12,391,392],{},[215,393],{"alt":61,"src":394},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage10.webp",[12,396,397],{},[215,398],{"alt":61,"src":399},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage11.webp",[12,401,402],{},"在文件夹MDK-ARM下打开终端",[56,404,406],{"className":58,"code":405,"language":60,"meta":61,"style":61},"cd MDK-ARM\ncode .\n",[21,407,408,415],{"__ignoreMap":61},[65,409,410,412],{"class":67,"line":68},[65,411,171],{"class":170},[65,413,414],{"class":75}," MDK-ARM\n",[65,416,417,419],{"class":67,"line":82},[65,418,21],{"class":71},[65,420,421],{"class":75}," .\n",[25,423,425],{"id":424},"安装并激活mdk6插件","安装并激活MDK6插件",[12,427,428],{},"下载好ARM Keil Studio Pack",[12,430,431],{},[215,432],{"alt":61,"src":433},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage12.webp",[12,435,436],{},"激活MDK6插件",[12,438,439],{},[215,440],{"alt":61,"src":441},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage13.webp",[12,443,444],{},[215,445],{"alt":61,"src":446},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage14.webp",[25,448,450],{"id":449},"初次转化mdk5工程并下载依赖包","初次转化MDK5工程并下载依赖包",[12,452,453],{},[215,454],{"alt":61,"src":455},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage15.webp",[12,457,458],{},"右下角把这些要安装的pack都安装一下，有什么提示要允许的都允许一下",[12,460,461],{},"在安装Packs的时候，需要保证一个良好的网络环境(需要一个有魔法的网络环境)，",[12,463,464],{},"这个阶段会持续5-20分钟，请慢慢等待。(看你的机场速度而决定)",[12,466,467],{},"(只有第一次运行需要这些操作)",[12,469,470],{},[215,471],{"alt":61,"src":472},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage16.webp",[12,474,475],{},"这个调查可以不查",[12,477,478],{},[215,479],{"alt":61,"src":480},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage17.webp",[12,482,483],{},"如图即是安装成功",[12,485,486],{},[215,487],{"alt":61,"src":488},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage18.webp",[12,490,491],{},"如果下方环境已经配置好了，请右键点击uvprojx选择Convert",[12,493,494],{},[215,495],{"alt":61,"src":496},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage19.webp",[12,498,499],{},[215,500],{"alt":61,"src":501},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage20.webp",[12,503,504],{},"如果环境没配置好，右键这个文件，选择active environment(图中因为我的环境配置好了，所以是deactive失能)",[12,506,507],{},"然后再执行上一步的Convert",[12,509,510],{},[215,511],{"alt":61,"src":512},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage21.webp",[12,514,515],{},"如图已经初始化成功了",[12,517,518],{},[215,519],{"alt":61,"src":520},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage22.webp",[25,522,523],{"id":523},"编译",[12,525,526],{},"点击build按钮发现文件大小一样就是编译成功了。",[12,528,529],{},"若编译失败，则看一下是否是工程文件列表被多配置了一个点。（看下方进阶教程里的添加源文件解决）",[12,531,532],{},[215,533],{"alt":61,"src":534},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage23.webp",[12,536,537],{},[215,538],{"alt":61,"src":539},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage24.webp",[25,541,543],{"id":542},"linux如何配置st-link等调试器","Linux如何配置ST-Link等调试器？",[304,545,547],{"id":546},"安装pyocdlinux","安装pyOCD(Linux)",[12,549,550],{},[135,551,552],{"href":552,"rel":553},"https:\u002F\u002Fgithub.com\u002Fpyocd\u002FpyOCD",[139],[12,555,556],{},"先打开终端输入（如果你是debian系的系统，如Ubuntu，请看下方的教程）",[56,558,560],{"className":58,"code":559,"language":60,"meta":61,"style":61},"sudo apt install python3-pip\npython3 -mpip install -U pyocd\n\n# 如果上面的不行，则输入下方的\npip3 install -U pyocd\n",[21,561,562,574,590,596,601],{"__ignoreMap":61},[65,563,564,566,569,571],{"class":67,"line":68},[65,565,72],{"class":71},[65,567,568],{"class":75}," apt",[65,570,99],{"class":75},[65,572,573],{"class":75}," python3-pip\n",[65,575,576,579,582,584,587],{"class":67,"line":82},[65,577,578],{"class":71},"python3",[65,580,581],{"class":170}," -mpip",[65,583,99],{"class":75},[65,585,586],{"class":170}," -U",[65,588,589],{"class":75}," pyocd\n",[65,591,592],{"class":67,"line":92},[65,593,595],{"emptyLinePlaceholder":594},true,"\n",[65,597,598],{"class":67,"line":117},[65,599,600],{"class":233},"# 如果上面的不行，则输入下方的\n",[65,602,604,607,609,611],{"class":67,"line":603},5,[65,605,606],{"class":71},"pip3",[65,608,99],{"class":75},[65,610,586],{"class":170},[65,612,589],{"class":75},[12,614,615],{},"如果还不行，且提示",[56,617,619],{"className":58,"code":618,"language":60,"meta":61,"style":61},"error: externally-managed-environment\n\n× This environment is externally managed\n╰─> To install Python packages system-wide, try apt install\n    python3-xyz, where xyz is the package you are trying to\n    install.\n",[21,620,621,629,633,653,683,714],{"__ignoreMap":61},[65,622,623,626],{"class":67,"line":68},[65,624,625],{"class":71},"error:",[65,627,628],{"class":75}," externally-managed-environment\n",[65,630,631],{"class":67,"line":82},[65,632,595],{"emptyLinePlaceholder":594},[65,634,635,638,641,644,647,650],{"class":67,"line":92},[65,636,637],{"class":71},"×",[65,639,640],{"class":75}," This",[65,642,643],{"class":75}," environment",[65,645,646],{"class":75}," is",[65,648,649],{"class":75}," externally",[65,651,652],{"class":75}," managed\n",[65,654,655,658,661,664,666,669,672,675,678,680],{"class":67,"line":117},[65,656,657],{"class":71},"╰─",[65,659,660],{"class":243},"> ",[65,662,663],{"class":75},"To",[65,665,99],{"class":75},[65,667,668],{"class":75}," Python",[65,670,671],{"class":75}," packages",[65,673,674],{"class":75}," system-wide,",[65,676,677],{"class":75}," try",[65,679,568],{"class":75},[65,681,682],{"class":75}," install\n",[65,684,685,688,691,694,696,699,702,705,708,711],{"class":67,"line":603},[65,686,687],{"class":71},"    python3-xyz,",[65,689,690],{"class":75}," where",[65,692,693],{"class":75}," xyz",[65,695,646],{"class":75},[65,697,698],{"class":75}," the",[65,700,701],{"class":75}," package",[65,703,704],{"class":75}," you",[65,706,707],{"class":75}," are",[65,709,710],{"class":75}," trying",[65,712,713],{"class":75}," to\n",[65,715,717],{"class":67,"line":716},6,[65,718,719],{"class":71},"    install.\n",[12,721,722],{},"则使用（debian系的系统）",[56,724,726],{"className":58,"code":725,"language":60,"meta":61,"style":61},"sudo apt install python3-pyocd\n",[21,727,728],{"__ignoreMap":61},[65,729,730,732,734,736],{"class":67,"line":68},[65,731,72],{"class":71},[65,733,568],{"class":75},[65,735,99],{"class":75},[65,737,738],{"class":75}," python3-pyocd\n",[12,740,741,744],{},[18,742,743],{},"或者"," 说直接克隆仓库",[56,746,750],{"className":747,"code":748,"language":749,"meta":61,"style":61},"language-Python shiki shiki-themes github-light github-dark","git clone https:\u002F\u002Fgithub.com\u002Fpyocd\u002FpyOCD.git\ncd pyOCD\npip3 install .\n","Python",[21,751,752,774,779],{"__ignoreMap":61},[65,753,754,757,760,763,766,769,771],{"class":67,"line":68},[65,755,756],{"class":243},"git clone https:",[65,758,759],{"class":239},"\u002F\u002F",[65,761,762],{"class":243},"github.com",[65,764,765],{"class":239},"\u002F",[65,767,768],{"class":243},"pyocd",[65,770,765],{"class":239},[65,772,773],{"class":243},"pyOCD.git\n",[65,775,776],{"class":67,"line":82},[65,777,778],{"class":243},"cd pyOCD\n",[65,780,781],{"class":67,"line":92},[65,782,783],{"class":243},"pip3 install .\n",[12,785,786],{},"这样也可以安装pyOCD",[12,788,789],{},"接下来，我们需要安装ST-Link等调试器的驱动。",[12,791,792],{},"pyOCD安装调试器驱动官方教程：",[12,794,795],{},[135,796,797],{"href":797,"rel":798},"https:\u002F\u002Fgithub.com\u002Fpyocd\u002FpyOCD\u002Ftree\u002Fmain\u002Fudev",[139],[12,800,801],{},"还是需要用到pyOCD仓库里的文件。",[12,803,804],{},"如果你没clone仓库请尽快克隆。",[12,806,807],{},"在仓库目录下，输入以下命令",[56,809,811],{"className":747,"code":810,"language":749,"meta":61,"style":61},"cd udev\nsudo cp *.rules \u002Fetc\u002Fudev\u002Frules.d\n#重启udev\nsudo udevadm control --reload\nsudo udevadm trigger\n",[21,812,813,818,844,849,861],{"__ignoreMap":61},[65,814,815],{"class":67,"line":68},[65,816,817],{"class":243},"cd udev\n",[65,819,820,823,826,829,831,834,836,839,841],{"class":67,"line":82},[65,821,822],{"class":243},"sudo cp ",[65,824,825],{"class":239},"*",[65,827,828],{"class":243},".rules ",[65,830,765],{"class":239},[65,832,833],{"class":243},"etc",[65,835,765],{"class":239},[65,837,838],{"class":243},"udev",[65,840,765],{"class":239},[65,842,843],{"class":243},"rules.d\n",[65,845,846],{"class":67,"line":92},[65,847,848],{"class":233},"#重启udev\n",[65,850,851,854,858],{"class":67,"line":117},[65,852,853],{"class":243},"sudo udevadm control ",[65,855,857],{"class":856},"s7hpK","--",[65,859,860],{"class":170},"reload\n",[65,862,863],{"class":67,"line":603},[65,864,865],{"class":243},"sudo udevadm trigger\n",[12,867,868],{},"这样ST-Link就可以正常被检测出来了",[12,870,871],{},[215,872],{"alt":61,"src":873},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage25.webp",[12,875,876],{},"如果没被检测出来，请插拔一下ST-Link，然后点击Add Device添加一下设备。",[12,878,879],{},[215,880],{"alt":61,"src":881},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage26.webp",[304,883,884],{"id":884},"测试连接设备",[12,886,887,888,891,892,895],{},"随便插上一个debugger，比如我这里插上一个连着",[21,889,890],{},"stm32f103c8t6","的",[21,893,894],{},"ST-link","：",[56,897,899],{"className":58,"code":898,"language":60,"meta":61,"style":61},"pyocd --version\n\npyocd list\n",[21,900,901,907,911],{"__ignoreMap":61},[65,902,903,905],{"class":67,"line":68},[65,904,768],{"class":71},[65,906,290],{"class":170},[65,908,909],{"class":67,"line":82},[65,910,595],{"emptyLinePlaceholder":594},[65,912,913,915],{"class":67,"line":92},[65,914,768],{"class":71},[65,916,917],{"class":75}," list\n",[12,919,920],{},"像下图这样正常识别出来了，就说明成功了。",[12,922,923],{},[215,924],{"alt":61,"src":925},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2026\u002F04\u002F17\u002F1790773421631-f4d9d780.webp",[12,927,928],{},"进一步，可以继续测试",[56,930,932],{"className":58,"code":931,"language":60,"meta":61,"style":61},"pyocd list --targets | grep -i stm32f103\n\npyocd list --targets --name stm32f103\n",[21,933,934,956,960],{"__ignoreMap":61},[65,935,936,938,941,944,947,950,953],{"class":67,"line":68},[65,937,768],{"class":71},[65,939,940],{"class":75}," list",[65,942,943],{"class":170}," --targets",[65,945,946],{"class":239}," |",[65,948,949],{"class":71}," grep",[65,951,952],{"class":170}," -i",[65,954,955],{"class":75}," stm32f103\n",[65,957,958],{"class":67,"line":82},[65,959,595],{"emptyLinePlaceholder":594},[65,961,962,964,966,968,971],{"class":67,"line":92},[65,963,768],{"class":71},[65,965,940],{"class":75},[65,967,943],{"class":170},[65,969,970],{"class":170}," --name",[65,972,955],{"class":75},[12,974,975],{},[215,976],{"alt":61,"src":977},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2026\u002F04\u002F17\u002F1790774325694-5b53e98c.webp",[12,979,980,981,984],{},"发现是",[21,982,983],{},"stm32f103rc","，然后尝试连接该设备：",[56,986,988],{"className":58,"code":987,"language":60,"meta":61,"style":61},"pyocd commander -t stm32f103rc\n",[21,989,990],{"__ignoreMap":61},[65,991,992,994,997,1000],{"class":67,"line":68},[65,993,768],{"class":71},[65,995,996],{"class":75}," commander",[65,998,999],{"class":170}," -t",[65,1001,1002],{"class":75}," stm32f103rc\n",[12,1004,1005],{},"如果成功，通常会进入 pyOCD commander：",[12,1007,1008],{},"然后你可以输入：\nstatus\n再退出：\nexit",[12,1010,1011],{},[215,1012],{"alt":61,"src":1013},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2026\u002F04\u002F17\u002F1790774481385-67797193.webp",[12,1015,1016],{},"status 能返回 Running，说明不是“只枚举到了 USB”，而是真的已经连进目标 MCU 了。",[12,1018,1019],{},"成功了。",[12,1021,1022,1023,1026,1027,1029],{},"但是你会发现，咱们明明插的是",[21,1024,1025],{},"stm32f103c8","，为何识别出",[21,1028,983],{},"呢？",[12,1031,1032,1033,1035,1036,1038],{},"pyOCD 当前内置目标里确实有 ",[21,1034,983],{},"，但没有内置 ",[21,1037,1025],{},"；\npyOCD 官方也说明 target 类型决定 Flash 算法、内存映射等信息，所以正式下载程序时最好不要长期拿 RC 冒充 C8。",[12,1040,1041],{},"更规范的做法是给 pyOCD 安装 STM32F103C8 对应的 CMSIS-Pack：",[12,1043,1044],{},"先查找是否有：",[56,1046,1048],{"className":58,"code":1047,"language":60,"meta":61,"style":61},"pyocd pack find stm32f103c8\n",[21,1049,1050],{"__ignoreMap":61},[65,1051,1052,1054,1057,1060],{"class":67,"line":68},[65,1053,768],{"class":71},[65,1055,1056],{"class":75}," pack",[65,1058,1059],{"class":75}," find",[65,1061,1062],{"class":75}," stm32f103c8\n",[12,1064,1065],{},"第一次跑这个会先下载索引，等一会儿吧（需要特殊网络环境）",[12,1067,1068],{},[215,1069],{"alt":61,"src":1070},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2026\u002F04\u002F17\u002F1790774784709-8b876bb3.webp",[12,1072,1073],{},"找到后，显示没安装：",[12,1075,1076],{},[215,1077],{"alt":61,"src":1078},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2026\u002F04\u002F17\u002F1790774906596-98d2eb3f.webp",[12,1080,1081],{},"再安装：",[56,1083,1085],{"className":58,"code":1084,"language":60,"meta":61,"style":61},"pyocd pack install stm32f103c8\n",[21,1086,1087],{"__ignoreMap":61},[65,1088,1089,1091,1093,1095],{"class":67,"line":68},[65,1090,768],{"class":71},[65,1092,1056],{"class":75},[65,1094,99],{"class":75},[65,1096,1062],{"class":75},[12,1098,1099],{},[215,1100],{"alt":61,"src":1101},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2026\u002F04\u002F17\u002F1790774963118-4448d8b4.webp",[12,1103,1104],{},"再查：",[56,1106,1108],{"className":58,"code":1107,"language":60,"meta":61,"style":61},"pyocd list --targets --name stm32f103\n",[21,1109,1110],{"__ignoreMap":61},[65,1111,1112,1114,1116,1118,1120],{"class":67,"line":68},[65,1113,768],{"class":71},[65,1115,940],{"class":75},[65,1117,943],{"class":170},[65,1119,970],{"class":170},[65,1121,955],{"class":75},[12,1123,1124],{},"可以看到已经可以支持一堆设备了。",[12,1126,1127],{},[215,1128],{"alt":61,"src":1129},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2026\u002F04\u002F17\u002F1790775069337-bff493ff.webp",[56,1131,1133],{"className":58,"code":1132,"language":60,"meta":61,"style":61},"pyocd commander -t stm32f103c8\n",[21,1134,1135],{"__ignoreMap":61},[65,1136,1137,1139,1141,1143],{"class":67,"line":68},[65,1138,768],{"class":71},[65,1140,996],{"class":75},[65,1142,999],{"class":170},[65,1144,1062],{"class":75},[12,1146,1005],{},[12,1148,1008],{},[12,1150,1151],{},[215,1152],{"alt":61,"src":1153},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2026\u002F04\u002F17\u002F1790775243515-955576aa.webp",[304,1155,1157],{"id":1156},"更新st-link最新驱动linux","更新ST-Link最新驱动(Linux)",[12,1159,1160],{},[135,1161,1162],{"href":1162,"rel":1163},"https:\u002F\u002Fwww.st.com\u002Fen\u002Fdevelopment-tools\u002Fstsw-link007.html#get-software",[139],[12,1165,1166],{},"暂时无法在飞书文档外展示此内容",[12,1168,1169],{},[215,1170],{"alt":61,"src":1171},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage27.webp",[12,1173,1174],{},"下载后的文件解压出来。",[12,1176,1177],{},[215,1178],{"alt":61,"src":1179},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F01\u002F21\u002Fimage28.webp",[56,1181,1183],{"className":747,"code":1182,"language":749,"meta":61,"style":61},"sudo apt install .\u002Fst-stlink-udev-rules-1.0.3-2-linux-all.deb\n",[21,1184,1185],{"__ignoreMap":61},[65,1186,1187,1190,1192,1195,1198,1201,1203,1205,1207,1210,1212,1215,1218,1220,1223,1225,1228,1230,1233],{"class":67,"line":68},[65,1188,1189],{"class":243},"sudo apt install .",[65,1191,765],{"class":239},[65,1193,1194],{"class":243},"st",[65,1196,1197],{"class":239},"-",[65,1199,1200],{"class":243},"stlink",[65,1202,1197],{"class":239},[65,1204,838],{"class":243},[65,1206,1197],{"class":239},[65,1208,1209],{"class":243},"rules",[65,1211,1197],{"class":239},[65,1213,1214],{"class":170},"1.0",[65,1216,1217],{"class":243},".3",[65,1219,1197],{"class":239},[65,1221,1222],{"class":170},"2",[65,1224,1197],{"class":239},[65,1226,1227],{"class":243},"linux",[65,1229,1197],{"class":239},[65,1231,1232],{"class":170},"all",[65,1234,1235],{"class":243},".deb\n",[12,1237,1238],{},"重启VScode即可",[12,1240,1241],{},"(下方还有其他有关的教程操作，请往下滑)",[1243,1244,1245],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}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);}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 pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .s7hpK, html code.shiki .s7hpK{--shiki-default:#B31D28;--shiki-default-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic}",{"title":61,"searchDepth":82,"depth":82,"links":1247},[1248,1249,1250,1251,1252,1253,1254],{"id":27,"depth":92,"text":27},{"id":49,"depth":92,"text":49},{"id":301,"depth":92,"text":302},{"id":424,"depth":92,"text":425},{"id":449,"depth":92,"text":450},{"id":523,"depth":92,"text":523},{"id":542,"depth":92,"text":543},0,"0300","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\u002F0300-linux-huan-jing-da-jian-jiu",{"title":5,"description":23},"wiki\u002F2024-01-21-Arm-Keil-MDK6教程\u002F0300-Linux环境搭建（旧）","po3eepQ6XGvliaad_JsEGQlWESwXECdO0lj9YplTVTQ",[1269,1275,1281,1283,1289,1295,1301,1307],{"path":1270,"stem":1271,"title":1272,"authors":1273,"date":1257,"chapterOrder":1274,"chapterDepth":1255,"docKey":1258,"docRoot":1259,"docTitle":1260,"isWikiDoc":594,"isWikiIndex":1262},"\u002Fwiki\u002F2024-01-21-arm-keil-mdk6-jiao-cheng\u002F0100-jian-jie","wiki\u002F2024-01-21-Arm-Keil-MDK6教程\u002F0100-简介","简介",[7],"0100",{"path":1276,"stem":1277,"title":1278,"authors":1279,"date":1257,"chapterOrder":1280,"chapterDepth":1255,"docKey":1258,"docRoot":1259,"docTitle":1260,"isWikiDoc":594,"isWikiIndex":1262},"\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":1264,"stem":1266,"title":5,"authors":1282,"date":1257,"chapterOrder":1256,"chapterDepth":1255,"docKey":1258,"docRoot":1259,"docTitle":1260,"isWikiDoc":594,"isWikiIndex":1262},[7],{"path":1284,"stem":1285,"title":1286,"authors":1287,"date":1257,"chapterOrder":1288,"chapterDepth":1255,"docKey":1258,"docRoot":1259,"docTitle":1260,"isWikiDoc":594,"isWikiIndex":1262},"\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":1290,"stem":1291,"title":1292,"authors":1293,"date":1257,"chapterOrder":1294,"chapterDepth":1255,"docKey":1258,"docRoot":1259,"docTitle":1260,"isWikiDoc":594,"isWikiIndex":1262},"\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":1296,"stem":1297,"title":1298,"authors":1299,"date":1257,"chapterOrder":1300,"chapterDepth":1255,"docKey":1258,"docRoot":1259,"docTitle":1260,"isWikiDoc":594,"isWikiIndex":1262},"\u002Fwiki\u002F2024-01-21-arm-keil-mdk6-jiao-cheng\u002F0500-jin-jie-shi-yong-jiao-cheng-quan-ping-tai-tong-yong","wiki\u002F2024-01-21-Arm-Keil-MDK6教程\u002F0500-进阶使用教程(全平台通用)","进阶使用教程(全平台通用)",[7],"0500",{"path":1302,"stem":1303,"title":1304,"authors":1305,"date":1257,"chapterOrder":1306,"chapterDepth":1255,"docKey":1258,"docRoot":1259,"docTitle":1260,"isWikiDoc":594,"isWikiIndex":1262},"\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":1259,"stem":1308,"title":1309,"authors":1310,"date":1257,"chapterOrder":1311,"chapterDepth":1255,"docKey":1258,"docRoot":1259,"docTitle":1260,"isWikiDoc":594,"isWikiIndex":594},"wiki\u002F2024-01-21-Arm-Keil-MDK6教程\u002Findex","Arm-Keil-MDK6教程",[7],null,[1313,1315,1318,1321],{"name":7,"image":1314},"\u002Fimages\u002Fmember_photo\u002F董佳辉.jpg",{"name":1316,"image":1317},"宫金良","\u002Fimages\u002Fmember_photo\u002F宫金良.jpg",{"name":1319,"image":1320},"巩丽","\u002Fimages\u002Fmember_photo\u002F巩丽.png",{"name":1322,"image":1323},"张彦斐","\u002Fimages\u002Fmember_photo\u002F张彦斐.jpg",1792431904751]