導航:首頁 > 源碼編譯 > gcc編譯freertos出錯

gcc編譯freertos出錯

發布時間:2022-06-03 21:04:07

1. freertos可不可以鏈接c++編譯的庫

我也正想問這個問題呢

2. 列舉國產交叉編譯開發工具

摘要 1. 編譯部分:

3. freertos可不可以鏈接c++編譯的庫

單個動態庫可以有兩個同名函數,但是不能同時導出來,不然會出錯,不同動態庫可以有同名函數,運行時載入不會有問題,編譯時指定會有想不到的運行結果。
單個靜態庫可以有同名函數,但是某些編譯器不支持,不同靜態庫之間也可以有同名函數,但如果函數簽名也一致,使用的時候會編譯錯。

4. stm32cubemx怎麼使用

STM32Cube 是一個全面的軟體平台,包括了ST產品的每個系列。平台包括了STM32Cube 硬體抽象層(一個STM32抽象層嵌入式軟體,確保在STM32系列最大化的便攜性)和一套的中間件組件(RTOS, USB, FatFs, TCP/IP, Graphics, 等等).
直觀的STM32微控制器的選擇和時鍾樹配置
微控制器圖形化配置外圍設備和中間件的功能模式和初始化參數
C代碼生成項目覆蓋STM32微控制器的初始化符合IAR™,Keil的™和GCC編譯器。

對於新的產品設計,我們強烈推薦使用STM32Cube來加速你的開發過程,並為以後的產品平台移植打下良好的基礎。
1.新建工程
打開STM32cubeMX軟體,點擊New Project。選擇對應開板MCU(STM32F103ZET6)。

選擇工程後進入工程界面,如下圖所示。

2. 配置外設。
RCC設置,選擇HSE(外部高速時鍾)為Crystal/Ceramic Resonator(晶振/陶瓷諧振器)

GPIO口功能選擇,PF6,PF7,PF8,PF9為LED1-LED4.找到對應管腳設置為GPIO_Output模式。(黃色引腳為該功能的GPIO已被用作其他功能,可以忽略。綠色表示管腳已使用)
3. 時鍾配置
時鍾配置採用圖形配置,直觀簡單。各個外設時鍾一目瞭然。STM32最高時鍾為72M,此處只有在HCLK處輸入72,軟體即可自動配置。(RCC選擇外部高速時鍾)。

4.功能外設配置

在配置框我們可以看到有幾個區域,分別對應的功能設置如下
Multimedia(多媒體):音頻視頻、LCD
Control(控制):定時器
Analog(模擬):DAC、ADC
Connectivity(通訊連接):串口、SPI 、I2C、USB、ETH
SYStem(系統):DMA(直接存儲器存取)、GPIO、NVIC、RCC、看門狗
middlewares(中間件): FreeRTOS、FATFS、LwIP、USB
此工程中DMA沒用的不用配置,NVIC(嵌套中斷向量控制器(Nested Vectored Interrupt Controller))配置中斷優先順序。RCC不用配置。

GPIO Pin Level (管腳狀態):低電平
GPIO mode (管腳模式 ):推挽輸出
Maximum output speed (最大輸出速度):低速
User Label (用戶標簽):LED1

更改用戶標簽,管腳配置圖會顯示管腳的標簽。

4. 功耗計算
這個根據配置的外設計算功耗,不用理會。

5. 生成工程報告
點擊Project –>Generate Reports或者點擊快捷圖標生成報告。系統會提示先創建一個工程項目。點擊Yes設置工程。

輸入工程名,選擇工程路徑(注意不要出現中文,否則可能出錯)。工具鏈/IDE選擇MDK-ARM V5。最後面可以設置堆棧大小,此處默認不作修改。

在Code Generator中找到Generated files框,勾選Generated periphera initialization as a pair of '.c/.h' files per IP。外設初始化為獨立的C文件和頭文件。

點擊生成報告,工程目錄下會生成txt文件和pdf文件,裡面記錄了我們剛才的設置。

6. 生成工程代碼
點擊Project –>Generate Code或者點擊快捷圖標生成工程代碼。

點擊Open Project打開工程。到此就配置好工程外設初始化。

點擊Build按鈕,Build Optput信息框會輸出沒有錯誤沒有警告。

6. 添加應用程序
在gpio.c文件中可以看到LED管腳的初始化函數。

在stm32f1xx_hal_gpio.h頭文件中可以看到GPIO的操作函數。

在main函數中的while循環中添加LED流水燈效果的應用程序。

重新編譯程序,點擊下載到Open103Z-C開發板。如果提示錯誤,可以點擊圖標對Option for Target 的Dubug選項進行修改。(圖上選的是ST-LINK)

點擊Settings->Flash Download勾選 Reset and Run選項。這樣程序下載後自動啟動運行,不用再按一下復位或者重新上電才能運行。

程序下載到Open103Z-C開發板。可以看到LED1~LED4依次被點亮,實現流水燈的效果。

