RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

[LPC55S6X]解決在-dist之后無法編譯的問題的思路

冬至子 ? 來源:linshire ? 作者:linshire ? 2023-10-11 17:00 ? 次閱讀

背景
在進(jìn)行bsp適配的時(shí)候,在bsplpc55sxxlpc55s36_nxp_evk下輸入命令scons —dist,

1.jpg

等待導(dǎo)出成功,然后以dist文件下的工程開始開發(fā),注意此時(shí)dist文件夾可以放置在任意地方,此時(shí)在distproject下scons編譯,會(huì)出現(xiàn)如下錯(cuò)誤,為了更清楚的復(fù)現(xiàn)報(bào)錯(cuò),這里并沒有使用多線程編譯

1.jpg

發(fā)現(xiàn)問題
當(dāng)然對(duì)至于這樣的報(bào)錯(cuò)。必然先確認(rèn)在dist下是否真的存在這個(gè)文件,結(jié)果是沒有的,那就去bsp下尋找,這里使用了everything搜索工具

1.jpg

在查找到文件之后,復(fù)制過去到dist下,然后接著編譯,會(huì)繼續(xù)發(fā)現(xiàn)報(bào)錯(cuò)缺少其他文件,而且很顯然,這些文件都在一個(gè)文件夾下,即bsplpc55sxxLibrariesCMSISCoreInclude,那么可以肯定的是,同時(shí)對(duì)比dist目錄,可以肯定的是,CMSIS整個(gè)文件夾都沒有被scons —dist打包出去

1.jpg

那么到這里基本就明確了問題,現(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ì)比一下

1.jpg

2.jpg

到此是不是就結(jié)束了呢,顯然并不是,還需要編譯一下去測(cè)試才可以提交pr,誒這個(gè)時(shí)候我們會(huì)發(fā)現(xiàn)編譯通不過了,仍然找不到”core_cm33.h”文件,讓我們想想是哪里出了問題,現(xiàn)在文件有了,我們是不是該考慮一下編譯器為什么找不到,很顯然我們應(yīng)該去看SConscript腳本了,在那里為編譯器尋找文件指明了路徑,但是那么多的SConscript腳本,我們應(yīng)該去尋找哪一個(gè),這里呢,筆者的想法是找最近的,顯然lpc55sxxLibrariesdriversSConscript最近,遂,看?。。。?/p>

1.jpg

看來里邊是沒有的,全是對(duì).c文件的控制,等等,我們CMSIScoreinclude下的可都是.h文件,我們應(yīng)該從上層向下尋找,來到bsp根目錄下

1.jpg

這里我就直接用vscode打開了SConscript,大家注意看路徑,是bsp根目錄下,很顯然這個(gè)SConscript就是 了,第五行很明顯確定了CMSIS的路徑,(這里是我修改之后的),那么接下來開始編譯

解決一個(gè)問題是沒有那么容易的,這里(LPC55sxx里)還有其他使用CMSIS的bsp,他們的SConscript腳本我們也需要一并修改了

到此呢,就真的結(jié)束了見 pr,我還不小心將CMSIS下的LICENSE.txt文件刪掉了,又加了一個(gè)commit才解決這件事情,最后的pr長這樣

1.jpg

在滿鑒霆大佬和楊熙大佬的建議下,最終的解決辦法采用了另一種解決方案

修改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的效果是這樣的

1.jpg

然后編譯測(cè)試一下

1.jpg

