OsalTimerScheduler 採 round-robin 設計, 並沒有偏重於哪一個 timerId. 它以 TIMER ISR 為主, 然而 Timer Callback 函數並不是由 ISR 呼叫, 而是由 Main 主程序 呼叫; Timer ISR 只是做 ++ -- 之類的. 套用這樣的架構, 程式設計師可以專注於 Timer Callback 函數的設計. 以本案例而言, 專注於 ProbeTimer() / CalibTimer() / InitWeightTimer() / SetWeightLevel() 等等Callback 函數的實做. 這樣的設計已經有一點兒接近 `微作業系統` (Tiny OS) 的概念了. 本篇文章介紹的 code 是經過驗證的. 

Lexra 發表在 痞客邦 留言(0) 人氣()

cannotCopyTxtFromPdf.png

常常碰到 pdf 文件 禁止內容複製. 對於經常需要拷貝/貼上在 terminal console 輸入的我實在是有點兒困擾. 剛好今天心血來潮, 想找解決的方式. 於是我在網路 google 了一下. 還真的被我找到了簡單的方式, 讓我能夠對禁 "止內容複製" 的 PDF 文件進行拷貝/貼上. 這個答案就是 Gostscript

Gostscript install

在 Ubuntu 作業系統下安裝 Gostsctipt 如下: 

$ sudo apt update
...

Lexra 發表在 痞客邦 留言(0) 人氣()

kms.png


最近有機會接觸到 linux DRM. 在閱讀了 "最簡單的DRM應用程序" (single-buffer) , https://blog.csdn.net/hexiaolong2009/article/details/83721242 這篇文章後, 自己實做看看, 有了一點兒心得, 因此寫了這篇文章. 原始的 source code 是源自於 https://github.com/dvdhrm/docs/blob/master/drm-howto/modeset.c , 筆者試著將它的 function 做了改寫, 並且結合了 PNG Library 將之應用於 Renesas-Linux 平台上. 

Drm2png.c : 

drm2png.c

Lexra 發表在 痞客邦 留言(0) 人氣()



筆者使用 Linux SIGUSR1 訊號 [ sigtimedwait() / sigqueue() ] 寫了一組簡單的行程間通訊範例 sigw.c / sigq.c . 

Sigw.c

I. sigw 是用來接收 messages. 我選擇 Linux SIGUSR1 訊號. 因為這兒使用了 sigtimedwait(),

Lexra 發表在 痞客邦 留言(0) 人氣()



最近在處理 embedded linux system 開機直屏/橫屏 logo, 想來想去, 最後決定在 user-space 處理 logo, 而非 kernel. 我在網路上 google 搜尋/測試了半天, 好像只有 fbv 比較好用. 但我最後卻選擇不用 fbv ... 等等 utilities, 自己寫一個 jepg2fb.c (Jpeg to Framebuffer) 程式. Why? 原因在於 fbv ... 等等 utilities 使用 memory-map IO 處理 framebuffer, 但是在 qt-app 使用 eglfs 開啟之後, framebuffer 的 memory-map IO 就失效了. 因此我只好自己寫一個 jepg2fb.c, 使用 read/write system call. 

使用 Jpeg Library: 

如何使用 jpeg library? 讀者可以參考 

Lexra 發表在 痞客邦 留言(0) 人氣()


隨機變數 - Random variable

在多數涉及到機率的應用問題中, 通常我們只關心某一個或少數幾個特定方面實驗的結果. 譬如說當我們擲一雙骰子, 通常我們有興趣的只有點數的總和, 而不是個別的點數; 又譬如說當我們取樣量產的燈泡時, 我們關心的是燈泡耐久力或是亮度而不是它們的價格. 當我們隨機訪問一對已婚的夫婦, 我們有興趣的是他們的年收入總和, 而不是他們結婚幾年或是他們的總資產. 在這些例子中, 我們有興趣的是這些隨機實驗結果關聯的數字, 這些數字便隱含了所謂的 "隨機變數" 這樣的概念. 