總結:STM32Cube提供了固件庫,用戶可直接調用固件庫函數來開發,並且可以很好的實現STM32-MCU全系列的代碼一致性。同時STM32CubeMX工具提供的可視化引腳、外設、時鍾等配置功能,可以幫助快速完成工程的建立、初始化。大大降低了開發者的工作量。

5. FreeRTOS 的編譯器是否可以使用gcc++, 是否支持C++11

# rpm -qa|grep gcc
gcc-c++-3.4.6-3
compat-gcc-32-3.2.3-47.3
libgcc-3.4.6-3
gcc-3.4.6-3
gcc-g77-3.4.6-3
compat-libgcc-296-2.96-132.7.2
compat-gcc-32-c++-3.2.3-47.3
...
命令 rpm -qa | grep gcc查看。
然後用gcc -v 查看版本號,
便可知道是否已經安裝。

6. 基於ARM的嵌入式系統與傳統單片機系統相比性能有哪些明顯優勢

ARM嵌入式能跑操作系統,能跑很多應用。比如我可以一邊是接電話,可以一邊上網,都可以有相應的界面。但是單片機就不一樣,單片機只能跑單任務的。不能跑操作系統,不能同時有多任務,更不可能有豐富的彩色的界面。

這些應該是嵌入式的基本概念,希望你能學習下這方面的概念,應該就會知道了。

關於如何學習嵌入式,我剛才看到一篇很不錯的文章,是一個專科生介紹自己如何自學嵌入式,並找到嵌入式的工作,裡面介紹了他的學習方法和學習過程,希望對你有幫助。

專科生自學嵌入式到找到工作的前前後後

先做個自我介紹,我07年考上一所很爛專科民辦的學校,學的是生物專業,具體的學校名稱我就不說出來獻丑了。09年我就輟學了,我在那樣的學校,一年學費要1萬多,但是根本沒有人學習,我實在看不到希望,我就退學了。

退學後我也迷茫,大專都沒有畢業,我真的不知道我能幹什麼,我在糾結著我能做什麼。所以輟學後我一段時間,我想去找工作,因為我比較沉默寡言,不是很會說話,我不適合去應聘做業務。我想應聘做技術的,可是處處碰壁。

一次偶然的機會,我才聽到嵌入式這個行業。那天我去新華書店,在計算機分類那邊想找本書學習。後來有個女孩子走過來,問我是不是讀計算機的,有沒有興趣學習嵌入式,然後給我介紹了一下嵌入式現在的火熱情況,告訴我學嵌入式多麼的有前景,給我了一份傳單,嵌入式培訓的廣告。聽了她的介紹,我心裡癢癢的,確實我很想去學會一門自己的技術,靠自己的雙手吃飯。

回家後,我就上網查了下嵌入式,確實是當今比較熱門的行業,也是比較好找工作的,工資也是相對比較高。我就下決心想學嵌入式了。於是我去找嵌入式培訓的相關信息,說真的,我也很迷茫,我不知道培訓是否真的能像他們宣傳的那樣好,所以我就想了解一段時間再做打算。

後來,我在網路知道看到一篇讓我很鼓舞的文章《如何學習嵌入式》,是一個嵌入式高手介紹沒有基礎的朋友怎麼自學入門學嵌入式,文章寫的很好,包含了如何學習,該怎麼學習。他提到一個方法就是看視頻,因為看書實在太枯燥和費解的,很多我們也看不懂。這點我真的很認同,我自己看書往往看不了幾頁。

我在想,為什麼別人都能自學成才,我也可以的!我要相信自己,所以我就想自學,如果實在學不會我再去培訓。

主意一定,我就去搜索嵌入式的視頻,雖然零星找到一些嵌入式的視頻,但是都不系統,我是想找一個能夠告訴我該怎麼學的視頻,一套從入門到精通的視頻,一個比較完整的資料,最好能有老師教,不懂可以請教的。

後來我又找到一份很好的視頻,是在嵌入式學習網推出的一份視頻《從零基礎開始學嵌入式》,網址:http://www.WEDDINGBANDSET.info/embedvideo.htm 裡面的教程還不錯,很完整,可以讓我從基礎的開始學起。視頻不便宜啊,但是我也忍了,畢竟買幾本書都要幾百了,何況他們還有半年的技術咨詢和服務,算值了。

下面介紹下我的學習流程,希望對和我一樣完全沒有基礎的朋友有所幫助。

收到他們寄過來的光碟後,我就開始學習了,由於我沒有什麼基礎,我就從最簡單的C語言視頻教程學起,話說簡單,其實我還是很多不懂的,我只好請教他們,他們還是很熱心的,都幫我解決了。C語言我差不多學了一個禮拜,接下來我就學了linux的基本命令,我在他們提供linux虛擬機上都有做練習,敲linux的基本命令,寫簡單的C語言代碼,差不多也就三個禮拜。我每天都在不停的寫一些簡單的代碼,這樣一月後我基本掌握了C和linux的基本操作。

