在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

基于Ubuntu Server編譯YTM32 SDK工程

冬至子 ? 來源:嵌入式客棧 ? 作者:vesperW ? 2023-10-23 17:22 ? 次閱讀

需求

Linux系統環境下搭建SDK的編譯環境:

  • 方便加入到持續集成工具鏈
  • Linux系統中運行armgcc的速度更快,適合較為頻繁的CI驗證過程
  • 服務器上多使用Linux系統,比較容易找到裝Linux系統的服務器,用舊電腦、虛擬機或者云服務均可
  • 一些客戶需要,要么規避工具鏈的商業付費授權,要么習慣使用Linux系統(歐美開發者

安裝與配置

配置虛擬機聯網模式

VirtualBox網絡模式,默認是NAT,可改為橋接模式。

在橋接模式下,虛擬主機同物理主機相互獨立,通過物理主機連接的路由器組網(在Wifi網絡中不需要再輸入無線路由密碼),在同一個局域網網段。橋接模式下的虛擬主機,同在局域網中加入一個物理主機服務器最接近。

為了驗證虛擬主機系統已經聯網成功,可通過ifconfig命令查看Linux主機的ip地址:

image.png

圖x 查看遠程服務器ip地址

前期的一些關于網絡的配置工作,仍需要在虛擬機界面下完成。例如,先要安裝并啟用SSH服務,使得本地主機可以通過SSH連接到遠程主機。

啟用ssh連接

sudo apt install openssh-server # 安裝ssh server  
sudo service ssh start  # 啟動ssh服務  
sudo ufw allow 22 # 更新防火墻規則,開放22號端口

為了方便在本地主機(物理主機)系統中操作服務器,接下來將在本地主機使用SSH終端訪問遠程主機(虛擬主機)系統。

image.png

圖x 使用Tera Term建立同遠程主機的SSH連接

登錄后,接下來的配置工作就都可以在Tera Term終端中進行了。如圖x所示。

image.png

圖x 使用Tera Term建立同遠程主機的SSH連接2

啟用ftp連接

通過FTP連接,本機主機可以向遠程主機傳送文件和下載文件。如此,可以在本地主機下載好必要的軟件包,例如armgcc的工具鏈軟件包。

在遠程主機安裝并啟用FTP服務:

sudo apt-get install vsftpd # 安裝vsftpd  
sudo systemctl start vsftpd # 啟用vsftpd服務  
sudo systemctl enable vsftpd

配置vsfptd,啟用讀寫訪問權限:

sudo nano /etc/vsftpd.conf # 修改配置文件

默認僅需要開啟寫使能即可:

write_enable=YES

保存修改配置后,重啟服務:

sudo systemctl restart vsftpd

在本地主機的Windows系統上,可以使用WinSCP作為FTP客戶端。如圖x所示。

image.png

圖x 使用FTP向遠程主機傳文件

安裝armgcc編譯工具鏈

Ubuntu 18.04的軟件源中,gcc-arm-none-eabi工具集的版本比較老,通常要使用較新版的編譯器,可以通過直接解壓壓縮包的方式安裝到遠程主機的Linux系統中。

在Arm的官網下載Linux版本的gcc-arm-none-eabi工具集,如圖x所示。

image.png

圖x 下載Linux版本的gcc-arm-none-eabi工具集

使用WinSCP將下載好的gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2文件,上傳至遠程主機的目錄/home/andrew/ytm32-mcu/tools中,再解壓:

1.jpg

最后,將編譯器程序所在的目錄添加到Linux的環境變量中。

1.jpg

在文件結尾處添加:

1.jpg

保存.bashrc文件后,重新激活:

1.jpg

此時,在bash中試用arm-none-eabi-gcc命令,可以看到,bash已經可以檢索到armgcc的編譯器:

andrew@andrew-pc:~/ytm32-mcu$ arm-none-eabi-gcc --version  
arm-none-eabi-gcc (GNU Arm Embedded Toolchain 10.3-2021.10) 10.3.1 20210824 (release)  
Copyright (C) 2020 Free Software Foundation, Inc.  
This is free software; see the source for copying conditions.  There is NO  
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
  
andrew@andrew-pc:~/ytm32-mcu$

確認make工具

YTM32的SDK使用Makefile組織源碼工程。

PS:Ninja對Windows的支持似乎要好于Linux,因此YTM32的SDK在Windows系統中搭建免費的開發環境,就選用了Ninja。Make在Windows系統上沒有專門的軟件包,不能在Windows原生的命令行環境中直接調用,只得通過mingw環境套用一個兼容性的make工具。

但是,Make在Linux系統環境下是天然被支持的,因此在Linux系統環境下,YTM32的SDK優先使用Make工具。

在bash中,試著運行make命令,確認是否已經安裝。

andrew@andrew-pc:~/ytm32-mcu$ make --version  
GNU Make 4.1  
Built for x86_64-pc-linux-gnu  
Copyright (C) 1988-2014 Free Software Foundation, Inc.  
License GPLv3+: GNU GPL version 3 or later < http://gnu.org/licenses/gpl.html >  
This is free software: you are free to change and redistribute it.  
There is NO WARRANTY, to the extent permitted by law.  
andrew@andrew-pc:~/ytm32-mcu$

確認過眼神,是對的人。

驗證

通過WinSCP將SDK的軟件包傳送至遠程主機,解壓軟件包:

1.jpg

然后以hello_world工程為例,切換至hello_world工程的Makefile文件所在目錄,試著編譯一下:

andrew@andrew-pc:~/ytm32-mcu/YTM32Bx_SDK_RTM_1.1.0/sdk/demos/YTM32B1MD1/hello_world/GCC$ make
======================================================================
Checked for uname, found: Linux
Assuming Unix like environment
======================================================================
Creating directory for object files
======================================================================
Compiling FLASH/flash/YTM32B1MD1_startup_gcc.o
======================================================================
Compiling FLASH/flash/dma_driver.o
======================================================================
Compiling FLASH/flash/dma_hw_access.o
======================================================================
Compiling FLASH/flash/dma_irq.o
======================================================================
Compiling FLASH/flash/interrupt_manager.o
======================================================================
Compiling FLASH/flash/pins_driver.o
======================================================================
Compiling FLASH/flash/pins_port_hw_access.o
======================================================================
Compiling FLASH/flash/linflexd_uart_driver.o
======================================================================
Compiling FLASH/flash/linflexd_uart_irq.o
======================================================================
Compiling FLASH/flash/clock_YTM32B1Mx.o
======================================================================
Compiling FLASH/flash/osif_baremetal.o
======================================================================
Compiling FLASH/flash/printf.o
======================================================================
Compiling FLASH/flash/startup.o
======================================================================
Compiling FLASH/flash/system_YTM32B1MD1.o
======================================================================
Compiling FLASH/flash/clock_config.o
======================================================================
Compiling FLASH/flash/peripherals_config.o
======================================================================
Compiling FLASH/flash/pin_mux.o
======================================================================
Compiling FLASH/flash/main.o
======================================================================
Linking to FLASH/flash.elf
   text    data     bss     dec     hex filename
   6604      84    9324   16012    3e8c FLASH/flash.elf
======================================================================
Build complete!

Bingo。

鑒于大多數在服務器上做CI(持續集成,Continuous Integration)只是編譯,不做下載和調試,本文暫不繼續介紹下載可執行文件的操作。

實際上,編譯之后的可執行文件,例如flash.elf,可以通過WinSCP取回到本地主機,在Windows系統下通過各種下載器(例如JLink或者DAPLink)下載到芯片上,或者通過Bootloader的方式更新固件,用戶可以根據需要選用合適的操作方式。

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

    關注

    9

    文章

    345

    瀏覽量

    31552
  • FTP
    FTP
    +關注

    關注

    0

    文章

    110

    瀏覽量

    40635
  • 虛擬機
    +關注

    關注

    1

    文章

    917

    瀏覽量

    28197
  • SSH
    SSH
    +關注

    關注

    0

    文章

    189

    瀏覽量

    16337
  • Ubuntu系統
    +關注

    關注

    0

    文章

    91

    瀏覽量

    3939
收藏 人收藏

    評論

    相關推薦

    YTM32的LIN通信協議引擎LinFlexD外設模塊詳解

    YTM32微控制器的LINFlexD外設模塊,實現了LIN協議控制器的功能,可以支持LIN總線協議的主機和從機功能。
    的頭像 發表于 10-08 11:15 ?1997次閱讀
    <b class='flag-5'>YTM32</b>的LIN通信協議引擎LinFlexD外設模塊詳解

    YTM32的模數轉換器ADC外設模塊詳解

    YTM32的ADC轉換器外設最多可以集成32個輸入通道,最高12b轉換精度,最快可以支持2M Sps的12b采樣。
    的頭像 發表于 10-09 16:35 ?1885次閱讀
    <b class='flag-5'>YTM32</b>的模數轉換器ADC外設模塊詳解

    YTM32的增強型定時器eTMR外設模塊簡介

    YTM32微控制器上集成的eTMR模塊,是一個定時器外設,下轄多至8個通道
    的頭像 發表于 10-31 14:18 ?1203次閱讀
    <b class='flag-5'>YTM32</b>的增強型定時器eTMR外設模塊簡介

    Ubuntu Server菜鳥配置手冊

    Ubuntu Server菜鳥配置手冊──目錄 1 安裝Ubuntu Server 4 2 簡單的配置好服務器網絡和SSH 12 3 搭建一個基于 Apache2、PHP 和 Mysq
    發表于 05-22 00:54 ?54次下載

    opencv編譯安裝筆記(Linux、Ubuntu

    本文介紹了兩種opencv編譯安裝筆記:Linux下編譯安裝OpenCV和Ubuntu 下安裝 OpenCV。有需要的小伙伴可以看看。
    發表于 12-03 10:33 ?5178次閱讀
    opencv<b class='flag-5'>編譯</b>安裝筆記(Linux、<b class='flag-5'>Ubuntu</b> )

    firefly3399PRO-JD4編譯Ubuntu 固件簡介

    編譯 Ubuntu 固件(GPT) 為了方便用戶的使用與開發,官方提供了Linux開發的整套sdk,本章詳細的說明SDK的具體用法。 準備工作 下載源碼 下載repo工具
    的頭像 發表于 12-17 16:42 ?3342次閱讀
    firefly3399PRO-JD4<b class='flag-5'>編譯</b><b class='flag-5'>Ubuntu</b> 固件簡介

    fireflyROC-RK3308B-CC固件編譯工具簡介

    固件編譯工具(Docker 方式) 說明 SDK編譯工具 - Docker 方式,通過 Firelfy 定制的 Ubuntu 16.04 Docker鏡像,快速搭建
    的頭像 發表于 12-20 09:30 ?1985次閱讀

    微雪電子RK3308主板CC固件編譯工具介紹

    SDK編譯工具 - Docker 方式,通過 Firelfy 定制的 Ubuntu 16.04 Docker鏡像,快速搭建SDK所需的編譯
    的頭像 發表于 12-23 15:40 ?2163次閱讀

    fireflyAIO-3288J主板編譯Ubuntu16.04固件簡介

    編譯 Ubuntu16.04 固件(GPT) 前言 本 SDK 開發環境是在 Ubuntu 上開發測試的。我們推薦使用 Ubuntu
    的頭像 發表于 12-26 14:54 ?3280次閱讀
    fireflyAIO-3288J主板<b class='flag-5'>編譯</b><b class='flag-5'>Ubuntu</b>16.04固件簡介

    【時擎科技AT1000開發板試用體驗】官方Linux sdk編譯配置

    linux編譯源碼的小伙伴說說。Ubuntu版本: Ubuntu 20.04.3 LTS。 在收到時擎科技提供的SDK后目錄結構如下: 一個為sdk
    的頭像 發表于 11-22 14:31 ?617次閱讀
    【時擎科技AT1000開發板試用體驗】官方Linux <b class='flag-5'>sdk</b><b class='flag-5'>編譯</b>配置

    RK3568 SDK編譯

    RK3568 SDK編譯
    的頭像 發表于 12-13 11:46 ?1636次閱讀
    RK3568 <b class='flag-5'>SDK</b> 的<b class='flag-5'>編譯</b>

    RK3568 SDK編譯

    SDK的開發環境是在Ubuntu系統上開發測試的。推薦使用Ubuntu18.04系統進行編譯。其它的Linux版本可能需要對軟件包做相應的調整,除了系統外,還有其它硬件方面的要求。
    發表于 12-13 11:40 ?59次下載

    SS524V100 SDK安裝編譯

    SS524V100SDK安裝編譯osdrv注意事項(一)一、開發環境windows10電腦+虛擬機15Pro+Ubuntu18.0.4二、在linux服務器上安裝交叉工具鏈
    發表于 10-23 17:30 ?6次下載

    RK3568 編譯sdk技巧

    我司RK3568對外提供源代碼是以sdk的形式提供,包括但不僅限于uboot、kernel、buildroot、debian源碼。在編譯sdk的過程中往往需要安裝大量的第三方安裝包,同時也要保證宿主
    的頭像 發表于 08-30 11:44 ?522次閱讀
    RK3568 <b class='flag-5'>編譯</b><b class='flag-5'>sdk</b>技巧

    RK3588 SDK入門之編譯使用篇

    前言:在上一篇文章中,我們已經配置好了Ubuntu虛擬機。本期將重點介紹如何Ubuntu虛擬機中使用RK3588的SDK。具體內容包括SDK的下載與安裝、環境變量的配置、以及
    的頭像 發表于 11-22 01:07 ?675次閱讀
    RK3588 <b class='flag-5'>SDK</b>入門之<b class='flag-5'>編譯</b>使用篇
    主站蜘蛛池模板: 操熟逼| 高清一区二区三区免费| 亚洲人成亚洲人成在线观看 | 国产人成高清视频观看| 日日摸夜夜添免费毛片小说| 在线观看日本亚洲一区| 天堂bt资源www在线| 丁香综合| 网站在线播放| 四虎4hu永久免费国产精品| 国产福利网站| 深爱五月激情| 手机在线黄色网址| 又大又粗进出白浆直流动态图| 免费网址视频在线看| 色多多在线看| 天天拍天天色| 久久99热久久精品99| 激情综合婷婷| 6080国产午夜精品| 日韩欧美一区二区三区不卡视频| 亚洲午夜免费视频| 色播四房间| 久久久噜噜噜久久久午夜| 国产亚洲精品aa在线看| 完整日本特级毛片| 永久免费观看视频| 男女交性视频播放 视频 视频| 久久人成| 欧美另类69| 女人精aaaa片一级毛片女女| 久久semm亚洲国产| 天堂bt资源新版在线| 天天干天天碰| 亚洲三级免费观看| 一级片a| 不卡免费在线视频| 播放个毛片看看| 日本欧美一区二区三区不卡视频| 久久久久久88色偷偷| 五月丁香|