Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

XMC™ Forum Discussions

User9266
Level 3
Level 3
10 sign-ins 10 replies posted 5 replies posted

Dear All

目前我仍在DAVE3.1.10上進行開發, 需要使用到IEC 60335 Class B Library

已向供應商取得Class B Library與說明手冊, 但供應商無相關的經驗可以支援

目前先依照內附的手冊建立含Class B的專案進行測試, 但實際試做時說明文件與檔案有些差異

請問有人可以分享相關的經驗嗎?

謝謝

0 Likes
17 Replies
Owen_Su
Moderator
Moderator
Moderator
50 solutions authored 100 sign-ins 100 replies posted

Hi, @User9266 ,

    可以具体说一下您正在使用的开发板以及遇到的问题吗?是使用什么外设或功能时出现问题嘛?

Regards,

Owen_Su

 

0 Likes
User9266
Level 3
Level 3
10 sign-ins 10 replies posted 5 replies posted

Hi, Owen_Su

感謝您的回覆

我目前想嘗試將Class B Library導入到XMC1302的專案內, 所以先依照"Quick Start Guide"上的DAVE4的說明嘗試在空白的專案上測試

雖然說明文件是以DAVE4當作範例, 但我將要導入的專案是建立在DVAE3上, 所以我仍是開啟DAVE3開始嘗試導入

目前我遇到的問題是

1. 說明文件部分檔案位置與實際上的有差異

例如依照步驟在導入"ClassB_config.h_template"時找不到對應的文件, 但實際上資料夾內已經含有"ClassB_config.h", 是否就不需要再修改?

IFX_ClassB_XMC_2.2\01_XMC1000\Examples內有"Dave4_XMC1300_ClassB", 但觀察專案的"ClassB_config.h"是放在外面, 文件說明是放在ClassB_XMC1000內

雖然有一些上述的問題, 但我還是盡量把剩下的步驟做完, 並將專案編譯完成, 有出現一個警告

User9266_0-1673418378118.png

為後我把專案燒錄到XMC1302上, 但會出現異常

User9266_1-1673418557276.png

我對於Class B Library導入方法仍有點疑惑, 再麻煩您指點迷津

附上我建立的專案

謝謝

 

 

0 Likes
Owen_Su
Moderator
Moderator
Moderator
50 solutions authored 100 sign-ins 100 replies posted

Hi, @User9266 ,

    我在我的DAVE 4.5上尝试打开你的project,编译的时候出现了缺少相应库的报错,这应该跟DAVE的软件版本有关,您可以把您的Class B library的压缩包和Userguide发给我对比一下。

Regards,

Owen_Su

0 Likes
User9266
Level 3
Level 3
10 sign-ins 10 replies posted 5 replies posted

Hi, Owen_Su

感謝您的協助

附上Class B library的压缩包和Userguide

謝謝

0 Likes
Owen_Su
Moderator
Moderator
Moderator
50 solutions authored 100 sign-ins 100 replies posted

Hi, @User9266 ,

    经过测试之后,按照UserGuide里的步骤我可以成功建立project并进行编译,这里有几个点需要注意:

    1. 您上会提到的找不到ClassB_config.h_template,该文件在ClassB_config.h一样的目录下,如下图所示,把这个ClassB_config.h_template_XMC1300导入到project中对应的文件夹之后再将名字修改即可,这个在文件中有说明。

Owen_Su_0-1673491577403.png

    2. IFX_ClassB_XMC_2.2\01_XMC1000\Examples內有"Dave4_XMC1300_ClassB"的这个例子ClassB_Config.h放在外边,然后文档中是放在里边,这个其实没有影响,只要你把相应的路径添加进去就可以被编译器识别。

    3. 首先你要在project里新建一个文件夹ClassB_XMC1300(其他名字也可以),然后再按照文档中的步骤将相应的文件都添加进去,完全添加之后的效果可以参考例程。

Owen_Su_2-1673492107766.pngOwen_Su_3-1673492130534.png

    4. 例程中有两个地方包含了inc文件夹,如果按照文档中的步骤进行编译,可能会出现找不到相应文件的报错,这时候需要点击 “File” 和 “Properties” 然后选择 “C/C++ Build” 和 “Settings”,将路径添加进去即可。

Owen_Su_4-1673492371995.png

    5. 还有一个提醒就是,import的时候可能会把文件夹里的startup文件夹也添加进来,但是在新建工程的时候已经自动生成了一个,这时候编译就会出现定义冲突的报错,所以如果出现了相关的报错就检查一下是否重复添加了startup文件夹。

    按照UserGuide的步骤添加完成之后,对照例程检查一下是否缺少文件即可。如果您还有其他问题都可以随时联系我们,感谢您的支持。

Regards,

Owen_Su

 

 

0 Likes

Hi, Owen_Su

我在DAVE4.5上依照UserGuide的步驟操作一次, 是可以編譯成功的

但是同樣的設定在DAVE3.1.10上卻是有問題的

下圖是DAVE3.1.10與DAVE4.5的畫面

未命名.png

導入檔案位置都是一樣的, setting的設定也一樣

但是在"ClassB_config.h"的"(defined (__GNUC__))"相關程序卻不一樣

請問這個是我在DAVE3.1.10上邊一時會跳出的警告有相關嗎?

User9266_3-1673500183174.png

還是說目前的Library並無法直接在DAVE3.1.10上導入?

我在取得該Library時有詢問是否可以在DAVE3上使用

回復的內容為

User9266_4-1673500314001.png