接下來我就去學習了人家的視頻的培訓教程,是整套的,和去參加培訓沒有多大的區別,這一看就是兩個月,學習了ARM的基本原理,學習嵌入式系統的概念,也掌握了嵌入式的環境的一些搭建,對linux也有更深層次的理解了,明白了嵌入式應用到底是怎麼做的,但是驅動我只是有一點點的了解,這個相對難一點,我想以後再慢慢啃。

這兩個月,除了吃飯睡覺,我幾乎都在學習。因為我知道幾乎沒有基礎,比別人差勁,我只能堅持努力著,我不能放棄,我必要要靠自己來養活自己,必須學好這門技術,同時我不懂的就問,這里真的很感謝他們的技術客服對我的任何問題都是耐心的解答,每天都我幾乎都有好幾個問題問他們,然後我就把不懂的問題總結記下來,這樣慢慢積累了一段時間,我發現自己真的有點入門了。

最後的一個月,我就去看關於實踐部分的內容,了解嵌入式項目具體的開發流程,需要什麼樣的知識,我就開始准備這方面的知識,也就是學習這方面的視頻,同時他們建議我去找了找一些嵌入式面試的題目,為自己以後找工作做准備。我就到網上找了很多嵌入式的題目,把他們理解的記下來,這樣差不多准備了20天左右

我覺得自己差不多入門了,會做一些簡單的東西了。我就想去找工作看看,於是我就到51job瘋狂的投簡歷,因為我學歷的問題,專科沒有畢業,說真的,大公司沒有人會要我,所以我投的都是民營的小公司,我希望自己的努力有所回報。沒有想過幾天過後,就有面試了,但是第一次面試我失敗了,雖然我自認為筆試很好,因為我之前做了准備,但是他們的要求比較嚴格,需要有一年的項目經驗,所以我沒有被選中。

後來陸續面試了幾家公司,終於功夫不負有心人。我終於面試上的,是在閔行的一家民營的企業,公司規模比較小,我的職務是嵌入式linux應用開發,做安防產品的應用的。我想我也比較幸運,經理很看重我的努力,就決定錄用我,開的工資是3500一個月,雖然我知道在上海3500隻能過溫飽的生活,但是我想我足夠了。我至少不用每天都要靠父母養,我自己也能養活自己的。我想只要我繼續努力,我工資一定會翻倍的。

把本文寫出來,希望能讓和我一樣的沒有基礎的朋友有信心,其實我們沒有必要自卑,我們不比別人笨,只要我們肯努力,我們一樣會成功。

最後祝願所有想學嵌入式的朋友更早的入門

========================================
加油哦,學習嵌入式貴在堅持哦。

7. 單片機系統的優勢是什麼

1、單片機集成度高。單片機包括CPU、4KB容量的ROM(8031 無)、128 B容量的RAM、 2個16位定時/計數器、4個8位並行口、全雙工串口行口。
2、系統結構簡單,使用方便,實現模塊化;
3、單片機可靠性高,可工作到10^6 ~10^7小時無故障;
4、處理功能強,速度快。

應用廣泛:目前單片機滲透到我們生活的各個領域,幾乎很難找到哪個領域沒有單片機的蹤跡。導彈的導航裝置,飛機上各種儀表的控制,計算機的網路通訊與數據傳輸,工業自動化過程的實時控制和數據處理,廣泛使用的各種智能IC卡,民用豪華轎車的安全保障系統,錄像機、攝像機、全自動洗衣機的控制,以及程式控制玩具、電子寵物等等,這些都離不開單片機。更不用說自動控制領域的機器人、智能儀表、醫療器械了。因此,單片機的學習、開發與應用將造就一批計算機應用與智能化控制的科學家、工程師。

閱讀全文

與gcc編譯freertos出錯相關的資料

熱點內容
su插件壓縮包怎麼安裝 瀏覽:546
我的世界神奇寶貝伺服器如何快速發育 瀏覽:662
信源編解碼作用 瀏覽:738
編譯腳本失敗 瀏覽:211
編譯無效對象是什麼意思 瀏覽:86
35歲開始做程序員 瀏覽:669
如何查看遠程伺服器系統時間 瀏覽:418
星三角怎麼編程 瀏覽:205
摩斯密碼加密題目 瀏覽:969
觸摸屏自鎖電路編程演示過程 瀏覽:332
程序員的奇妙之旅在線觀看 瀏覽:77
國內伺服器如何連接國外伺服器 瀏覽:453
加密文件怎麼變成不加密了 瀏覽:853
企業密信伺服器地址是什麼 瀏覽:408
note2android升級 瀏覽:840
麻省理工python 瀏覽:29
編譯程序軟體哪個好 瀏覽:848
rar命令行壓縮 瀏覽:939
單片機字元表代碼 瀏覽:504
pdf轉換word蘋果電腦 瀏覽:666