到這里就真的結(jié)束啦.

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 控制器
    +關(guān)注

    關(guān)注

    112

    文章

    16332

    瀏覽量

    177800
  • LPC
    LPC
    +關(guān)注

    關(guān)注

    8

    文章

    136

    瀏覽量

    77623
  • STM32
    +關(guān)注

    關(guān)注

    2270

    文章

    10895

    瀏覽量

    355715
  • CMSIS
    +關(guān)注

    關(guān)注

    0

    文章

    40

    瀏覽量

    11892
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    使用市面上首款基于 Arm? Cortex?-M33 的 MCU – 第 1 部分:管理功耗與性能

    開發(fā)應(yīng)用時(shí),設(shè)計(jì)人員可將該電路板與 MCUXpresso 集成開發(fā)環(huán)境 (IDE) 和 SDK 配合使用,該套件使用 PowerQuad 功能(如前所述)等 LPC55S6x 專用硬件。此外,IAR
    的頭像 發(fā)表于 08-02 11:34 ?1w次閱讀

    LPC55S6x high speed spi 求助

    hi,all 最近在做芯片選型,需要尋找一款支持50MHz工作頻率的SPI接口,觀察到LPC55S6x high speed spi mode下宣稱可以工作到50MHz,但看其timing數(shù)據(jù)
    發(fā)表于 03-06 17:26

    LPC55S69對(duì)接RTduino的相關(guān)工作

    該文記錄 LPC55S69 開發(fā)板體驗(yàn)期間,對(duì)接 RTduino 的相關(guān)工作。RTduino 是基于 RT-Thread 框架下進(jìn)一步的封裝,使得用戶可以像開發(fā) Arduino 一樣快速上手
    發(fā)表于 02-24 14:51

    LPC55S69 Flashmagic不編程的原因?

    tiegf6JWnvo5(USB 引導(dǎo)加載程序)讀取簽名有效。閱讀部門作品擦除部門作品。但編程不工作:(按開始)LPC55S69(USB,LPC5500)操作失敗。(編程 - 無法
    發(fā)表于 03-15 07:54

    LPC55S6Xdist之后無法編譯的解決思路

    背景進(jìn)行bsp適配的時(shí)候,bsp\lpc55sxx\lpc55s36_nxp_evk下輸入命令scons —dist,等待導(dǎo)出成功,然后
    發(fā)表于 03-15 14:50

    LPC55S1x VBAT_DCDC上升時(shí)間要求是什么?

    根據(jù) LPC55S1x 勘誤表,VBAT_DCDC 引腳電源的上升時(shí)間應(yīng)至少為 2.6 ms,以保證最壞情況下的溫度下啟動(dòng)。此要求是否有最大轉(zhuǎn)換率?例如,我們正在考慮使用的穩(wěn)壓器具有以下啟動(dòng)時(shí)
    發(fā)表于 03-20 06:40

    LPC55S69的雙核性能技巧是什么?

    我 以為 我看到了關(guān)于優(yōu)化 LPC55S6x 系列雙核性能的應(yīng)用說明,但我現(xiàn)在找不到任何東西。有這樣的資源嗎?我主要尋找的是有關(guān)內(nèi)存爭用的信息。我看到兩個(gè)內(nèi)核共享相同的閃存接口。從閃存運(yùn)行的兩個(gè)內(nèi)核可以實(shí)現(xiàn)什么樣的性能?第二個(gè)核心是否需要從 RAM 運(yùn)行才有用?
    發(fā)表于 03-31 09:07

    求分享LPC55S69 EVK的預(yù)編譯CMSIS-DSP庫

    為了比較 CM33 和 PowerQuad 之間的數(shù)學(xué)處理性能, 我正在尋找 CMSIS-DSP 預(yù)編譯庫文件 (.a) 可用于 LPC55S69EVK 的 MCUXpresso, 但我無法在任
    發(fā)表于 04-06 08:21

    難道不能將CPU保留控制中的位0設(shè)置為0表示沒有CPU保留嗎?

    LPC55S6x/LPC55S2x/LPC552x 用戶手冊(cè)(2.4 版 - 2021 年 10 月 8 日)表 328 中描述,調(diào)用
    發(fā)表于 04-19 07:46

    求分享LPC55S0x / LPC550x 數(shù)據(jù)表 v1.4 表 39 腳注 [7]“最佳性能”說明

    LPC55S0x / LPC550x 數(shù)據(jù)表 v1.4 中,第 12.2 節(jié) 16 位 ADC 特性,表 39,腳注 [7] 已更新(與數(shù)據(jù)表 v1.2 相比): 我的問題: 1. 腳注
    發(fā)表于 05-04 06:41

    帶USB引導(dǎo)加載程序的LPC55S69USB0不工作怎么解決?

    LPC55S6x/LPC55S2x/LPC552x 用戶手冊(cè) UM11126 說USB0也可以用于 ISP 模式。 我用LPCXpresso55S69試過這個(gè): 擦除閃存 將
    發(fā)表于 05-06 08:38

    LPC55S系列的最大IO電壓是多少?

    (參見表 24) ”。 LPC55S6x 能否 1.8V 下工作,同時(shí)將 3.3V 信號(hào)驅(qū)動(dòng)到設(shè)備中而不損壞它?
    發(fā)表于 05-31 06:38

    LPC55S16JEV98E NXP Semiconductors LPC551x/S1x系列微控制器

    電子發(fā)燒友網(wǎng)為你提供NXP(ti)LPC55S16JEV98E相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊(cè),更有LPC55S16JEV98E的引腳圖、接線圖、封裝手冊(cè)、中文資料、英文資料,LPC55S16JEV98E真值表,
    發(fā)表于 10-29 14:06

    LPC55S66JBD64K NXP Semiconductors LPC55S6x Arm? Cortex?-M33微控制器

    電子發(fā)燒友網(wǎng)為你提供NXP(ti)LPC55S66JBD64K相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊(cè),更有LPC55S66JBD64K的引腳圖、接線圖、封裝手冊(cè)、中文資料、英文資料,LPC55S66JBD64K真值表,
    發(fā)表于 10-29 13:06

    LPC553x/LPC55S3x上的無刷直流(BLDC)電機(jī)控制演示

    電子發(fā)燒友網(wǎng)站提供《LPC553x/LPC55S3x上的無刷直流(BLDC)電機(jī)控制演示.pdf》資料免費(fèi)下載
    發(fā)表于 08-17 15:08 ?2次下載
    <b class='flag-5'>LPC553x</b>/<b class='flag-5'>LPC55S3x</b>上的無刷直流(BLDC)電機(jī)控制演示
    RM新时代网站-首页