chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

怎樣在Linux上開發(fā)STM32程序

454398 ? 來源:網(wǎng)絡(luò)整理 ? 作者:網(wǎng)絡(luò)整理 ? 2019-11-19 17:44 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

步驟1:下載所需的一切

怎樣在Linux上開發(fā)STM32程序

您需要下載三個(gè)部分才能正常工作:

用于ARM的GCC編譯器

STM32固件文件

St-link實(shí)用程序

Sample Project

編譯器是將我們的C代碼和所有其他庫文件編譯成stm32控制器可以理解的機(jī)器語言的主要軟件。下載此編譯器的最新預(yù)編譯版本。

包含STM32固件的文件夾是保存主處理器運(yùn)行所需的所有啟動(dòng)文件和核心文件的文件夾。我們將使用HAL已超越的標(biāo)準(zhǔn)外圍設(shè)備庫。我更喜歡StPeriphLibrary,因?yàn)槭褂迷撎幚砥鞯墓径荚谑褂盟鼈儯驗(yàn)樗δ軓?qiáng)大,更老舊并且受支持。它也更堅(jiān)固。它不會(huì)減少初始化外圍設(shè)備或打開LED所需的工作,但是會(huì)迫使您學(xué)習(xí)這些處理器的工作方式。這樣一來,您將對(duì)內(nèi)部工作有更多的了解,從而可以對(duì)任何任務(wù)進(jìn)行編程

最后一個(gè)下載的軟件是st-link實(shí)用程序。它在github上維護(hù),用于通過板上的stlink IC作為SWD/JTAG編程器/調(diào)試器將編譯的二進(jìn)制文件傳輸?shù)教幚砥鳌?/p>

我還提供了一個(gè)示例項(xiàng)目文件夾稍后再下載。它位于第一個(gè)VIDEO1文件夾中。

步驟2:安裝軟件

下載后我建議您將所有文件都放在一個(gè)公用文件夾中,因?yàn)樗鼈兌汲鲇谙嗤哪康亩黄鹗褂谩N覍⑺形募A放在HOME目錄中一個(gè)名為“ Embedded”的文件夾中。

我們將從最簡(jiǎn)單的STM32庫開始。您下載的文件夾可以留在這里。只需確保四處挖掘以查看適當(dāng)文件的存儲(chǔ)位置。因此,您可以更改和編輯主MakeFile,使其可以在您的平臺(tái)上使用。

第二個(gè)最簡(jiǎn)單的是編譯器。您也不需要執(zhí)行任何操作,但是我們將使編譯器成為可全局訪問的函數(shù),因此您可以從任何文件夾調(diào)用編譯器,而無需考慮路徑。所有步驟都可以在終端機(jī)或gui中完成,但是我喜歡使用終端機(jī),因?yàn)楫?dāng)您有經(jīng)驗(yàn)時(shí),它會(huì)變得越來越快,更容易,如果您擔(dān)心的話,建議您多使用終端機(jī)。步驟如下:

進(jìn)入主文件夾“/home/YOURUSERNAME/”或“?/”,或在終端中輸入 cd

通過鍵入以下內(nèi)容來打開文件“ .bashrc”: nano .bashrc

向下滾動(dòng)到文件末尾并添加以下行:

export PATH = $路徑:?/Embedded/gcc-arm-none-eabi-8-2018-q4/bin

通過保存退出: CTRL + X,單擊Y,ENTER

運(yùn)行命令: source .bashrc 刷新終端源

通過鍵入以下命令檢查是否一切正常: arm-none-eabi-gcc --version,它應(yīng)該顯示編譯器的最新版本

要安裝st-link,請(qǐng)將已下載的存檔解壓縮到Embedded文件夾中。然后執(zhí)行以下步驟:

運(yùn)行: make

進(jìn)入文件夾“ build/Release”: cd build/Release

鍵入 ls ,您將看到兩個(gè)名為“ st-flash”和“ st-util”的可執(zhí)行文件

將這兩個(gè)可執(zhí)行文件移動(dòng)到父目錄中stlink: mv st-flash st-util 。./。./

可以,如果您想使用這兩個(gè)功能,可以通過以下方式再次全局編輯“ .bashrc”文件添加:

導(dǎo)出PATH = $ PATH:?/Embedded/stlink/

僅此而已!您擁有所需的一切。現(xiàn)在,抓住您自己喜歡的文本編輯器。我只使用標(biāo)準(zhǔn)的,像SublimeText或Atom這樣的更智能的標(biāo)準(zhǔn)。

