Dear All
目前我仍在DAVE3.1.10上進行開發, 需要使用到IEC 60335 Class B Library
已向供應商取得Class B Library與說明手冊, 但供應商無相關的經驗可以支援
目前先依照內附的手冊建立含Class B的專案進行測試, 但實際試做時說明文件與檔案有些差異
請問有人可以分享相關的經驗嗎?
謝謝
已解决! 转到解答。
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
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內
雖然有一些上述的問題, 但我還是盡量把剩下的步驟做完, 並將專案編譯完成, 有出現一個警告
為後我把專案燒錄到XMC1302上, 但會出現異常
我對於Class B Library導入方法仍有點疑惑, 再麻煩您指點迷津
附上我建立的專案
謝謝
Hi, @User9266 ,
我在我的DAVE 4.5上尝试打开你的project,编译的时候出现了缺少相应库的报错,这应该跟DAVE的软件版本有关,您可以把您的Class B library的压缩包和Userguide发给我对比一下。
Regards,
Owen_Su
Hi, @User9266 ,
经过测试之后,按照UserGuide里的步骤我可以成功建立project并进行编译,这里有几个点需要注意:
1. 您上会提到的找不到ClassB_config.h_template,该文件在ClassB_config.h一样的目录下,如下图所示,把这个ClassB_config.h_template_XMC1300导入到project中对应的文件夹之后再将名字修改即可,这个在文件中有说明。
2. IFX_ClassB_XMC_2.2\01_XMC1000\Examples內有"Dave4_XMC1300_ClassB"的这个例子ClassB_Config.h放在外边,然后文档中是放在里边,这个其实没有影响,只要你把相应的路径添加进去就可以被编译器识别。
3. 首先你要在project里新建一个文件夹ClassB_XMC1300(其他名字也可以),然后再按照文档中的步骤将相应的文件都添加进去,完全添加之后的效果可以参考例程。
4. 例程中有两个地方包含了inc文件夹,如果按照文档中的步骤进行编译,可能会出现找不到相应文件的报错,这时候需要点击 “File” 和 “Properties” 然后选择 “C/C++ Build” 和 “Settings”,将路径添加进去即可。
5. 还有一个提醒就是,import的时候可能会把文件夹里的startup文件夹也添加进来,但是在新建工程的时候已经自动生成了一个,这时候编译就会出现定义冲突的报错,所以如果出现了相关的报错就检查一下是否重复添加了startup文件夹。
按照UserGuide的步骤添加完成之后,对照例程检查一下是否缺少文件即可。如果您还有其他问题都可以随时联系我们,感谢您的支持。
Regards,
Owen_Su
Hi, Owen_Su
我在DAVE4.5上依照UserGuide的步驟操作一次, 是可以編譯成功的
但是同樣的設定在DAVE3.1.10上卻是有問題的
下圖是DAVE3.1.10與DAVE4.5的畫面
導入檔案位置都是一樣的, setting的設定也一樣
但是在"ClassB_config.h"的"(defined (__GNUC__))"相關程序卻不一樣
請問這個是我在DAVE3.1.10上邊一時會跳出的警告有相關嗎?
還是說目前的Library並無法直接在DAVE3.1.10上導入?
我在取得該Library時有詢問是否可以在DAVE3上使用
回復的內容為
我的解讀是可行的, 但不曉得是哪邊需要修改
再麻煩您指點一下
謝謝
Hi, @User9266 ,
我是使用DAVE4来测试的,我这边已经没有DAVE3版本,可能需要点时间来帮您测试一下。另外,当出现某些语句无法识别时,一般就是与编译器的版本有关,我这边测试之后尽快给您答复。感谢您的理解与支持。
Regards,
Owen_Su
Hi, Owen_Su
非常感謝您的協助, 期待得到您的好消息
另外, 我雖然在DAVE4.5上編譯成功, 但將程式燒錄到XMC1302運行時與範例程式的結果不同
main.c上沒有建立任何功能, 燒錄到XMC1302之後會得到下面的結果
若是使用範例程式燒錄到XMC1302上並設定中斷點到"LED1_INIT;", 他會正常運行到該中斷點
請問您自己建立的專案會發生類似的問題嗎? 或是我有哪個設定要再檢查?
再麻煩您指出我的錯誤
謝謝
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中,代码能够正常运行了。希望这对您有所帮助。
Regards,
Owen_Su
Hi, Owen_Su
依照您建議的方式修改DAVE4.5導入Class B Library是可執行到main.c的第一行程式[我有看到需修改ClassB_Ref_ChkSum]
至於DAVE3.1.10要導入Class B Library看來是Library對應版本的問題, 這部分不曉得是否有機會拿到合適的版本, 因為我知道的是Class B Library是不能隨意修改內部的程序
再麻煩您
謝謝
Hi, @User9266 ,
目前我能找到的ClassB library只能通过以下链接来下载,英飞凌官网上也是链接到这个网站下载:https://www.hitex.com/company/what-we-do/solutions/functional-safety/iec-60335-class-b
您可以与我们的partner沟通下能否拿到之前版本的libraries,我这边也帮您再问问我们的工程师。感谢您的理解与支持。
Regards,
Owen_Su
Hi, Owen_Su
感謝您的協助
我也同步將該問題反應給供應商
若有進一步的消息也請您再給我回覆
謝謝
Hi, @User9266 ,
您可以把DAVE软件根目录下的编译器替换一下再进行尝试,从您上面的截图看到这个library需要对应的ARM compiler 和C compiler,您可以查看一下自己的版本是不是符合要求。
Hi, Owen_Su
請問您上述所說的"从您上面的截图看到这个library需要对应的ARM compiler 和C compiler"
是指我在DAVE3.1.10編輯發生警告的那個部分嗎?
還是指我在DAVE4.5上燒錄後發生錯誤的原因?
"把DAVE软件根目录下的编译器替换一下"指的是將DAVE4.5的ARM-GCC-49取代
DAVE3.1.10的ARM-GCC嗎?
不好意思, 討論的東西有點多, 所以跟您問清楚一點比較不會有誤會
謝謝
替换编译器是在DAVE3上,用ARM GCC-4.9替换掉DAVE3原本的编译器。
Hi, Owen_Su
我有將DAVE4.5上的ARM GCC-4.9替換掉DAVE3.1.10上的ARM GCC, 也將名稱改成ARM GCC
重新建立一個專案, 但結果仍是一樣, 編譯完後會出現警告
我有注意到"(defined (__GNUC__))"部分仍是灰底的, 與DAVE4.5不同
謝謝
Hi, @User9266 ,
很抱歉这么晚才回复您。经过与同事的沟通之后得知,Class B的库是由我们的partner(Hitex)负责的,目前对方已无法提供DAVE3的相关资料,但是对方提到DAVE3版本与DAVE4版本的区别主要是在library的根目录以及startup文件上,您可以修改startup文件后再进行尝试。我已向对方公司询问具体的修改步骤但目前还没回应,您可以直接发送邮件给Hitex来请求协助,邮箱可以在以下链接中找到:http://www2.hitex.com/dl-classb-xmc
感谢您的理解与支持。
Regards,
Owen
Hi, Owen_Su
感謝您的協助, 雖然結果不如意
謝謝
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