我是一個(gè)追新強(qiáng)迫癥的人,每次看到軟件更新,都要去升級,不然渾身不自在,這次敗在這個(gè)癥上了。 用最新版的Keil for ARM 5.33版本做407開發(fā)板的開發(fā),自己創(chuàng)建的工程怎么都沒法正常編譯,不是有錯(cuò)就有幾十個(gè)警告。
按照我對這個(gè)軟件的了解,以及我個(gè)人編程的能力來看,不應(yīng)該有問題啊。終于最后發(fā)現(xiàn)這是軟件自身BUG造成的。
本帖將該重大發(fā)現(xiàn)分享給大家,并分享給大家如何利用Keil那個(gè)工程向?qū)渲霉ぞ邉?chuàng)建新的項(xiàng)目工程文件。
言歸正傳,干什么事都要先開機(jī)啟動(dòng)這個(gè)軟件。
1、啟動(dòng)軟件、Project-》New Project,進(jìn)入創(chuàng)建工程向?qū)?,并設(shè)置工程名字保存
注意事項(xiàng):建議工程路徑與工程名字全部用ASCII字符,不要出現(xiàn)中文路徑或者全角字符,最好只有字母、數(shù)字、下劃線。
2、在設(shè)備選型列表找到你要的設(shè)備,比如AT32F407VGT7
注意:這一步當(dāng)然要先安裝好官方提供的pack支持包,不然你的Keil里是找不到你要用的那個(gè)芯片型號的。
本帖用到的AT32F4系列pack下載地址
http://www.arterytek.com/downloa 。.. 2F4xx_CH_V1.3.5.zip
單擊OK,進(jìn)入下一步,管理RT環(huán)境,選擇軟件組件。這個(gè)界面很多人沒看到過吧,很少有人用這個(gè),搜索網(wǎng)上帖子里也沒看到有人用這個(gè),其實(shí)會(huì)用的話很方便。
選擇CMSIS里的CORE,Device里的Startup、System_AT32Fxx
以及根據(jù)需要選擇標(biāo)準(zhǔn)外設(shè)驅(qū)動(dòng),比如GPIO,……
根據(jù)需要選擇外設(shè)庫文件,也可以全選,只不過編譯速度會(huì)慢一下,用到哪些外設(shè)就選擇哪些會(huì)比較快一下。
如果嫌麻煩的,可以全選外設(shè)庫的外設(shè)。
然后單擊OK
工程基礎(chǔ)建立完成,添加用戶函數(shù),比如隨便寫個(gè)main.c
添加進(jìn)去
跟自己建立的工程目錄是不同的,看著很多人可能不習(xí)慣,看多了就習(xí)慣了。
編譯……等待幾秒就搞定了,然而……
見鬼,怎么這么多錯(cuò)誤和警告,嚇?biāo)廊肆?。這是為什么呢?
之前我遇到這個(gè)問題,搞了很久只能解決掉報(bào)錯(cuò),但是警告沒法搞定,總是說有類型轉(zhuǎn)換的警告或者某個(gè)寄存器找不到定義的警告。這個(gè)問題困擾了我兩天,終于解決了。
不要怕,進(jìn)入工程配置,修改編譯器版本由6修改成5,里面有多個(gè)版本,可以選擇,6太新了,有BUG。
再次編譯,奇跡出現(xiàn)了,0錯(cuò)誤0警告。
這時(shí)候?qū)⒕幾g器版本再修改成默認(rèn)6,也沒錯(cuò)誤和警告了,真是奇了怪了。
上一步中選擇AC編譯器的選項(xiàng)一共有4個(gè)選項(xiàng),我猜啊,實(shí)際上只有2個(gè),不知道我的理解是否正確。
最后添加代碼完成一個(gè)簡單的Blink程序。這個(gè)時(shí)候就可以通過查找外設(shè)的頭文件和函數(shù)原型了解外設(shè)庫的用法了,編譯一遍后還可以定位原型,這樣就方便查找函數(shù)和變量了。
網(wǎng)友muyichuan2012表示,這里也遇到類似AC6問題,AC6有很多版本,AC6.14、AC6.15等等,其中AC6.14.1建議大家最好不用使用,問題較多。
原文標(biāo)題:KEIL for ARM 5.33最新版無法正常編譯,該如何解決?
文章出處:【微信公眾號:嵌入式ARM】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
責(zé)任編輯:haq
-
ARM
+關(guān)注
關(guān)注
134文章
9353瀏覽量
377558 -
keil
+關(guān)注
關(guān)注
69文章
1223瀏覽量
169604 -
編譯
+關(guān)注
關(guān)注
0文章
679瀏覽量
33993
原文標(biāo)題:KEIL for ARM 5.33最新版無法正常編譯,該如何解決?
文章出處:【微信號:gh_c472c2199c88,微信公眾號:嵌入式微處理器】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
評論