XDM封裝小結

2021-06-21 10:33:57 字數 893 閱讀 4354

首先是編譯成庫檔案。以前是在ccs下編譯成.l64p的。這樣還是比較麻煩的。現在的方法是在linux下編譯成.a64p檔案。編譯的方法是找到ti提供的videnc_copy例程,videnc_copy_ti.h和videnc_copy_ti_priv.h都不用改(如果懶到不想改呼叫介面函式名稱的話)。只把演算法套在videnc_copy.c檔案中即可。這個檔案,也基本只改videnccopy_ti_initobj和videnccopy_ti_process函式。演算法加進來很簡單,注意不需要以前在ccs下編譯.l64p時繁瑣的ti標頭檔案,演算法只要在vc下可以執行即可。

第二個修改的是記憶體分配。以前的記憶體分配方法是通過#gragma data_section指定段,然後在codec engine server中指定段的位址,麻煩。其實還可以不指定段,直接定義全域性變數,這樣只要堆足夠就可以啦。現在的方法是通過函式mem_alloc(1,ext_heap_size,1)或者mem_alloc(1,int_heap_size,1)來分配記憶體,類似於malloc函式。mem_alloc是dsp/bios函式。——竟然還有dsp/bios?!

三是注意刷cache。不刷不一定不對,刷了肯定對。函式是bcache_wball()和bcache_wbinvall(),它們也是dsp/bios的api函式。

四是小心vc和ccs下常用的標準c函式,如math.h裡面的。不知道為啥它們跑到linux或者codec engine server裡就不聽話了。有個bug找了幾天,才發現時cos()和sin()函式在linux的結果錯了。不知道為啥。所以就不呼叫了,自己定義。比如sin()定義成:#define _sin(x) ((((((a6*(x) + a5)*(x) + a4)*(x) + a3)*(x) + a2)*(x) + a1)*(x) + a0)

好。這個演算法目前告一段落,機器視覺and分類器,我來了。

cadence 封裝製作小結

assembly 是裝配層,就是元器件的實際大小,用來產生元器件的裝配圖。也可以使用此層進行布局 外框尺寸應該為元件除焊盤外的部分 該區域可比silkscreen小10mil,線寬不用設定,矩形即可。對於外形不規則的器件,assembly指的是器件體的區域 一般也是矩形 切不可粗略的以乙個幾乎覆蓋整...

XDM 跨文件訊息傳送

cross document messaging 類似於xss的簡稱,故稱為 xdm 而不是 cdm 某些時候 xdm 也能作為跨域的實現手段之一 與jsonp 和 傳統的 cors 跨域方式不同 xdm通常用於不同域的頁面之間傳遞訊息 postmessage 方法作為 xdm 的核心被新增進了 h...

XDM 跨文件訊息傳送

cross document messaging 類似於xss的簡稱,故稱為 xdm 而不是 cdm 某些時候 xdm 也能作為跨域的實現手段之一 與jsonp 和 傳統的 cors 跨域方式不同 xdm通常用於不同域的頁面之間傳遞訊息 postmessage 方法作為 xdm 的核心被新增進了 h...