Time of Update: 2018-12-05
引子:使用OK6410 通過 IMU_EV30 採集 ADIS16405 的資料,採集頻率為100Hz,需要10ms的定時器。首先考慮了a POSIX per-process timer,後發現板子負擔輕的時候還行,負擔重了定時很不精確,最後使用PWM定時器解決了問題。現總結一下。1、a POSIX per-process timerinclude <signal.h> //
Time of Update: 2018-12-05
核心模組的代碼檔案檔案 yyyy.c (yyyy可以與模組xxxx同名也可以不同名)(類似模板的東西) #ifndef __KERNEL__#define __KERNEL__#endif#ifndef MODULE //直接添加到核心時去掉,產生模組時保留#define MODULE#endif #include <*.h>...MODULE_LICENSE("GPL");
Time of Update: 2018-12-05
我們在一個線程中經常會建立另外的新線程,如果主線程退出,會不會影響它所建立的新線程呢?下面就來討論一下。 1、 主線程等待新線程先結束退出,主線程後退出。正常執行。執行個體代碼:#include "apue.h"#include <pthread.h>pthread_t ntid;//線程IDvoid printids(const char *s){ pid_t pid; pthread_t tid; pid = getpid();
Time of Update: 2018-12-05
上篇我們知道,kernel初始化後將啟動init進程,那麼這個進程將幹些什麼呢?除此之外,kernel還需要做些什麼事情呢?(想想檔案系統、根存放裝置是在什麼時候初始化的呢?)先從檔案系統初始化說起。以前一直不明白,有了kernel為何還需要一個檔案系統?經過反覆琢磨,明白一個道理,kernel載入到記憶體後,kernel運行起來是沒有問題的,但是如果沒有Root
Time of Update: 2018-12-05
1,進入工作目錄,建立需要的目錄$mkdir rdmnt // 新ramdisk掛載的目錄$mkdir rdimg // 產生的鏡像檔案的目錄$mkdir rdold // ramdisk舊檔案目錄$mkdir rdold/tmp // 掛載舊ramdisk的目錄2,掛載舊的ramdisk$mount -o loop
Time of Update: 2018-12-05
一、首先從GNU上下載GCC包,ftp://gcc.gnu.org/,我使用的是最新發行版本gcc-4.5.1.tat.gz,1) tar zxvf gcc-4.5.1.tar.gz2) cd gcc-4.5.13) ./congigure此時會出現這樣的錯誤: gcc configure: error: Building GCC requires GMP 4.2+, MPFR 2.3.1+ and MPC 0.8.0+
Time of Update: 2018-12-05
在OpenSSL中認證的產生步驟: 1. 產生一個RSA私密金鑰檔案,同時為這個私密金鑰檔案產生一個認證申請。 首先需要使用者輸入一個給RSA私密金鑰檔案加密的口令,並要求使用者確認口令。之後,要求使用者為認證申請檔案輸入使用者相應的資訊,例如使用者所在國家,地區,城市,使用者的名字等等(剩下的資訊是可選填的,而這些跟CA使用的政策有關)。這裡需要使用者如實填寫,這些資訊將會被用來進行資訊校正,與CA根憑證進行對比,檢查內容是否匹配。 2.
Time of Update: 2018-12-05
一.核心來源程式的檔案組織: 1.Linux核心來源程式通常都安裝在/usr/src/linux下,而且它有一個非常簡單的編號約定:任何偶數的核心(例如2.0.30)都是一個穩定地發行的核心,而任何奇數的核心(例如2.1.42)都是一個開發中的核心。 本文基於穩定的2.2.5原始碼,第二部分的實現平台為 Redhat Linux 6.0。 2.核心來源程式的檔案按樹形結構進行組織,在來源程式樹的最上層你會看到這樣一些目錄: ◆Arch
Time of Update: 2018-12-05
下載wine1.38 ,解壓在wine的原始碼目錄下建立一個檔案,我是起名為lib32.sh,複製以下內容=========================我是分割線===============================================#!/usr/bin/shmkdir lib32ln -s /usr/lib32/libX11.so.6 `pwd`/lib32/libX11.soln -s /usr/lib32/libXext.so.6
Time of Update: 2018-12-05
線程間無需特別的手段進行通訊,因為線程間可以共用資料結構,也就是一個全域變數可以被兩個線程同時使用。不過要注意的是線程間需要做好同步,一般用mutex。可以參考一些比較新的UNIX/Linux編程的書,都會提到Posix線程編程,比如《UNIX環境進階編程(第二版)》、《UNIX系統編程》等等。 linux的訊息屬於IPC,也就是處理序間通訊,線程用不上。 linux用pthread_kill對線程發訊號。
Time of Update: 2018-12-05
結論1:首先要明白他的(1)設計理念是緣自Unix的“把任務分解成一小塊一小塊完成”,建議你可以看這本電子書<< The Art of Unix Programming>>。是由Eric Steven
Time of Update: 2018-12-05
1.arm-linux-gcc-4.3.2: (http://www.friendlyarm.net/dl.php?file=arm-linux-gcc-4.3.2.tgz)2. Arm-linux-gcc-4.3.2安裝步驟: 1.關於這個編譯好的工具的安裝: 下載arm-linux-gcc-4.3.2.tgz大約84m 首先以root使用者登入,複製arm-linux-gcc-4.3.2.tgz到根目錄下tmp檔案夾裡解壓命令 tar xvzf arm-linux-gcc-4.3.2
Time of Update: 2018-12-05
Linux串口應用開發串口概述使用者常見的資料通訊的基本方式有兩種:並行通訊;串列通訊串列通訊是電腦常用的介面,如RS-232-C介面。該標準規定採用一個DB25芯引腳連接器或DB9芯引腳連接器。晶片內部常具有UART控制器,其可工作於Interrupt(中斷模式)或DMA(直接記憶體存取)模式。UART的操作主要包括以下幾個部分:資料發送;資料接收;產生中斷;產生傳輸速率;Loopback模式;紅外模式;自動流量控制模式;串口參數的配置主要包括:傳輸速率、資料位元、停止位、流控協議。Linux
Time of Update: 2018-12-05
本文是在H9200E開發板上實驗,linux為fedora 3.首先將cross-2.95.3.tar.bz2(交叉編譯器),linux-2.4.19-rmk7.tar.gz,kernel-h9200-050718.tgz還有u-boot-1.0.0.tar.gz複製到/root下.一.安裝交叉編譯器 以超級使用者身份登入 [root@hostname]# bunzip2 cross-2.95.3.tar.bz2 ;解壓 [root@hostname]# tar
Time of Update: 2018-12-05
Code:Linux 下的 mkdir 函數 原型:int mkdir (const char *filename, mode_t mode) 返回0表示成功,返回-1表述出錯。使用該函數需要包含標頭檔 #include<sys/stat.h> #include<sys/types.h> mode 表示新目錄的許可權,可以取以下值: S_IRUSR S_IREAD Read permission bit for the owner of t
Time of Update: 2018-12-05
轉自:http://blog.csdn.net/xiaoxinzi040688/article/details/6597712遇到javaHL的問題: 當SVN伺服器為windows2003時,且用戶端的eclipse運行在linux(這裡以Ubuntu為例)上時,一般情況下SVN的介面都只能用javaHL其他情況下,介面使用SVNkit就完全足夠了; 如果沒有安裝javaHL的話,一般啟動eclipse或者更新subclipse外掛程式是會報如下錯誤: Failed to
Time of Update: 2018-12-05
-- 安裝 erlang1. 下載 erlang 原始碼http://www.erlang.org/download.html2. 解壓縮原始碼tar -zxvf otp_src_RXXXX.tar.gz./configure --prefix=/usr/local/erlangmake && make install3. 若是缺少 odbc : ODBC library – link check failed,則安裝apt-get install
Time of Update: 2018-12-05
/* 他通過只複製記憶體頁面來複製一定範圍內的線性地址的內容*/00150int copy_page_tables(unsigned long from,unsigned long to,long size)00151 {00152 unsigned long * from_page_table;00153 unsigned long * to_page_table;00154 unsigned long this_page;00155 unsigned
Time of Update: 2018-12-05
上一篇講了並發控制的幾種機制,比如中斷屏蔽、原子操作、自旋鎖。下面我們來說一說並發控制的另一個重要的機制:訊號量。訊號量的使用和自旋鎖類似,得到訊號量的進程進入臨界區,不同的是當擷取不到訊號量的時候,進程不會一直等待,而是進入休眠狀態。訊號量的概念想必大家在學習作業系統原理的時候已經很熟悉了。那麼下面我們來看一下linux為訊號量提供的操作都有哪些。首先肯定是如何定義一個訊號量,如:struct semaphore sem;這樣就定義了一個訊號量。如何初始化呢?static inline
Time of Update: 2018-12-05
先悔過一下。因為一個月前就在學習這個,當時解決的差不多了,想著抽個空再記錄這些,沒想到這麼短的時間就已經忘得差不多了,真是不好,應該趁熱打鐵。廢話不多說了,這裡主要介紹在Linux下,利用訊號來實現非同步串口中斷響應。主要思路很簡單,首先是關聯訊號,在此是關聯處理SIGPOLL;其次是等待指定的訊號。