第3步:建立示例項(xiàng)目

我們現(xiàn)在將創(chuàng)建一個(gè)示例項(xiàng)目,您可以使用該示例項(xiàng)目來啟動(dòng)每個(gè)項(xiàng)目。就像一個(gè)模板,已經(jīng)處理了所有主要設(shè)置。

您可以將其下載到我的MEGA中,該鏈接位于本教程的第一步,并且在我的所有youtube視頻下。里面是空的main.c文件,以及此處理器和Makefile的一些啟動(dòng)文件。 Makefile可以告訴C編譯器在哪里找到arm編譯器,如何編譯以及所有庫在哪里。為了獲得適合您項(xiàng)目的這些文件,您可以進(jìn)入STM32庫文件夾并檢查“ project”或“ examples”文件夾。在內(nèi)部,您將看到并復(fù)制以下文件: main.c , Makefile 和 XXX_conf.h , system_XXX.c。

此外,您還需要 stm32_flash.ld 鏈接程序文件,該文件可在示例文件夾或以下文件夾中找到:

“/FLASH_Program/TrueSTUDIO/FLASH_Program/”或只需搜索文件即可。

Makefile可以在線找到,也可以從我的文件夾中復(fù)制,但是您需要做一些更改。讓我們來看看我的make文件以及可以更改的內(nèi)容。

# Path to stlink folder for uploading code to board

STLINK=~/Embedded/stlink

# Put your source files here (*.c)

SRCS=main.c system_stm32f4xx.c

# Libraries source files

#SRCS += stm32f4xx_rcc.c

#SRCS += stm32f4xx_gpio.c

# Binaries will be generated with this name (.elf, .bin, .hex)

PROJ_NAME=test

# Put your STM32F4 library code directory here, change YOURUSERNAME to yours

STM_COMMON=/home/matej/Embedded/STM32F4-Discovery_FW_V1.1.0

# Compiler settings. Only edit CFLAGS to include other header files.

CC=arm-none-eabi-gcc

OBJCOPY=arm-none-eabi-objcopy

# Compiler flags

CFLAGS = -g -O2 -Wall -Tstm32_flash.ld

CFLAGS += -DUSE_STDPERIPH_DRIVER

CFLAGS += -mlittle-endian -mthumb -mcpu=cortex-m4 -mthumb-interwork

CFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16

CFLAGS += -I.

# Include files from STM libraries

CFLAGS += -I$(STM_COMMON)/Libraries/CMSIS/Include

CFLAGS += -I$(STM_COMMON)/Libraries/CMSIS/ST/STM32F4xx/Include

CFLAGS += -I$(STM_COMMON)/Libraries/STM32F4xx_StdPeriph_Driver/inc

CFLAGS += -I$(STM_COMMON)/Utilities/STM32F4-Discovery

# add startup file to build

SRCS += $(STM_COMMON)/Libraries/CMSIS/ST/STM32F4xx/Source/Templates/TrueSTUDIO/startup_stm32f4xx.s

OBJS = $(SRCS:.c=.o)

vpath %.c $(STM_COMMON)/Libraries/STM32F4xx_StdPeriph_Driver/src \

.PHONY: proj

all: proj

proj: $(PROJ_NAME).elf

$(PROJ_NAME).elf: $(SRCS)

$(CC) $(CFLAGS) $^ -o $@

$(OBJCOPY) -O ihex $(PROJ_NAME).elf $(PROJ_NAME).hex

$(OBJCOPY) -O binary $(PROJ_NAME).elf $(PROJ_NAME).bin

clean:

rm -f *.o $(PROJ_NAME).elf $(PROJ_NAME).hex $(PROJ_NAME).bin

# Flash the STM32F4

burn: proj

$(STLINK)/st-flash write $(PROJ_NAME).bin 0x80000000

您可以編輯第一行以將路徑更改為stlink實(shí)用程序文件夾

您可以使用庫和YOURUSERNAME

STM_COMMON=/home/YOURUSERNAME/Embedded/STM32F4-Discovery_FW_V1.1.0

將行更改為文件夾的目的地,也可以檢出鏈接所有庫的部分。這可能會(huì)根據(jù)您使用的平臺(tái)而有所不同,因此請(qǐng)檢查文件樹中的更改。包括指向某些文件的路徑在內(nèi)的所有其他內(nèi)容,都可以更改,例如帶有啟動(dòng)文件的下一行。

