找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3223|回復: 0
收起左側

關于STM32工程建立的幾個問題

[復制鏈接]
ID:99624 發(fā)表于 2015-12-27 04:17 | 顯示全部樓層 |閱讀模式
1,在使用FW3.5搭建工程時,由于stm32f10x.h頭文件里面包含了LDMDHD全系列的芯片,所以,在實際使用過程中,需要首先配置你當前使用的是那一類存儲量的芯片。
#35#error directive:“please...
問題出在stm32f10x.h的第95行:
#if !defined (STM32F10X_LD) && !defined (STM32F10X_LD_VL) && !defined (STM32F10X_MD) && !defined (STM32F10X_MD_VL) && !defined (STM32F10X_HD) && !defined (STM32F10X_HD_VL) && !defined (STM32F10X_XL) && !defined (STM32F10X_CL)
#error "Please select first the target STM32F10x device used in your application (in stm32f10x.h file)"
#endif
這個錯誤,其實在stm32f10x.h75行有提示:
target option里面的C++選項下的define里面加入USE_STDPERIPH_DRIVER, STM32F10X_HD_VL即可。
(這個使用方法不太懂,,具體可以參考固件庫里面的配置)
2,在建立main函數(shù)后,初步編譯使出現(xiàn)的另外兩個問題:
lphaff.axf:Error:L6218E:Undefined symbol RCC_APB2PeriphResetCmd (referred from stm32f10x_gpio.o).
lphaff.axf:Error:L6218E:Undefined symbol main (referred from rtentry2.o).
原因:
如上圖1所示,在該程序中實際上使用了stm32f10x_RCC.c里面的函數(shù)RCC_APB2PeriphResetCmd函數(shù),卻沒有在工程里面添加這個源文件。
添加這個源文件后,問題得以解決。如下圖2
此時,出現(xiàn)的是同類問題的另外一個問題:undefined symbol main...
解決:如前面第一個圖里面,是main()寫成了mian(),改過來后即可。
3,關于main函數(shù)的返回,如圖3
這里是#111-D警告,statement is unreachable,意思就是程序執(zhí)行不到這里。這個警告是加入return1之后出現(xiàn)的,因為在前面有一個while(1)循環(huán),所以,不會有返回值。
在編譯的時候出現(xiàn)這種報錯,就是因為出現(xiàn)了無法執(zhí)行到的指令。直接去掉return1即可。

回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表