原创 scp 錯誤 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

原因 不知道 解決方法 刪除 ~/.ssh/known_hosts

原创 返回字符串中第一個不重複字符的下標 下標從0開始

#include<stdio.h> int findchar(const char *str) { char remember[256]={0}; const char *pstr=str; while(*

原创 將模塊編譯進內核

示例:將Add_Sub模塊編譯進內核 在內核源碼的driver下新建AddSub_Kconfig子目錄並將該模塊源碼放入該目錄 can@ubuntu:~/tiny4412/linux-3.8_test/drivers$ tre

原创 Ubuntu make menuconfig報錯

在執行make menuconfig的時候報錯 *** Unable to find the ncurses libraries or the *** required header files. *** 'make menuco

原创 關於linux module 的調用

模塊參數 設備驅動程序有時候需要接受參數,例如當模塊可以實現兩種相似功能時,可以傳遞一個參數到驅動模塊以決定其使用哪種功能,例如在加載模塊時指定 insmod xxx.ko param=1 可以使用 “module_param(參

原创 linux字符設備驅動

linux系統設備的3種類型:字符設備驅動、塊設備驅動和網絡設備驅動 字符設備:只能一個一個字節讀寫數據的設備,不能隨機讀取設備內存中的某一數據 塊設備:可以從設備的任意位置讀取一定長度數據的設備 在 /dev 目錄中 執行

原创 git 專題

http://rogerdudler.github.io/git-guide/index.zh.html http://backlogtool.com/git-guide/cn/ git checkout . #本地所有修改的

原创 linux設備驅動中的阻塞和同步機制

阻塞與非阻塞 阻塞調用 阻塞調用是指調用結果返回之前,當前線程會被掛起。函數只有在得到結果之後纔會返回。 非阻塞調用 在不能立即得到結果之前該函數不會阻塞當前線程,而會立刻返回。 等待隊列 wait queue 可以用等待

原创 linux 模塊的編譯和加載

一個最簡單的linux模塊 //頭文件 #include <linux/init.h> #include <linux/module.h> MODULE_LICENSE("GPL"); MODULE_AUTHOR("CAN"

原创 解決使用securecrt登錄linux系統中文亂碼問題

在使用securecrt登錄linux有一個非常蛋疼的問題,linux系統默認編碼模式是utf8,而windows是gbk,設置終端編碼時要不就係統語言亂碼,要不就vi編輯器亂碼,解決方案是在~/.vimrc中添加以下兩句 le

原创 設備驅動中的併發控制 (1)

中斷屏蔽 在單 CPU 範圍內避免競態的一種簡單方法是在進入臨界區之前屏蔽系統的中斷。CPU 一般都具備屏蔽中斷和打開中斷的功能,這項功能可以保證正在執行的內核執行路徑不被中斷處理程序所搶佔,防止某些競態條件的發生。具體而言,中斷

原创 學習rt-thread

隱隱感覺自己要把 一起來學rt-thread 抄一遍了 官方網站 http://www.rt-thread.org/ 查看代碼 以stm32f10x爲例 使用keil mdk 下載源碼進入\bsp\stm32f10x目錄 打開工程

原创 全排列 字典序排列

智商是個好東西,自己寫了一下午沒寫出來,最後還得靠劍指offer書上的思路 上劍指 根據以上的思路寫出的代碼 #include<iostream> using namespace std; int counter=

原创 tiny 4412 led module

led.c #include <linux/init.h> #include <linux/kernel.h> #include <linux/module.h> #include <linux/io.h> #in

原创 線程和進程

簡而言之,一個程序至少有一個進程,一個進程至少有一個線程. 線程的劃分尺度小於進程,使得多線程程序的併發性高。 進程在執行過程中擁有獨立的內存單元,而多個線程共享內存,從而極大地提高了程序的運行效率。 每個獨立的線程有一個