cube編譯器
㈠ 如何利用STM32CubeMX進行STM32開發
1、到ST官網下載軟體包和cube庫,並安裝好。安裝過程比較簡單,不多贅述
2、點擊NEW Project,新建工程,或者file-->new project也可
3、下面是選擇器件板子,可以根據MCU進行選擇,也可以根據board型號選擇
4、我用的板子是STM32F411RE,所以產商選擇STMicroelectric,版本選擇Nucleo,型號選擇F4系列,便可看到列表中有F411選項了
5、雙擊F411RE,可以進入pinout引腳配置界面,在這個界面可以配置引腳,可以直接在晶元示意圖上配置,十分方便
6、其他的配置選項如圖,有時鍾配置,外設配置,功耗計算
7、時鍾配置如圖,也是圖形化界面,很方便快捷就可以配置好,只需要更改數字就可以得到想要的頻率
8、外設的配置如圖,只需要雙擊要配置的外設即可進行配置,比如我配置GPIO,進入後可見如圖窗口,可以選擇GPIO的模式,上下拉,輸出速度
9、功耗選項如圖,並不常用
10、配置完成後,點擊生成工程文件按鈕,彈出工程設置窗口,填寫工程名,選擇目錄,選擇編譯器,可選EWARM,MDK等。最後點擊OK,便可生成工程文件了,用編譯器打開後,就可以方便地編寫代碼了,省去了繁瑣的配置工作
㈡ 有誰使用Cube實現過USB讀卡器功能
我使用的是STM32F407ZETx晶元,用Cube配置生成一個虛擬的U盤很容易就實現了。
配置完生成MDK工程後,直接編譯下載運行,用USB線連接PC後,可以模擬出一個32M的U盤。
不過U盤沒有實際的存儲空間,也不能進行實際的讀寫操作,因為塊讀寫函數直接 返回OK,沒有進行任何實際操作。
要實現對板上的SD卡進行讀寫,即實現讀卡器功能,就要實現usbd_storage_if.c文件中下面結構體指定的幾個函數,
USBD_StorageTypeDef USBD_Storage_Interface_fops_FS =
{
STORAGE_Init_FS,//初始化存儲器
STORAGE_GetCapacity_FS, // 獲取存儲器容量
STORAGE_IsReady_FS, // 檢測存儲器是否就緒
STORAGE_IsWriteProtected_FS, // 檢測存儲去是否防寫
STORAGE_Read_FS, // 讀塊
STORAGE_Write_FS, // 寫塊
STORAGE_GetMaxLun_FS, // 獲取可用卷數量
(int8_t *)STORAGE_Inquirydata_FS, // 這是一個數據結構
};
㈢ ubuntu下stm32cubemx生成的makeflie怎樣配置才能通過編譯
入門的方法每個人可能不一樣,我也在學STM32,裡面的資料挺多,由於STM32比C51復雜得多,很少有銷售商提供整套視屏教程,他們只提供前幾個常式的視屏教程,教你如何快速入門一下,後面的路要靠自己的悟性和努力來走完。
㈣ 為什麼cubemx只支持7級優先順序
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工具提供的可視化引腳、外設、時鍾等配置功能,可以幫助快速完成工程的建立、初始化。大大降低了開發者的工作量。
後續我們會結合微雪Open746I-C開發板,通過STM32cubeMX系列教程講解如何學習STM32F7系列的片上外設。通過STM32F7系列的學習,可以讓各位更快的掌握其他系列的使用方法。
附上出處鏈接:
㈤ 誰能說清楚Cube MX與Keil的關系
簡單理解大概是,CubeMX相當於一個代碼生成器,你可以用CubeMX自動化生成帶有晶元片內資源部分的初始化代碼的Keil工程或者其他支持STM32開發的IDE/編譯器(例如GCC,IAR)的工程。可以參考
www.stmcu.org/mole/forum/thread-608249-1-1.html
㈥ 庫函數的原型說明存儲在擴展名為什麼的頭文件中
將函數原型聲明放在一個頭文件中函數原型存放在頭文件中除了內聯函數,在頭文件中通常只存放函數原型,而具體函數定義在其他源文件中。需要函數原型的原因程序的聲明部分都是服務於編譯器的,函數原型也是,函數原型描述了函數到編譯器的介面。他將函數的返回值類型(如果有的話)以及參數的類型和數量告訴了編譯器。首先,原型告訴編譯器,cube()有一個double參數。如果程序沒有提供這樣的參數,原型會讓編譯器捕獲這種錯誤。其次,在cube()函數完成計算後,將把返回值放置在指定的位置,可能是CPU寄存器,也可能是內存中,然後調用函數例如main()將從這個位置取得返回值。由於原型指出了cube()的類型為double,因此編譯器知道應該檢索多少個位元組以及如何解釋他們,如果沒有這些信息,編譯器則只能進行猜測。其次,為什麼不直接使用函數定義,因為函數原型里的內容函數定義中都有?除非將函數定義放在函數調用之前。若將函數定義放在函數調用之後,且不使用函數原型,採用文件搜索的方式,則效率十分低下。因為在文件搜索的時候需要停止對調用函數的編譯。頭文件中只存放函數原型,而函數定義在其他源文件中。
㈦ 如何把stm32cubemx的固件庫更新
STM32Cube 是一個全面的軟體平台,包括了ST產品的每個系列。(如,STM32CubeF4 是針對STM32F4系列)。平台包括了STM32Cube 硬體抽象層和一套的中間件組件(RTOS, USB, FS, TCP/IP, Graphics, 等等)。
cubeMX的主要優點:
1.直觀地進行STM32選擇2.圖形化配置3.C代碼項目產生,涵蓋STM32初始化部分。兼容IAR, KEIL和GCC編譯器4.支持Eclips。
2.到ST官網下載軟體包和cube庫,並安裝好。安裝過程比較簡單,不多贅述。
3.點擊NEW Project,新建工程,或者file-->new project也可。
4.下面是選擇器件板子,可以根據MCU進行選擇,也可以根據board型號選擇。
5.常用的板子是STM32F411RE,所以產商選擇STMicroelectric,版本選擇Nucleo,型號選擇F4系列,便可看到列表中有F411選項了。
6.雙擊F411RE,可以進入pinout引腳配置界面,在這個界面可以配置引腳,可以直接在晶元示意圖上配置,十分方便。
7.其他的配置選項如圖,有時鍾配置,外設配置,功耗計算。
8.時鍾配置如圖,也是圖形化界面,很方便快捷就可以配置好,只需要更改數字就可以得到想要的頻率。
9.外設的配置如圖,只需要雙擊要配置的外設即可進行配置,比如我配置GPIO,進入後可見如圖窗口,可以選擇GPIO的模式,上下拉,輸出速度。
10.配置完成後,點擊生成工程文件按鈕,彈出工程設置窗口,填寫工程名,選擇目錄,選擇編譯器,可選EWARM,MDK等。最後點擊OK,便可生成工程文件了,用編譯器打開後,就可以方便地編寫代碼了,省去了繁瑣的配置工作。
㈧ stm32cube中的cube是什麼意思
STM32Cube 是一個全面的軟體平台,包括了ST產品的每個系列。(如,STM32CubeF4 是針對STM32F4系列)。平台包括了STM32Cube 硬體抽象層和一套的中間件組件(RTOS, USB, FS, TCP/IP, Graphics, 等等)。
cubeMX的主要優點:
1.直觀地進行STM32選擇2.圖形化配置3.C代碼項目產生,涵蓋STM32初始化部分。兼容IAR, KEIL和GCC編譯器4.支持Eclips。
2.到ST官網下載軟體包和cube庫,並安裝好。安裝過程比較簡單,不多贅述。
3.點擊NEW Project,新建工程,或者file-->new project也可。
4.下面是選擇器件板子,可以根據MCU進行選擇,也可以根據board型號選擇。
5.常用的板子是STM32F411RE,所以產商選擇STMicroelectric,版本選擇Nucleo,型號選擇F4系列,便可看到列表中有F411選項了。
6.雙擊F411RE,可以進入pinout引腳配置界面,在這個界面可以配置引腳,可以直接在晶元示意圖上配置,十分方便。
7.其他的配置選項如圖,有時鍾配置,外設配置,功耗計算。
8.時鍾配置如圖,也是圖形化界面,很方便快捷就可以配置好,只需要更改數字就可以得到想要的頻率。
9.外設的配置如圖,只需要雙擊要配置的外設即可進行配置,比如我配置GPIO,進入後可見如圖窗口,可以選擇GPIO的模式,上下拉,輸出速度。
10.配置完成後,點擊生成工程文件按鈕,彈出工程設置窗口,填寫工程名,選擇目錄,選擇編譯器,可選EWARM,MDK等。最後點擊OK,便可生成工程文件了,用編譯器打開後,就可以方便地編寫代碼了,省去了繁瑣的配置工作。
㈨ 如何向gdb中加入cubemx的宏
gdb 看不了任何與宏有關的內容。
宏在編譯之前,就被預編譯器替換掉了,對於編譯器來說,根本看不到所謂的宏,所以編譯出來的二進制代碼中,也根本不會包含任何宏本身的信息,gdb也自然無法獲取信息了。