為了更明確地說明隨機變數這個概念, 讓我們考慮上圖, 它描繪了當我們進行投擲一對骰子, 這個實驗的樣本空間. 假設每一個可能的結果其機率都是 1/36. 值得注意的是, 上圖中每一個點的右上方, 聯結了一個數字, 譬如數字 2聯結到 (1, 1) 這個點, 數字 6 到 (1, 5) , 數字 8 到點 (6, 2) , 11 到點 (5, 6) , ... 等等. 很明顯地我們把一個隨機變數關聯到每一個點, 換言之就是擲一對骰子的點數和. 因為, "關聯一個樣本空間裡的每一個元素到一個數字", 這個句子是 "定義一個函數涵蓋一個樣本空間裡面的所有元素" 的另一個說法, 所以讓我們作以下的定義: 

Definition: 

假如 S是一個用機率測量的樣本空間, X是一個實數函數定義於樣本空間 S裡的每一個元素, 則

Lexra 發表在 痞客邦 留言(0) 人氣()


通常當我們描述一些數據, 我們常常, 依據實際的情況, 說這些數據太多或是太少. 以統計的口吻來描述這些數據 (figures) 可以非常地簡要, 也可以非常多地闡述. 有時我們以資料原始的形式呈現, 讓數據自己說話; 有時我們以分組頻率分配的方式呈現. 但大多數時候我們是資料集中趨勢的呈現. 

譬如, 我們經常必須以一個單一的數字來代表全體. 或是我們只關心最前面 25% 的資料, 要以一個數字來描述. 統計學上描述像這些特性的方法, 我們稱為位置量數 (measures of location), 由其是中心位置量數 (measures of centrial location). 位置量數主要的意義在於資料集中趨勢的呈現. 

母體與樣本 - Populations and samples

在進一步的討論之前, 讓我們區分母體與樣本的不同:

假設一個集合包含了一個特定現象之所有可能的 (所有假設可能的) 觀察結果, 我們

Lexra 發表在 痞客邦 留言(0) 人氣()


頻率分佈 - Frequency distributions

當我們處理大數據時, 一個普遍的做法是, 把資料或數據依據種類, 間距或類別群組資料. 譬如, 1983 年美國有線電視系統訂閱人數彙總如下表: 



Number of subscribersCable television systemsless than 1000

Lexra 發表在 痞客邦 留言(0) 人氣()


古典機率概念 - The classical probability concept

如果存在 n個同樣可能的可能性, 其中一個必須發生並且 s被認為是有利的 (favorable), 
或者被視為 "成功", 那麼這個 "成功" 的機率是(s / n) . 

此定義是由 Laplace (法國人, 1749~1827) 所提出的, 也稱為古典機率定義法. 

Lexra 發表在 痞客邦 留言(0) 人氣()


不可重複之排列 - Non-repeatable straight-line permutations

The number of permutations of n distinct objects taken m at a time is
n         n!
P = nPm = __________ = n * (n - 1) * (n - 2) * ... * (n - m + 1)
 m       (n - m)!

Lexra 發表在 痞客邦 留言(0) 人氣()

CosineTheorem.png

如圖, 三角形 ABC

令 邊長BC = a . 邊長CA = b, 邊長AB = c 

夾角 ∠CAB = α , ∠ABC = β , ∠BCA = γ

則存在:

a2 = b2 + c2 - 2 * b * c * cos(α)

Lexra 發表在 痞客邦 留言(1) 人氣()

list.gif

Linux Kernel 原始碼有一個 list.h , 它位於 linux/list.h . 它不只是在 kernel 可以使用, 在 linux user space 下也可以使用, 甚至於是 windows programming 也可以使用. 因為蠻好用的, 所以我把它介紹出來. 筆者會提供一個不錯的範例程式來介紹 list.h 裡面的 inline 函式 (巨集) 的使用方法; 這些 inline 函式 (巨集) 包括了: 

1. INIT_LIST_HEAD(ptr);

2. void list_add_tail(struct list_head *neu, struct list_head *head);

3. void list_del(struct list_head *entry);

4. list_for_each_safe(pos, n, head)

Lexra 發表在 痞客邦 留言(0) 人氣()

Blog Stats
⚠️

成人內容提醒

本部落格內容僅限年滿十八歲者瀏覽。
若您未滿十八歲,請立即離開。

已滿十八歲者,亦請勿將內容提供給未成年人士。