原创 C語言結構體的對齊原則

C語言結構體的對齊原則 Q:關於結構體的對齊,到底遵循什麼原則? A:首先先不討論結構體按多少字節對齊,先看看只以1字節對齊的情況: #include <stdio.h> #include <string.h> #define

原创 i2c 協議解析

1、基本概念       主機            初始化發送,產生時鐘信號和終止發送的器件       從機            被主機尋址的器件       發送器        發送數據到總線的器件       接收器

原创 PagedPool 和 NoPagedPool的區別

PoolType在 MSDN的介紹上有 N 種, 其實常用的只有 2 種:PagedPool 和NonPagedPool。PagedPool是分頁內存,簡單來說就是物理內存不夠時,會把這片內存移動到硬盤上,而NonPagedPool是

原创 1553B總線常見問題解釋

1、1553B總線的耦合方式有哪些?  有直接耦合和變壓器耦合兩種方式。   2、1553B各種耦合方式的總線有效距離是多少?擴展總線的有效距離又是多少?  a. 直接耦合方式的1553B總線有效距離可達30.5釐米,變壓器耦合方式

原创 Samsung S3C2440平臺上的Vxworks BSP移植

BSP概述   VxWorks操作系統將所有硬件的功能函數分別放到一系列庫中,這些庫就被稱爲板級支持包BSP。BSP是連接VxWorks操作系統與硬件平臺的一個接口軟件包,在引導系統、支持系統運行過程中扮演着重要的角色,首先,通過BS

原创 DPC(延遲過程調用)的技術細節

-DPC(延遲過程調用)的細節 NTINSIDER,16卷,1期,1至2月2009 延遲過程調用(DPC)是一種Windows常用功能。用途是廣泛和多樣的,但最常用的是我們通常所說的“ISR完成”和WindowsTimer底層技術。

原创 記錄windows驅動開發inf文件詳解

Windows驅動程序開發相關 1.    驅動的註冊表位置: 1.    硬件子鍵: HKEY_LOCATION_MACHINE\SYSTEM\ControlSet001\Enum 指明硬件的HID,VID,DID等跟硬件和硬件廠商相

原创 精準計算程序或CPU運行時間

精準計算程序或CPU運行時間 下面就是計算讀寄存器所耗時間: LARGE_INTEGER t1, t2, tc; QueryPerformanceFrequency(&tc); QueryPerformanceCounter(&t1)

原创 SylixOS入門指南--架設開發環境

本文編輯環境 本文在windows7(64位)上使用Google Chrome瀏覽器編輯,爲保證截圖效果,所有截圖均使用PicPick截取,windows7使用Windows 7 Base主題,即關閉了Aero特效。 本文目的 本文

原创 PC104上配置VxWorks硬盤啓動詳解

DEVPC104-SYS是一款在 PC104 尺寸上開發出來的嵌入式工業主板。以其小巧的體積﹑超強的功能和穩定性,可廣泛應用於自動查詢系統﹑POS 機﹑網絡終端﹑儀器儀表﹑信息家電、工業控制等各種嵌入式領域。          

原创 Windows 驅動機制-定時、DPC及延時

1、定義Timer及DPC typedef struct _DEVICE_EXTENSION  {         .         .         .     KDPC            Dpc;     KTIM

原创 VxWorks6.6開發共享庫指南要點

開放封閉原則(OCP,Open Closed Principle)是所有面向對象原則的核心。軟件設計本身所追求的目標就是封裝變化、降低耦合,而開放封閉原則正是對這一目標的最直接體現。 在軟件架構中,模塊化編程思想將系統分成很多的模塊,

原创 c++編程:獲取控件上的文本值---例子是CEdit 的七種方法(轉載)

1.         int num1,num2,num3; char ch1[10],ch2[10],ch3[10]; GetDlgItem(IDC_EDIT1)->GetWindowText(ch1,10); GetDlgIt

原创 SPI總線協議介紹

SPI總線協議介紹 一、技術性能         SPI接口是Motorola 首先提出的全雙工三線同步串行外圍接口,採用主從模式(Master Slave)架構;支持多slave模式應用,一般僅支持單Master。時鐘由Master

原创 vxworks啓動WDB沒起來這從硬盤起來的,從網絡起來沒有問題

現象 wdbCommDevInit: Couldnot find device ata=0,0, unit 0 ! wdbCommDevInit: couldnot get device name wdbConfig: err