原创 BBB GPIO驅動分析

一、 說明 IO驅動是驅動開發最基礎也是很有代表性的,因爲IO驅動基本包含了驅動框架中的所有常用函數,例如加載函數、卸載函數、打開函數、關閉函數、IO配置函數,此外還包括設備結構體、存儲結構體。具體實現下面分析 二、 IO驅動函數分析

原创 Linux 網卡驅動_02

接上一篇,我們來看與skb相關的一些重要函數:   網絡模塊中,有兩個用來分配SKB描述符的高速緩存,在SKB模塊初始函數skb_init()中被創建:   void __init skb_init(void) { skbu

原创 Linux 網卡驅動_01

參考:1. 深入理解Linux網絡技術內幕 PartIII    2. Essential Linux Device Driver Chap15      3. Linux 內核源碼剖析——TCP/IP 實現           5.

原创 AM335X&nbsp uboot燒寫

原創:http://blog.sina.com.cn/u/2312748742 NAND地址如下:  +------------+-->0x00000000-> SPL start (SPL copy on 1st

原创 Linux 網卡驅動_04

rtl8139 網卡驅動分析:(注:這裏只分析了主要函數,代碼版本是: 8139too.c 71420 bytes 2010-04-01 22:56:18  ) /* * 提供了一系列驅動程序可調用的接口,主要用於發現和初

原创 2 BLE介紹

本章將介紹BLE協議不同的層,包括各個層的部件和它們的概念。 2.1  通用訪問規範(Generic Access Profile,GAP) GAP是應用層能夠直接訪問BLE協議棧的最底層,它包括管理廣播和連接事件的有關參數。

原创 NRF51822實例代碼說明

說在前面:此說明用於nrf51822的主從機的實例代碼解析,通過講解主從機的雙向通訊來說明如何添加自己的服務及特徵。此說明爲個人理解,可能與原意不同。目錄主機模塊從main說起app_trace_init() ble_stack_init

原创 nrf51822 app_timer

它的源代碼和頭文件分別爲app_timer.c/app_timer.h。這是Nordic爲我們提供的虛擬定時器,這個定時器不同於硬件上的TIMER,而是基於RTC1實現的一種虛擬定時器,其將定時功能作爲了一個資源進行管理,所以會有初始化

原创 主流藍牙BLE控制芯片詳解(1):TI CC2540

[導讀] CC2540是一款高性價比,低功耗的片上系統(SOC)解決方案,適合藍牙低功耗應用,諸如2.4G 低功耗藍牙系統、健康醫療、運動和健身設備和消費電子/移動配件等。 關鍵詞:藍牙BLETI公司CC2540    藍牙BL

原创 I2C接口

1.I2C協議     2條雙向串行線,一條數據線SDA,一條時鐘線SCL。   SDA傳輸數據是大端傳輸,每次傳輸8bit,即一字節。   支持多主控(multimastering),任何時間點只能有一個主控。   總線上每個設備都有自

原创 SPI接口

SPI(Serial Peripheral Interface,串行外設接口)是Motorola公司提出的一種同步串行數據傳輸標準,在很多器件中被廣泛應用。 1. 接口 SPI接口經常被稱爲4線串行總線,SPI協議是主從模式:從機不主動

原创 nrf51 官方PWM庫

地址:https://github.com/NordicSemiconductor/nrf51-pwm-library (已上傳) nrf_pwm_init函數 初始化PWM參數 設置輸出pwm的gpio pin pwm週期 分頻 分

原创 6 nRF51 DFU 初始化包

當升級數據包時,在應用程序映像傳輸之前,在DFU中需要初始化包來執行映像的安全檢測。這個初始化包作爲升級流程的一部分提供了安全檢測機制,因此被升級的設備只能接收兼容的應用程序。 初始化包包括以下信息可用於安全檢測(參見dfu_init

原创 jiffies 時間轉換

來源:《深入Linux設備驅動程序內核機制》第8章時間管理,本章將討論這兩類時間上的操作的技術細節,設備驅動程序員在掌握了這些幕後的技術之後可以更好地理解設備驅動是如何對時間進行掌控的,當程序中需要對時間進行管理時選擇最合適的解決方案。本

原创 nrf51822 GPIOTE

The GPIO Tasks and Events (GPIOTE) module provides functionality for accessing GPIO pins using tasks and events. GPIO的任