我的解讀是可行的, 但不曉得是哪邊需要修改

再麻煩您指點一下

謝謝

 

 

0 Likes
User9266
Level 3
Level 3
10 sign-ins 10 replies posted 5 replies posted

Hi, Owen_Su

請問您是使用DAVE3還是DAVE4建立專案?

可以將您建好的專案傳給我參考嗎?

謝謝

0 Likes
Owen_Su
Moderator
Moderator
Moderator
50 solutions authored 100 sign-ins 100 replies posted

Hi, @User9266 ,

    我是使用DAVE4来测试的,我这边已经没有DAVE3版本,可能需要点时间来帮您测试一下。另外,当出现某些语句无法识别时,一般就是与编译器的版本有关,我这边测试之后尽快给您答复。感谢您的理解与支持。

Regards,

Owen_Su

0 Likes

Hi, Owen_Su

非常感謝您的協助, 期待得到您的好消息

另外, 我雖然在DAVE4.5上編譯成功, 但將程式燒錄到XMC1302運行時與範例程式的結果不同

main.c上沒有建立任何功能, 燒錄到XMC1302之後會得到下面的結果

User9266_0-1673507896844.png

若是使用範例程式燒錄到XMC1302上並設定中斷點到"LED1_INIT;", 他會正常運行到該中斷點

請問您自己建立的專案會發生類似的問題嗎? 或是我有哪個設定要再檢查?

再麻煩您指出我的錯誤

謝謝

0 Likes
Owen_Su
Moderator
Moderator
Moderator
50 solutions authored 100 sign-ins 100 replies posted

Hi, @User9266 ,

    对于这个“Unable to retrieve disassembly data"的问题,我进行了多次测试,一开始按照UserGuide的步骤设置的时候我也遇到了一样的问题,然后我就按照案例"Dave4_XMC1300_ClassB"中的配置来进行设置,修改了directories的路径,并将linker的路径进行修改,把存在外边的linker_script. ld文件删除,报错就消失了,您可以参考一下。

    需要注意的是:1. linker的路径我是链接到了project保存的路径中;

    2. 除此之外,我也按照案例中调整了文件的位置。

    3. 修改libraries,我将两个project对比发现,如果在DAVE4.5上新建project,生成的libraries是最新的,可能在一些语句上有差异。所以我把"Dave4_XMC1300_ClassB"中的libraries文件夹直接复制到新的project中,代码能够正常运行了。希望这对您有所帮助。

Owen_Su_0-1673578420295.png

Owen_Su_1-1673578460014.png

Regards,

Owen_Su

 

0 Likes

Hi, Owen_Su

依照您建議的方式修改DAVE4.5導入Class B Library是可執行到main.c的第一行程式[我有看到需修改ClassB_Ref_ChkSum]

至於DAVE3.1.10要導入Class B Library看來是Library對應版本的問題, 這部分不曉得是否有機會拿到合適的版本, 因為我知道的是Class B Library是不能隨意修改內部的程序

再麻煩您

謝謝

0 Likes
Owen_Su
Moderator
Moderator
Moderator
50 solutions authored 100 sign-ins 100 replies posted

Hi, @User9266 ,

    目前我能找到的ClassB library只能通过以下链接来下载,英飞凌官网上也是链接到这个网站下载:https://www.hitex.com/company/what-we-do/solutions/functional-safety/iec-60335-class-b

    您可以与我们的partner沟通下能否拿到之前版本的libraries,我这边也帮您再问问我们的工程师。感谢您的理解与支持。

Regards,

Owen_Su

0 Likes

Hi, Owen_Su

感謝您的協助

我也同步將該問題反應給供應商

若有進一步的消息也請您再給我回覆

謝謝

0 Likes
Owen_Su
Moderator
Moderator
Moderator
50 solutions authored 100 sign-ins 100 replies posted

Hi, @User9266 ,

    您可以把DAVE软件根目录下的编译器替换一下再进行尝试,从您上面的截图看到这个library需要对应的ARM compiler 和C compiler,您可以查看一下自己的版本是不是符合要求。

Owen_Su_0-1673507316421.png

 

0 Likes

Hi, Owen_Su

請問您上述所說的"从您上面的截图看到这个library需要对应的ARM compiler 和C compiler"

是指我在DAVE3.1.10編輯發生警告的那個部分嗎?

還是指我在DAVE4.5上燒錄後發生錯誤的原因?

"把DAVE软件根目录下的编译器替换一下"指的是將DAVE4.5的ARM-GCC-49取代


DAVE3.1.10的ARM-GCC嗎?

User9266_0-1673509300283.png

不好意思, 討論的東西有點多, 所以跟您問清楚一點比較不會有誤會

謝謝

0 Likes
Owen_Su
Moderator
Moderator
Moderator
50 solutions authored 100 sign-ins 100 replies posted

替换编译器是在DAVE3上,用ARM GCC-4.9替换掉DAVE3原本的编译器。

0 Likes

Hi, Owen_Su

我有將DAVE4.5上的ARM GCC-4.9替換掉DAVE3.1.10上的ARM GCC, 也將名稱改成ARM GCC

User9266_0-1673511154510.png

 

重新建立一個專案, 但結果仍是一樣, 編譯完後會出現警告

User9266_4-1673511312244.png

 

User9266_2-1673511221350.pngUser9266_3-1673511251607.png

我有注意到"(defined (__GNUC__))"部分仍是灰底的, 與DAVE4.5不同

User9266_5-1673511362088.png

謝謝

 

0 Likes