• slider image 71
  • slider image 72
  • slider image 73
:::


Browsing this Thread:   1 Anonymous Users




« 1 (2)


Re: XC32 float function 問題!
#11
資深會員
資深會員


查看用戶資訊
好奇問一下,你要做什麼功能...

因為單晶片,本來運算能力就比較差...
少做複雜的運算或改為其他方式,
可以減少問題與計算時間...

例: X * 0.75 ( 把小數(0.75)化成 n / (2^N))
= X * 3 / 4 = (X * 3) >> 2


參考 YUV
http://zh.wikipedia.org/zh-tw/YUV

YUV與RGB的轉換公式,很多時候"整數",
也可以代替做"小數"或"浮點數"運算...

註:還有一種叫Q format...
http://en.wikipedia.org/wiki/Q_%28number_format%29

發表於: 2014/6/10 18:03
程式是
依照寫出來(的code),跑出結果
不是依照你想出來的,得到結果

先有需求規格 後有解決方案
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: XC32 float function 問題!
#12
高級會員
高級會員


查看用戶資訊
參照:

Ryang 寫道:
我只用簡短的測試程式,問題沒有顯現出來。不知在 Build Option 下的 C32 Linker 的選項下,給 64 Bytes 的 Heap Size 看看。


heap size 我已經設到 1024 Bytes 了。
另外麻煩您也問一下 有關 complex 的使用,手冊上說目前沒有支援,但確有個 complex.h , 宣告 complex z 也成功,只是這 z.? 到底是啥? z.x , z.y 不對, z.i, z.r 也不對。 還有 cabs function 該如何使用, 我怎麼試都不對啊! 最重要的是說明含含糊糊的! 以上有勞您了!感恩。

發表於: 2014/6/10 18:31
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: XC32 float function 問題!
#13
資深會員
資深會員


查看用戶資訊

發表於: 2014/6/10 18:40
程式是
依照寫出來(的code),跑出結果
不是依照你想出來的,得到結果

先有需求規格 後有解決方案
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: XC32 float function 問題!
#14
高級會員
高級會員


查看用戶資訊
參照:

jason680 寫道:
好奇問一下,你要做什麼功能...

因為單晶片,本來運算能力就比較差...
少做複雜的運算或改為其他方式,
可以減少問題與計算時間...

例: X * 0.75 ( 把小數(0.75)化成 n / (2^N))
= X * 3 / 4 = (X * 3) >> 2


參考 YUV
http://zh.wikipedia.org/zh-tw/YUV

YUV與RGB的轉換公式,很多時候"整數",
也可以代替做"小數"或"浮點數"運算...

註:還有一種叫Q format...
http://en.wikipedia.org/wiki/Q_%28number_format%29

感謝您的建義及提供的資料!
畢司的產品主要是把 adc 進來的信號資料做數位信號處理,就是一些簡單的向量運算,數位濾波,FFT 之類的演算。 PIC 32 我已經研究2年多了,今年才準備要導入公司取代現有的 CPU, 現在用那一顆cpu ? 8051 您信嗎?

發表於: 2014/6/10 18:41
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: XC32 float function 問題!
#15
資深會員
資深會員


查看用戶資訊
>>...就是一些簡單的向量運算,數位濾波,FFT 之類的演算。...

就我所知及對我而言,這些都不簡單...

>>...現在用那一顆cpu ? 8051 您信嗎?

所以那些(運算的)code也是從8051移轉過來的嗎?

發表於: 2014/6/10 18:47
程式是
依照寫出來(的code),跑出結果
不是依照你想出來的,得到結果

先有需求規格 後有解決方案
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: XC32 float function 問題!
#16
高級會員
高級會員


查看用戶資訊
參照:

jason680 寫道:
>>...就是一些簡單的向量運算,數位濾波,FFT 之類的演算。...

就我所知及對我而言,這些都不簡單...

>>...現在用那一顆cpu ? 8051 您信嗎?

所以那些(運算的)code也是從8051移轉過來的嗎?


不好意思,上一篇剛好有事,所以草草結束沒交待清楚。
目前使用的cpu是 Vortex86SX , 有一些較小的機種就轉移至 ADI 的 8051 上,除了FFT 做不來外,其他的功能大致都 OK. 這兩年一直在尋找能取代 VortexSX 的 CPU, PIC 32 已經評估兩年了,一直到今年初才試做了第一版電路,到目前為止硬體功能已達成約 85%, 一切都還如預期的。 但我萬萬沒料到這 XC32 C Compiler 竟然會出包。
Vortex86SX 用的是 Borland C Compiler, 轉到 ADI 8051 用的是 Keil C, 轉移過程除了 complex 部份要自行處理外,其他部份多無問題。 PIC 32 的 code 是從 Borland C 轉過來的, 過程也很順利,也是只要處理 Complex 部份即可,只是程式跑起來怪怪的,數值更是錯得離譜,Trace 後才發現一些 floating 的 Function 計算有誤, 到目前為止我懷疑是程式大了,floating function 叄數傳入傳出有點問題. 在 Borland c 我能 Trace 組合語言把問題找出來, 但 PIC 32 的組合語言不熟, 更無XC32 的叄數傳遞資訊,所以目前還束手無策啊!

