XMC1000 使用IEC 60335 Class B問題

公告

大中华汽车电子生态圈社区并入开发者社区- 更多资讯点击此

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

cross mob
User9266
Level 3
Level 3
25 sign-ins 25 replies posted First like given

Dear All

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

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

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

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

謝謝

0 点赞
1 解答
Owen_Su
Moderator
Moderator
Moderator
250 solutions authored 500 replies posted 50 likes received

Hi, @User9266 ,

    经过与Hitex的沟通之后,对方分享了一个R1.23版本的ClassB library,里边包含了DAVE 3的相关例子,但是由于时间比较久了,不保证这个版本还能否被接受,但您可以参考一下。我编译过后不再出现找不到ENTRY的报错,以下是对应library的链接:https://download.hitex.com/ClassB/IFX/XMCx000%20ClassB%20R1.23.zip

    由于现在DAVE和ClassB都已经更新迭代了,其中的一些环境已经没办法完全复现,所以关于先前版本的支持也是很有限的,建议您以后的开发还是基于我们最新的版本,这样我们才能给到您比较完善的支持。感谢您的理解。

Regards,

Owen

在原帖中查看解决方案

20 回复数
Owen_Su
Moderator
Moderator
Moderator
250 solutions authored 500 replies posted 50 likes received

Hi, @User9266 ,

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

Regards,

Owen_Su

 

0 点赞
lock attach
Attachments are accessible only for community members.
User9266
Level 3
Level 3
25 sign-ins 25 replies posted First like given

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 点赞
Owen_Su
Moderator
Moderator
Moderator
250 solutions authored 500 replies posted 50 likes received

Hi, @User9266 ,

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

Regards,

Owen_Su

0 点赞
lock attach
Attachments are accessible only for community members.
User9266
Level 3
Level 3
25 sign-ins 25 replies posted First like given

Hi, Owen_Su

感謝您的協助

附上Class B library的压缩包和Userguide

謝謝

0 点赞
Owen_Su
Moderator
Moderator
Moderator
250 solutions authored 500 replies posted 50 likes received

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 点赞
User9266
Level 3
Level 3
25 sign-ins 25 replies posted First like given

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 点赞
User9266
Level 3
Level 3
25 sign-ins 25 replies posted First like given

Hi, Owen_Su

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

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

謝謝

0 点赞
Owen_Su
Moderator
Moderator
Moderator
250 solutions authored 500 replies posted 50 likes received

Hi, @User9266 ,

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

Regards,

Owen_Su

0 点赞
User9266
Level 3
Level 3
25 sign-ins 25 replies posted First like given

Hi, Owen_Su

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

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

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

User9266_0-1673507896844.png

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

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

再麻煩您指出我的錯誤

謝謝

0 点赞
Owen_Su
Moderator
Moderator
Moderator
250 solutions authored 500 replies posted 50 likes received

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 点赞
User9266
Level 3
Level 3
25 sign-ins 25 replies posted First like given

Hi, Owen_Su

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

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

再麻煩您

謝謝

0 点赞
Owen_Su
Moderator
Moderator
Moderator
250 solutions authored 500 replies posted 50 likes received

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 点赞
User9266
Level 3
Level 3
25 sign-ins 25 replies posted First like given

Hi, Owen_Su

感謝您的協助

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

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

謝謝

0 点赞
Owen_Su
Moderator
Moderator
Moderator
250 solutions authored 500 replies posted 50 likes received

Hi, @User9266 ,

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

Owen_Su_0-1673507316421.png

 

0 点赞
User9266
Level 3
Level 3
25 sign-ins 25 replies posted First like given

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 点赞
Owen_Su
Moderator
Moderator
Moderator
250 solutions authored 500 replies posted 50 likes received

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

0 点赞
User9266
Level 3
Level 3
25 sign-ins 25 replies posted First like given

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 点赞
Owen_Su
Moderator
Moderator
Moderator
250 solutions authored 500 replies posted 50 likes received

Hi, @User9266 ,

    很抱歉这么晚才回复您。经过与同事的沟通之后得知,Class B的库是由我们的partner(Hitex)负责的,目前对方已无法提供DAVE3的相关资料,但是对方提到DAVE3版本与DAVE4版本的区别主要是在library的根目录以及startup文件上,您可以修改startup文件后再进行尝试。我已向对方公司询问具体的修改步骤但目前还没回应,您可以直接发送邮件给Hitex来请求协助,邮箱可以在以下链接中找到:http://www2.hitex.com/dl-classb-xmc

Owen_Su_0-1675215548329.png

    感谢您的理解与支持。

Regards,

Owen

0 点赞
User9266
Level 3
Level 3
25 sign-ins 25 replies posted First like given

Hi, Owen_Su

感謝您的協助, 雖然結果不如意

謝謝

0 点赞
Owen_Su
Moderator
Moderator
Moderator
250 solutions authored 500 replies posted 50 likes received

Hi, @User9266 ,

    经过与Hitex的沟通之后,对方分享了一个R1.23版本的ClassB library,里边包含了DAVE 3的相关例子,但是由于时间比较久了,不保证这个版本还能否被接受,但您可以参考一下。我编译过后不再出现找不到ENTRY的报错,以下是对应library的链接:https://download.hitex.com/ClassB/IFX/XMCx000%20ClassB%20R1.23.zip

    由于现在DAVE和ClassB都已经更新迭代了,其中的一些环境已经没办法完全复现,所以关于先前版本的支持也是很有限的,建议您以后的开发还是基于我们最新的版本,这样我们才能给到您比较完善的支持。感谢您的理解。

Regards,

Owen