记录一个海思TOE的BUG
生活随笔
收集整理的這篇文章主要介紹了
记录一个海思TOE的BUG
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
原始引用地址: 記錄一個海思TOE的BUG
time: 2020.5.3 17:57
發現的過程
? 最近在做onvif開發時,有x86的驗證的功能沒有問題,移動到海思Hi3536上簡單運行貌視也很正常。但是多次測試后,發現有時在接收一些onvif數據時,不能正常接收,直到超時。一些雜牌的相機頻繁出問題,海康大華的幾乎不出問題,很是奇怪。
分析測試
經過上面的分析測試,確認是TOE的問題。但是怎么解決問題?難道是gsoap的問題,因為出問題的地方是gsoap生成代碼!!!試了另外的老的版本,新的版本,,問題依舊!!!!google各種錯誤信息,無解。
又是一個較長時間的苦惱的debug,,,,,,
分析下問題的原因好像與數據包的長度有關。短的數據不易出問題,長的數據容易出問題。再看下gsoap生成的代碼,緩沖buf是64k,這個64k與TOE中默認的相同!
估計就是TOE一個攢的著數據,直到足夠大才往上返回!!但是onvif的數據一個沒有到足夠大的條件。所以直到數據超時了,數據也沒返回來。
好吧過程就不多說了,我現在也忘的差不多了。直接說結果吧
結論
如果想讓ONVIF的SOAP接口在TOE狀態下正常使用,應該把onvif/stdsoap2.h 中SOAP_BUFLEN(默認為65536, 也就是64k)改為一個比較小的值,我改為20*1024,多次測試后認為問題解決。
首頁
總結
以上是生活随笔為你收集整理的记录一个海思TOE的BUG的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ninja使用
- 下一篇: caffe在ubuntu18.04下编译