色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

云途車規MCU VSCode IDE工程使用教程

jf_ocihYtwl ? 來源:汽車電子expert成長之路 ? 2023-09-24 10:51 ? 次閱讀

作者按:隨著越來越多云途車規MCU芯片型號的量產,越來越多的客戶開始使用云途的車規MCU應用軟件開發工具鏈,其中基于CMake + ninja + GNU gcc toolchain的VSCode IDE尤為受到大家的歡迎,但是對于很多習慣了傳統IDE工程師來說,使用VSCode IDE難免會遇到問題,因此,我希望寫一系列相關的使用指南,通過自己實際使用中遇到的問題的解決方案為例進行介紹,希望能夠幫助大家快速上手。

如何使用Segger Ozone調試GCC/Keil/IAR編譯工程?

電腦本地將云途車規MCU的應用工程通過VSCode IDE(GCC/KEIL/IAR + CMake + Ninja)或者Keil IDE及IAR IDE進行編譯,生成二進制可執行文件:

VSCode IDE(GCC + CMake + Ninja)應用工程:<project_name>.elf

VSCode IDE(KEIL + CMake + Ninja)或者Keil IDE應用工程:<project_name>.axf

VSCode IDE(/IAR + CMake + Ninja)或者IAR IDE應用工程:<project_name>.out

YCT中配置生成VSCode IDE應用工程方法如下:

68b6c7c4-5933-11ee-939d-92fbcf53809c.png

68cdbc72-5933-11ee-939d-92fbcf53809c.png

68e7b514-5933-11ee-939d-92fbcf53809c.png

6904e33c-5933-11ee-939d-92fbcf53809c.png

下載安裝SEGGER Ozone調試軟件

https://www.segger.com/products/development-tools/ozone-j-link-debugger/

選擇一個匹配自己電腦操作系統的穩定的版本進行下載即可:

https://www.segger.com/downloads/jlink/#Ozone

6925520c-5933-11ee-939d-92fbcf53809c.png

下載到本地后,直接雙擊可執行exe進行傻瓜式安裝即可,此處不贅述。

Tips:如果在Ozone安裝之前JLINK的驅動已經安裝好,則需要使用JLINK的DLL updater更新一下JLINK驅動:

693f2d94-5933-11ee-939d-92fbcf53809c.png

69618dbc-5933-11ee-939d-92fbcf53809c.png

② 打開Ozone,選擇“Create New Project”打開新建工程向導

697a6486-5933-11ee-939d-92fbcf53809c.png

選擇目標MCU型號(Device)、內核寄存器(Register Set)和外設寄存器映射文件(Peripherals(Optional)), -> "Next":

69919bd8-5933-11ee-939d-92fbcf53809c.png

選擇目標器件時,通過在“Device”列輸入“YTM”可進行過濾篩選快速查找到云途車規MCU型號,但是其他是必須提前安裝好云途車規MCU的JLINK補丁:

69a521bc-5933-11ee-939d-92fbcf53809c.png

選擇工程目錄下“.vscode”的“chip.svd”文件(注意:僅在選擇VSCode作為IDE時YCT才會在“.vscode”目錄下生成該文件)作為調試時MCU外設寄存器映射文件:

69b6212e-5933-11ee-939d-92fbcf53809c.png

選擇JLINK調試器連接方式為使用“SWD接口,“4MHz通信速率,“USB”接口 ->"Next":

69cb62d2-5933-11ee-939d-92fbcf53809c.png

選擇要調試工程的可選elf文件,IAR為后綴.out的文件 -> "Next":

69e8cad4-5933-11ee-939d-92fbcf53809c.png

保持默認配置 -> "Finish"即可完成Ozone調試工程創建:

6a0a3066-5933-11ee-939d-92fbcf53809c.png

選擇右上角的“Download & Reset Program”進行程序下載連接:

6a1c3d38-5933-11ee-939d-92fbcf53809c.png

Ozone調試概覽如下,更多細節請參考其用戶手冊或者幫助文檔:

6a2ed902-5933-11ee-939d-92fbcf53809c.png

如何在添加用戶自己的代碼到CMake編譯目錄?

Case 1:用戶自己添加的應用代碼文件較少,直接添加到“app”目錄即可

這些情況,直接將添加的.c和.h文件添加到YCT生成VSCode IDE應用工程默認生成的“app”文件夾目錄即可:

6a4cfbd0-5933-11ee-939d-92fbcf53809c.png

Case 2:用戶自己添加的應用代碼文件比較多,需要添加多個文件夾,則需要修改CMakelist.txt

