原创 hci_uart 分析

先從初始化開始 __init hci_uart_init(void) { ……    //註冊ldisc         hci_uart_ldisc.magic = TTY_LDISC_MAGIC;    //通過i = N_HCI;

原创 awk實例操作學習記錄

awk是一種編程語言,用於在linux/unix下對文本和數據進行處理。數據可以來自標準輸入、一個或多個文件,或其它命令的輸出。它支持用戶自定義函數和動態正則表達式等先進功能,是linux/unix下的一個強大編程工具。 awk的處理文本

原创 linux驅動測試用的各種讀動作

這是一個linux各種讀的動作,用於驅動測試這是一個linux各種讀的動作,用於驅動測試。 #include <stdio.h> #include

原创 blob分析(下)

下面到了main()裏面 /* initialise status */ blob_status.paramType = fromFlash;    //設置boot參數 blob_status.kernelType = from

原创 編譯blob

1.修改flash驅動 在configure.in中找到你所使用的板子, 修改爲case "$network_name" in      eth) dnl BLOB_NETWORK_DRIVER_OBJS="ether-smc91x.o

原创 hcitool 使用與分析

Usage:         hcitool [options] <command> [command parameters] Options:         --help  Display help         -i dev  

原创 hciattach 分析

hciattach的功能是:建立串口和藍牙協議層的數據連接通道。 源代碼參考 tools/hciattach.c 先看hciattach的用法 hciattach [-n] [-p] [-b] [-r] [-t timeout] [-s

原创 藍牙調試

bluetooth 測試:   注意:     1.出錯,第一反應是查看出錯信息     2.對某個命令和函數產生懷疑或不懂,請先運行和不運行它進行比較   1.檢測硬件是否啓動 #ifconfig  …… wlan0     Link

原创 簡要分析藍牙驅動

藍牙驅動我們只要做三個步驟:     1.啓動串口驅動     2.藍牙初始化     3.通過hciattach建立串口和藍牙協議層的數據連接通道 爲什麼呢?     1.從整體上來說,我們的藍牙是一個模塊,顧名思義,該有的都有了,剩下

原创 hcid 分析

hcid分析實際上就是藍牙啓動流程的分析。   先看用法:hcid [-n] [-d] [-m mtu] [-f config file] 進入main()函數:     1.hcid的一些默認設置,例如安全方式,名字等 init_de

原创 blob分析(上)

針對pxa芯片的blob分析 Blob 編譯後的代碼定義最大爲64Kb,並且這64Kb又分成兩個階段來執行。 第一階段的代碼在start.S 中定義,大小爲1KB,它包括從系統上電後在0x00000000 地址開始執行的部分。這部分

原创 line 1:syntax error: unexpected "("

問題:./hciattach: line 1: syntax error: unexpected "(" 解決: 出錯後,在代碼那完全找不到信息。 那隻可能是編譯器這出錯了,也可能是內核與用的這個應用不一致,先查看Makefile文件 它

原创 linux命令之tee

tee 重定向輸出到多個文件 在執行Linux命令時,我們既想把輸出保存到文件中,又想在屏幕上看到輸出內容,就可以使用tee命令 要注意的是:在使用管道線時,前一個命令的標準錯誤輸出不會被tee讀取。 $ man tee NAM

原创 insmod: can't insert 'hci_uart.ko': invalid parameter

[root@Linux sbin]#insmod hci_uart.ko  insmod: can't insert 'hci_uart.ko': invalid parameter 先用dmesg查看信息,有可能已經裝好了。 [r

原创 實例操作led驅動

/*the driver is for led writted by william in 2013.2.27 and the kernel 2.6.25*/ #include <linux/module.h> //動態加載模