在Makefile中編輯完所有這些內(nèi)容之后,您可以檢查其是否正常運(yùn)行在目錄內(nèi)打開一個(gè)終端,然后輸入: make 。如果它可以毫無問題地編譯所有東西,那么您就設(shè)置好了。如果沒有,請(qǐng)查看編譯器錯(cuò)誤并編輯Makefile。

此外,當(dāng)我使用Atom時(shí),我并排放置了兩段代碼。通常main.c和Makefile在左側(cè),因?yàn)槟恍枰庉嬕淮蜯akefile,在右側(cè)編輯庫。您可以在圖片上看到我打開了包含每個(gè)庫的.c和.h文件的文件夾。您可以在視頻中看到所有這些內(nèi)容。

第4步:完成!

現(xiàn)在,您已經(jīng)配置了Makefile并編譯器正常工作時(shí),您可以將該文件夾用于所有項(xiàng)目作為模板,因此請(qǐng)確保保存此文件夾的副本。

還可以測(cè)試 st-flash 和《通過插入開發(fā)板并在終端中鍵入 st-info 程序:st-info --probe

您可以看到stlink軟件可以識(shí)別的平臺(tái)以及IC系列以及緩存和其他東西。您可以鍵入:st-info以查看所有可用參數(shù)。

責(zé)任編輯:wv

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    88

    文章

    11641

    瀏覽量

    218192
  • STM32
    +關(guān)注

    關(guān)注

    2307

    文章

    11128

    瀏覽量

    371484
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Linux 下交叉編譯實(shí)戰(zhàn):跑起來你的第一個(gè) STM32 程序

    很多開發(fā)者第一次接觸STM32,總會(huì)被“交叉編譯”、“燒錄程序”等概念繞暈。其實(shí)方法很簡(jiǎn)單:Linux下配置交叉編譯環(huán)境,編寫簡(jiǎn)單
    的頭像 發(fā)表于 11-24 19:04 ?333次閱讀
    <b class='flag-5'>Linux</b> 下交叉編譯實(shí)戰(zhàn):跑起來你的第一個(gè) <b class='flag-5'>STM32</b> <b class='flag-5'>程序</b>

    【免費(fèi)送書】成為硬核Linux開發(fā)者:《Linux 設(shè)備驅(qū)動(dòng)開發(fā)(第 2 版)》

    Linux系統(tǒng)的設(shè)備驅(qū)動(dòng)開發(fā),一直給人門檻較高的印象,主要因內(nèi)核機(jī)制抽象、需深度理解硬件原理、開發(fā)調(diào)試難度大所致。2021年,一本講解驅(qū)動(dòng)開發(fā)的專著問世即獲市場(chǎng)青睞,暢銷近萬冊(cè)——這便
    的頭像 發(fā)表于 11-18 08:06 ?694次閱讀
    【免費(fèi)送書】成為硬核<b class='flag-5'>Linux</b><b class='flag-5'>開發(fā)</b>者:《<b class='flag-5'>Linux</b> 設(shè)備驅(qū)動(dòng)<b class='flag-5'>開發(fā)</b>(第 2 版)》

    【書籍評(píng)測(cè)活動(dòng)NO.67】成為硬核Linux開發(fā)者:《Linux 設(shè)備驅(qū)動(dòng)開發(fā)(第 2 版)》

    Linux驅(qū)動(dòng)開發(fā)在當(dāng)下也有著重要意義,從工業(yè)物聯(lián)網(wǎng)(IIoT)的傳感器控制、智能汽車的車載系統(tǒng)硬件適配,到邊緣計(jì)算節(jié)點(diǎn)的資源調(diào)度,都需要Linux驅(qū)動(dòng)深度參與。具備驅(qū)動(dòng)開發(fā)能力,正是
    發(fā)表于 11-17 17:52

    Windows和Linux環(huán)境下分別使用Olimex和蜂鳥調(diào)試器下載程序

    本隊(duì)伍編號(hào)CICC3042,本篇文章介紹Windows和Linux環(huán)境下分別使用Olimex和蜂鳥調(diào)試器下載程序,和一篇Hbirdv2的移植配合使用。 使用過第一版蜂鳥的同學(xué)
    發(fā)表于 10-31 08:26

    如何在rt-thread studio開發(fā)STM32H747這類雙核的單片機(jī)?

    如題,我希望rt-thread studio開發(fā)STM32H747IIT6這款雙核單片機(jī),keil里兩個(gè)核的代碼是完全隔離的,分別在兩
    發(fā)表于 09-19 08:08

    STM32程序的燒錄方式

    電子發(fā)燒友網(wǎng)站提供《STM32程序的燒錄方式.pdf》資料免費(fèi)下載
    發(fā)表于 08-28 16:03 ?6次下載

    Linux 應(yīng)用開發(fā)手冊(cè)

    T507linux應(yīng)用開發(fā)手冊(cè)
    發(fā)表于 08-22 17:01 ?15次下載

    如何在rt-thread studio開發(fā)STM32H747IIT6?

    如題,我希望rt-thread studio開發(fā)STM32H747IIT6這款雙核單片機(jī),keil里兩個(gè)核的代碼是完全隔離的,分別在兩
    發(fā)表于 06-11 06:24

    【米爾-STM32MP257開發(fā)板試用體驗(yàn)】初次體驗(yàn)米爾-STM32MP257開發(fā)

    接口。 為了幫助開發(fā)者更好地理解與應(yīng)用STM32MP257D處理器和MYD-LD25X開發(fā)板,米爾將與ST2025年1月7日和2025年1月10日分別于南京、北京聯(lián)合舉辦線下培訓(xùn)會(huì),
    發(fā)表于 04-30 16:21

    硬核升級(jí)!華清遠(yuǎn)見STM32MP157驅(qū)動(dòng)開發(fā)課程助力嵌入式Linux底層開發(fā)入門進(jìn)階

    嵌入式Linux系統(tǒng)開發(fā)中,驅(qū)動(dòng)程序開發(fā)是一項(xiàng)關(guān)鍵技術(shù),它作為硬件與軟件之間的橋梁,實(shí)現(xiàn)了操作系統(tǒng)對(duì)硬件設(shè)備的控制。相較于嵌入式
    的頭像 發(fā)表于 04-03 16:40 ?748次閱讀
    硬核升級(jí)!華清遠(yuǎn)見<b class='flag-5'>STM32</b>MP157驅(qū)動(dòng)<b class='flag-5'>開發(fā)</b>課程助力嵌入式<b class='flag-5'>Linux</b>底層<b class='flag-5'>開發(fā)</b>入門進(jìn)階

    [迅為]Linux開發(fā)小技巧:Remote - SSH插件

    [迅為]Linux開發(fā)小技巧:Remote - SSH插件
    的頭像 發(fā)表于 04-01 15:46 ?989次閱讀
    [迅為]<b class='flag-5'>Linux</b><b class='flag-5'>開發(fā)</b>小技巧:Remote - SSH插件

    STM32開發(fā)板教程之STM32開發(fā)指南免費(fèi)下載

    介紹了幾個(gè)常用的系統(tǒng)文件(程序);3,實(shí)戰(zhàn)篇,主要通過 56 個(gè)實(shí)例(絕大部分是直接操作寄存器完成的)帶領(lǐng)大家一步步深入 STM32 的學(xué)習(xí)。   本指南為 ALIENTEK 戰(zhàn)艦 STM32
    發(fā)表于 02-28 09:08 ?188次下載

    JetBrains IDE開發(fā)微信小程序的官方插件

    一直以來,小程序開發(fā)者必須安裝第三方插件,才能在 JetBrains IDE 中進(jìn)行小程序開發(fā)。 JetBrains Marketplac
    的頭像 發(fā)表于 01-16 17:15 ?1104次閱讀
    JetBrains IDE<b class='flag-5'>上</b>架<b class='flag-5'>開發(fā)</b>微信小<b class='flag-5'>程序</b>的官方插件

    STM32、Arduino、樹莓派開發(fā)方式差異大嗎

    最近看到有網(wǎng)友問:STM32、Arduino、樹莓派開發(fā)方式差異大嗎? ? 要說相同點(diǎn),它們之間也有很多相同點(diǎn)。但你要說他們之間開發(fā)的差異,其實(shí)也蠻大的。 ? STM32、Arduin
    的頭像 發(fā)表于 01-02 11:33 ?1984次閱讀

    嵌入式開發(fā)必備-RK3562演示Linux常用系統(tǒng)查詢命令()觸覺智能出品

    實(shí)用干貨!嵌入式開發(fā)學(xué)習(xí)必備-RK3562演示Linux常用系統(tǒng)查詢命令()關(guān)注觸覺智能持續(xù)為大家?guī)砀嗲度胧?b class='flag-5'>開發(fā)內(nèi)容
    的頭像 發(fā)表于 12-31 10:51 ?117次閱讀
    嵌入式<b class='flag-5'>開發(fā)</b>必備-RK3562演示<b class='flag-5'>Linux</b>常用系統(tǒng)查詢命令(<b class='flag-5'>上</b>)觸覺智能出品