背景
在進(jìn)行bsp適配的時(shí)候,在bsplpc55sxxlpc55s36_nxp_evk下輸入命令scons —dist,
等待導(dǎo)出成功,然后以dist文件下的工程開始開發(fā),注意此時(shí)dist文件夾可以放置在任意地方,此時(shí)在distproject下scons編譯,會(huì)出現(xiàn)如下錯(cuò)誤,為了更清楚的復(fù)現(xiàn)報(bào)錯(cuò),這里并沒有使用多線程編譯
發(fā)現(xiàn)問題
當(dāng)然對(duì)至于這樣的報(bào)錯(cuò)。必然先確認(rèn)在dist下是否真的存在這個(gè)文件,結(jié)果是沒有的,那就去bsp下尋找,這里使用了everything搜索工具
在查找到文件之后,復(fù)制過去到dist下,然后接著編譯,會(huì)繼續(xù)發(fā)現(xiàn)報(bào)錯(cuò)缺少其他文件,而且很顯然,這些文件都在一個(gè)文件夾下,即bsplpc55sxxLibrariesCMSISCoreInclude,那么可以肯定的是,同時(shí)對(duì)比dist目錄,可以肯定的是,CMSIS整個(gè)文件夾都沒有被scons —dist打包出去
那么到這里基本就明確了問題,現(xiàn)在有兩個(gè)思路可以去解決這個(gè)問題:
修改env中的scons —dist腳本,這樣就不用動(dòng)CMSIS目錄,不用去修改控制文件編譯的SConscript腳本
移動(dòng)CMSIS文件夾的位置,然后需要修改SConscript文件才可以編譯成功,這樣就不用動(dòng)env
那么這兩種方案呢,修改env需要考慮到其他bsp的導(dǎo)出問題,同時(shí)需要考慮頂層的設(shè)計(jì),這里呢,僅僅把env中控制scons —dist的位置指明,具體位置在 這里 ,而且其他bsp沒有出現(xiàn)這個(gè)問題,足以證明是改bsp出現(xiàn)了問題,就此可以確定我們需要修改的是CMSIS的路徑
如何解決
修改CMSIS文件夾的位置
那么現(xiàn)在確定了我們將要移動(dòng)CMSIS文件夾,那么把它移向哪里呢,顯然我們目前不知道,怎么辦,看stm32
嗯就是這么直接,stm32放哪里我們放哪里,可以明確看到CMSIS是在drivers下的,那么很直接,我們復(fù)制過去同樣的位置就可以了,將兩個(gè)路徑都放出來了,我們可以對(duì)比一下
到此是不是就結(jié)束了呢,顯然并不是,還需要編譯一下去測(cè)試才可以提交pr,誒這個(gè)時(shí)候我們會(huì)發(fā)現(xiàn)編譯通不過了,仍然找不到”core_cm33.h”文件,讓我們想想是哪里出了問題,現(xiàn)在文件有了,我們是不是該考慮一下編譯器為什么找不到,很顯然我們應(yīng)該去看SConscript腳本了,在那里為編譯器尋找文件指明了路徑,但是那么多的SConscript腳本,我們應(yīng)該去尋找哪一個(gè),這里呢,筆者的想法是找最近的,顯然lpc55sxxLibrariesdriversSConscript最近,遂,看?。。。?/p>
看來里邊是沒有的,全是對(duì).c文件的控制,等等,我們CMSIScoreinclude下的可都是.h文件,我們應(yīng)該從上層向下尋找,來到bsp根目錄下
這里我就直接用vscode打開了SConscript,大家注意看路徑,是bsp根目錄下,很顯然這個(gè)SConscript就是 了,第五行很明顯確定了CMSIS的路徑,(這里是我修改之后的),那么接下來開始編譯
解決一個(gè)問題是沒有那么容易的,這里(LPC55sxx里)還有其他使用CMSIS的bsp,他們的SConscript腳本我們也需要一并修改了
到此呢,就真的結(jié)束了見 pr,我還不小心將CMSIS下的LICENSE.txt文件刪掉了,又加了一個(gè)commit才解決這件事情,最后的pr長這樣
在滿鑒霆大佬和楊熙大佬的建議下,最終的解決辦法采用了另一種解決方案
修改sdk_dist.py文件
sdk_dist.py文件在bsplpc55sxxtools下,env在接受到scons —dist之后會(huì)調(diào)用該腳本
只需要在腳本里添加一句話即可
print("= > copy bsp CMSIS")
bsp_copy_files(os.path.join(library_path, 'CMSIS'), os.path.join(library_dir, 'CMSIS'))
然后scons —dist的效果是這樣的
然后編譯測(cè)試一下
到這里就真的結(jié)束啦.
-
控制器
+關(guān)注
關(guān)注
112文章
16332瀏覽量
177800 -
LPC
+關(guān)注
關(guān)注
8文章
136瀏覽量
77623 -
STM32
+關(guān)注
關(guān)注
2270文章
10895瀏覽量
355715 -
CMSIS
+關(guān)注
關(guān)注
0文章
40瀏覽量
11892
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論