發表於: 2014/6/10 21:43
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: XC32 float function 問題!
#17
高級會員
高級會員


查看用戶資訊
已經過了 N 天了, 還沒有答案, 看來也是要靠自己了, 唉! 是不是選錯了(MicroChip)???

發表於: 2014/7/18 18:13
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: XC32 float function 問題!
#18
資深會員
資深會員


查看用戶資訊
有些 東西是自已解決的...
當你用了很特別的功能時...
或需要特別需求(參考下方的快速反平方根...)

給你個建議....
簡單的解決方法(如果可以解決問題....)
1. 替換有問題函數...
A: 把有問題的函數,換成大寫(或者不改)...
B: 用define去切換,用內定的還是自已寫的函數

2. 用RAM大一點的MCU
變數與動態資料是需要空間儲存的....

繁複的解決方法(如果上面的方法,無法解決...)
1. 改寫...
仔細研究 原本的功能或source code
自已改寫...(這個下要苦功...)

講講 John Carmack 的快速反平方根演算法
http://213style.blogspot.tw/2014/07/john-carmack.html
如果你能看懂 Carmack的 Magic Number 0x5F3759DF
一定知我在說什麼...

其他的解決方法
最後 當然 換一顆或換一家MCU有時候,最更快的方法...
優點: 可能可以很快解決之前的問題.
缺點: 風險很高,有可能,又會陷入另一個更棘手問題.

後註:
我跟Microchip沒有任何關係,有的話也是曾經使用過而以...
如果有可以幫上忙的地方...也可來信 jason680 <at> gmail <dot> com

發表於: 2014/7/19 11:10
程式是
依照寫出來(的code),跑出結果
不是依照你想出來的,得到結果

先有需求規格 後有解決方案
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: XC32 float function 問題!
#19
高級會員
高級會員


查看用戶資訊
參照:

jason680 寫道:
有些 東西是自已解決的...
當你用了很特別的功能時...
或需要特別需求(參考下方的快速反平方根...)

給你個建議....
簡單的解決方法(如果可以解決問題....)
1. 替換有問題函數...
A: 把有問題的函數,換成大寫(或者不改)...
B: 用define去切換,用內定的還是自已寫的函數

2. 用RAM大一點的MCU
變數與動態資料是需要空間儲存的....

繁複的解決方法(如果上面的方法,無法解決...)
1. 改寫...
仔細研究 原本的功能或source code
自已改寫...(這個下要苦功...)

講講 John Carmack 的快速反平方根演算法
http://213style.blogspot.tw/2014/07/john-carmack.html
如果你能看懂 Carmack的 Magic Number 0x5F3759DF
一定知我在說什麼...

其他的解決方法
最後 當然 換一顆或換一家MCU有時候,最更快的方法...
優點: 可能可以很快解決之前的問題.
缺點: 風險很高,有可能,又會陷入另一個更棘手問題.

後註:
我跟Microchip沒有任何關係,有的話也是曾經使用過而以...
如果有可以幫上忙的地方...也可來信 jason680 <at> gmail <dot> com


感謝感謝!
PIC32MX795F512L 是我推薦的, 但頭已經洗下去了...(你懂的), 工具買了, PCB 也洗了, 不好跟 BOSS 說要換別家啦! 只是 BOSS 每周會議都會關心一下進度.
有問題的 MATH FUNCTION 有請同事幫忙寫來應急, 只是執行效率較差, 想等 MicroChip 改好後再換回來, 但離產品上市的時間越來越近, 心情就越來越低落!

發表於: 2014/7/19 18:40
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: XC32 float function 問題!
#20
資深會員
資深會員


查看用戶資訊
1. 了解
2. PIC32MX795F512L 看來已經頂級了...
3. 來信 聊聊吧

發表於: 2014/7/21 22:35
程式是
依照寫出來(的code),跑出結果
不是依照你想出來的,得到結果

先有需求規格 後有解決方案
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部







You can view topic.
不可以 發起新主題
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.
You cannot use topic type.
You cannot use HTML syntax.
You cannot use signature.
You cannot create PDF files.
You cannot get print page.

[進階搜尋]