在YCT創建VSCode IDE應用工程根目錄下有一個CMakeLists.txt,其中存放了CMake編譯的規則,找到保留關鍵詞“# USER CODE BEGIN add_executable”和“# USER CODE END add_executable”,將默認添加app目錄的CMake腳本拷貝粘貼到其間,以防止重新生成工程時被覆蓋。然后修改添加編譯目錄,比如下圖中的應用工程,添加了“General_CryptoAlgo”,“MIRACL”和“SMx”3個用戶代碼目錄及其子目錄到CMake的elf編譯目錄中:

6a6137d0-5933-11ee-939d-92fbcf53809c.png

在target_include_directories(${project_elf} )行添加用戶目錄,可添加多個,以空格隔開即可;

在file(GLOB dir_sources "/*.c" "/*.c")行添加想要編譯源代碼文件,其中*.c為任意C源代碼,*.cpp為任意C++源代碼, *.S/*.s為任意匯編源代碼(注意CMake區分文件名后綴的大小寫,必須與實際源代碼文件名匹配)

接下的的if語句判斷源文件“dir_sources ”是否為空,不為空,即存在源代碼需要編譯,則調用后續foreach語句遍歷所有源文件進行編譯。

如何編譯生成靜態庫?

以如下工程為例,將其中的MIRACL目錄下的所有C源代碼(將其添加到YCT生成的SDK/MCAL VSCode IDE應用工程中)編譯成一個靜態庫(比如libYTM32B1M_MIRACL.a)供其他應用工程調用:

6a7ce49e-5933-11ee-939d-92fbcf53809c.png

具體步驟如下:

在應用工程根目錄下的CMakelist.txt中,使用set()函數創建一個CMake的編譯目標miracl_lib,并使用add_library()函數添加為靜態庫:

set(miracl_lib YTM32B1M_MIRACL)
add_library(${miracl_lib})

Tips推薦將其放在“# USER CODE BEGIN include”和“# USER CODE END include”之間,以防止YCT重新生成SDK/MCAL驅動配置時被覆蓋:

6a9bb4c8-5933-11ee-939d-92fbcf53809c.png

將要鏈接到靜態庫中的C源文件和頭文件包含目錄添加到上面創建的編譯目標miracl_lib,具體腳本如下:

#add "MIRACL/src as include path  for static library
target_include_directories(${miracl_lib} PRIVATE MIRACL/src MIRACL/inc)
#add all source files in SMx folder 
file(GLOB dir_sources "MIRACL/src/*.c")
if(dir_sources)
    foreach(src ${dir_sources})
        target_sources(${miracl_lib} PRIVATE ${src})
    endforeach()
endif()

Tips:推薦將其放在“USER CODE BEGIN add_executable”和“# USER CODE END add_executable”之間,以防止YCT重新生成SDK/MCAL驅動配置時被覆蓋:

6aad8572-5933-11ee-939d-92fbcf53809c.png

保存以上修改后的CMakelist.txt,然后打開VSCode的CMake Tools擴展插件,就能夠發現上面創建的靜態庫編譯目標了,最終生成的靜態庫為libYTM32B1M_MIRACL.a,自動添加了前綴“lib”和后綴“.a”:

6acab5de-5933-11ee-939d-92fbcf53809c.png

Tips:如果沒有安裝CMake Tools擴展插件,大家可以通過VSCode的Extension(Ctrl + Shift + X), 搜索“CMake Tools”在線安裝:

6afcc8e4-5933-11ee-939d-92fbcf53809c.png

在CMake Tool中選中靜態庫編譯目標,點擊右側的編譯(Build)圖標,即可開始靜態庫的編譯,

6b2a02aa-5933-11ee-939d-92fbcf53809c.png

VSCode IDE的“OUTPUT”窗口輸出靜態庫編譯鏈接過程log信息如下:

6b3a949e-5933-11ee-939d-92fbcf53809c.png

最終生成的靜態庫位于工程目錄下的“build”文件夾下:

6b59bdc4-5933-11ee-939d-92fbcf53809c.png

Tips:若靜態庫源代碼有修改,需要重新編譯,則需要收到刪除“build”目錄,否則ninja將輸出“ no work to do”:

6b6d326e-5933-11ee-939d-92fbcf53809c.png

如何使用靜態庫?

接下來,介紹如何在YCT生成的SDK/MCAL VSCode IDE應用工程中調用以上生成的靜態庫,具體步驟如下:

使用YCT配置創建一個與上面靜態庫編譯目標MCU相同內核(比如YTM32B1Mx系列使用的CM33內核,則編譯的靜態庫可以通用)的云途車規MCU SDK/MCAL VSCode IDE應用工程;

將需要使用的靜態庫文件和相應的頭文件添加到VSCode IDE應用工程:

6b88a6b6-5933-11ee-939d-92fbcf53809c.png

在工程CMakelist.txt文件中,使用target_include_directories() 函數將靜態庫文件使用的頭文件路徑添加到應用工程elf編譯目標包含路徑:

target_include_directories(${project_elf} PRIVATE MIRACL/inc  MIRACL)

Tips:推薦將其放在“USER CODE BEGIN add_executable”和“# USER CODE END add_executable”之間,以防止YCT重新生成SDK/MCAL驅動配置時被覆蓋:

6b9bc548-5933-11ee-939d-92fbcf53809c.png

在工程CMakelist.txt文件中,使用target_link_libraries() 函數將用戶靜態庫添加到應用工程elf鏈接庫:

target_link_libraries(${project_elf} libYTM32B1M_MIRACL.a -L${CMAKE_SOURCE_DIR}/MIRACL)

Tips:以上函數中,需要使用完整的靜態庫文件名“libYTM32B1M_MIRACL.a”,并通過“-L${CMAKE_SOURCE_DIR}/MIRACL”指定正確的搜索路徑,否則鏈接生成工程elf時會報找不到添加的靜態庫文件的錯誤;

Tips:推薦將其放在“USER CODE BEGIN target_link_libraries”和“# USER CODE END target_link_libraries”之間,以防止YCT重新生成SDK/MCAL驅動配置時被覆蓋:

6bb6f9f8-5933-11ee-939d-92fbcf53809c.png

在應用工程中,包含所需靜態庫接口函數的頭文件,然后調用庫函數即可。

以上就是今天先跟大家分享的內容,希望對大家有啥幫助和啟發。

若大家在實際工作中遇到了云途車規MCU VSCode IDE工程使用和配置相關的問題,也歡迎留言指出,我將在這一系列文章的下篇文章中為大家解答。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 芯片
    +關注

    關注

    455

    文章

    50714

    瀏覽量

    423154
  • mcu
    mcu
    +關注

    關注

    146

    文章

    17123

    瀏覽量

    350992
  • IDE
    IDE
    +關注

    關注

    0

    文章

    338

    瀏覽量

    46740
  • vscode
    +關注

    關注

    1

    文章

    155

    瀏覽量

    7698
  • 云途
    +關注

    關注

    1

    文章

    4

    瀏覽量

    1941

原文標題:云途車規MCU VSCode IDE工程使用和配置指南(一)

文章出處:【微信號:汽車電子expert成長之路,微信公眾號:汽車電子expert成長之路】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    半導體:基于Arm Cortex-M33的高端MCU,對標NXP域控制器

    在8月5日第十二屆松山湖中國IC創新高峰論壇,面向“智慧出行”的創新IC新品推介會上,蘇州半導體有限公司帶來了其今年量產的高端32位MCU
    的頭像 發表于 08-07 14:35 ?7531次閱讀
    <b class='flag-5'>云</b><b class='flag-5'>途</b>半導體:基于Arm Cortex-M33的高端<b class='flag-5'>車</b><b class='flag-5'>規</b><b class='flag-5'>MCU</b>,對標NXP域控制器

    高可靠、高性能MCU, 滿足車身控制多元應用

    /汽車&新興產業深度報告(2022-7-12);電子工程專輯(2023-6-19) 從上表可看出車用MCU對工作溫度要求更寬的范圍,笙泉MCU
    發表于 09-15 12:04

    VSCode EIDE的AT32 MCU

    AT32 MCU With VSCode EIDE描述了VSCode開發環境中,使用Embedded IDE管理AT32項目。
    發表于 10-26 07:38

    解析MCU的技術難點

    近日,四維圖新旗下全資子公司AutoChips杰發科技對外宣布,其MCU產品線又添重量級新成員——AC7801X,這是杰發科技繼2018年底量產的國內首顆
    發表于 02-16 09:34 ?1.1w次閱讀

    完成數億元A+輪融資,打造全系列高端芯格局

    時間,獲得眾多一線資本青睞,完成5輪融資,并率先實現產品量產出貨,充分證明了其作為頂尖芯片選手的實力,吸引了眾多投資者與行業相關企業的目光。 ? ? 憑實力出圈力爭產品達到國際一線水準 ?
    發表于 07-29 10:44 ?486次閱讀
    <b class='flag-5'>云</b><b class='flag-5'>途</b>完成數億元A+輪融資,打造全系列高端<b class='flag-5'>車</b><b class='flag-5'>規</b>芯格局

    國民技術MCU型號應用與參數

    國民技術MCU型號應用與參數
    發表于 11-30 14:17 ?1659次閱讀
    國民技術<b class='flag-5'>車</b><b class='flag-5'>規</b><b class='flag-5'>MCU</b>型號應用與參數

    貞光科技:什么是MCU

    MCU也被稱為微控制單元,是將CPU、SRAM、Flash、計數器及其它數字和模擬模塊集成到一顆芯片上,構成一個小而完善的微型計算機系統。MCU主要可以分為消費級、工業級、級和軍用
    的頭像 發表于 10-13 17:47 ?1364次閱讀
    貞光科技:什么是<b class='flag-5'>車</b><b class='flag-5'>規</b>級<b class='flag-5'>MCU</b>?

    ?國民技術MCU型號應用與參數

    國民技術作為新晉MCU廠家,除了通用MCU市場,目前面向汽車電子領域,已全面發展全系列車MCU、安全芯片、電池管理芯片等核心器件,并協同合作伙伴為汽車電子行業市場與客戶提供
    的頭像 發表于 11-22 10:46 ?3682次閱讀
    ?國民技術<b class='flag-5'>車</b><b class='flag-5'>規</b><b class='flag-5'>MCU</b>型號應用與參數

    2022MCU的發展趨勢及國產替代分析

    貞光科技深耕汽車電子、工業及軌道交通領域十余年,為客戶提供MCU電容、
    的頭像 發表于 12-30 15:57 ?1039次閱讀
    2022<b class='flag-5'>車</b><b class='flag-5'>規</b><b class='flag-5'>MCU</b>的發展趨勢及國產替代分析

    國產MCU發展趨勢

    貞光科技深耕汽車電子、工業及軌道交通領域十余年,為客戶提供MCU電容、
    的頭像 發表于 12-30 16:00 ?723次閱讀
    國產<b class='flag-5'>車</b><b class='flag-5'>規</b><b class='flag-5'>MCU</b>發展趨勢

    MCU軟件開發環境搭建及使用詳解

    MCU的嵌入式軟件開發領域,過去很長一段時間都是以基于Eclipse框架開發的IDE為主,典型此類IDE包括:NXP的CodeWarrior 10.x/11.xIDE, S32DS IDE
    的頭像 發表于 08-22 10:12 ?7098次閱讀
    <b class='flag-5'>云</b><b class='flag-5'>途</b><b class='flag-5'>車</b><b class='flag-5'>規</b><b class='flag-5'>MCU</b>軟件開發環境搭建及使用詳解

    AT32 MCU Develop with VSCode

    電子發燒友網站提供《AT32 MCU Develop with VSCode.pdf》資料免費下載
    發表于 09-19 15:22 ?2次下載
    AT32 <b class='flag-5'>MCU</b> Develop with <b class='flag-5'>VSCode</b>

    基于YCT的SDK配置工程升級方法

    配置工具(YCT - Yuntu Config Tool)自去年Q4推出以來,已經有不少
    的頭像 發表于 11-14 11:16 ?1597次閱讀
    基于YCT的<b class='flag-5'>云</b><b class='flag-5'>途</b>SDK配置<b class='flag-5'>工程</b>升級方法

    戰略合作 | IAR全面支持MCU

    與知名國產汽車芯片公司江蘇半導體有限公司(以下簡稱“半導體”)聯合宣布,兩家公司達成戰略合作,最新發布的IAR Embedded Workbench for Arm 9.50版
    發表于 01-29 17:03 ?516次閱讀
    戰略合作 | IAR全面支持<b class='flag-5'>云</b><b class='flag-5'>途</b><b class='flag-5'>車</b><b class='flag-5'>規</b>級<b class='flag-5'>MCU</b>

    MCU設計廠商半導體完成新一輪融資

    半導體,一家專注于MCU設計的公司,近日宣布完成了數億元人民幣的B2輪融資。本輪融資由國調基金領投,錫創投等機構跟投。
    的頭像 發表于 02-05 09:40 ?755次閱讀
    主站蜘蛛池模板: 摸董事长的裤裆恋老小说| 国产一区日韩二区欧美三区| 把腿张开再深点好爽宝贝| av av在线| 俄罗斯18xv在线观看| 国产精品久久久久精品A片软件| 国产精品系列在线一区| 国产亚洲欧美日韩综合综合二区| 和搜子的日子 在线观看| 久久理论片| 妻中蜜在线播放| 乌克兰女人与动ZOZO| 亚洲伊人色| 99国产精品偷窥熟女精品视频| 成人伦理影院| 国产在线观看香蕉视频| 美女扒开腿让男生桶爽免费APP | 无码国产成人午夜在线观看不卡| 亚洲VA天堂VA欧美VA在线| 中文字幕久久熟女人妻AV免费| 99视频久九热精品| 国产精品人妻无码99999| 久久热在线视频精品| 人人啪日日观看在线| 亚洲成人在线免费观看| 2021久久精品免费观看| 福利一区国产| 久久精品一区二区影院| 日本无码人妻丰满熟妇5G影院 | 伊人国产在线观看| 超碰 无码 中文字幕| 国语自产拍大学生在线观看| 蜜桃传媒在线观看入口| 天美传媒在线观看完整高清 | av视频在线免播放观看| 国产精品欧美久久久久天天影视| 久久婷婷五月综合色丁香花| 视频一区国产| 最近更新2019中文字幕国语| 国产AV果冻传奇麻豆| 两性午夜色视频免费网站|