Time of Update: 2018-12-05
目前,Linux作為嵌入式系統的主力軍,廣泛應用於消費類電子、工業控制、軍工電子、電信/網路/通訊、航空航天、汽車電子、醫療設備、儀器儀錶等相關行業。隨著嵌入式行業的迅猛發展,嵌入式Linux憑藉其系統發展的成熟度等級、市場應用的高份額也受到更多工程師朋友的青睞,越來越多的企業和研發機構都轉向嵌入式Linux的開發和研究,這使得嵌入式Linux在新興的嵌入式作業系統領域內也獲得了飛速發展和廣泛應用。而對於那些希望儘快進入嵌入式行業從事產品研發的朋友們,選擇嵌入式Linux方向作為切入點無疑是最好
Time of Update: 2018-12-05
作者:李智敏,華清遠見嵌入式學院講師。嵌入式系統由硬體環境、嵌入式作業系統和應用程式組成,硬體環境是作業系統和應用程式啟動並執行硬體平台,它隨應用的不同而有不同的要求。硬體平台的多樣性是嵌入式系統的主要特點,如何使嵌入式作業系統在不同的硬體平台上有效地運行,是嵌入式系統開發中需要解決的關鍵問題。解決的方法是在硬體平台和作業系統之間提供硬體相關層來屏蔽這些硬體的差異,給作業系統提供統一的運行環境,這種硬體相關層就是嵌入式系統中的板級支援包BSP(Board Support
Time of Update: 2018-12-05
作者:孫曉明,華清遠見嵌入式學院講師。【實驗環境】 1、主 機:Fedora9 DVD 發行版 2、目標機:mini2440友善之臂 3、源碼包: ftp://ftp.qtsoftware.com/qt/source/qt-embedded-linux-opensource-src-4.5.2.tar.gz 4、編譯器 arm-linux-gcc-4.1.2
Time of Update: 2018-12-05
作者:陳小波, 華清遠見嵌入式學院
Time of Update: 2018-12-05
【Linux裝置驅動程式(第三版)】----HelloWorldHelloWorld.c#include <linux/init.h>#include <linux/module.h>MODULE_LICENSE("Dual BSD/GPL");static int hello_init(void){printk(KERN_ALERT "Hello, World!\n");return 0;}static void
Time of Update: 2018-12-05
關於Linux靜態庫和動態庫的分析1.什麼是庫在windows平台和linux平台下都大量存在著庫。本質上來說庫是一種可執行代碼的二進位形式,可以被作業系統載入記憶體執行。由於windows和linux的本質不同,因此二者庫的二進位是不相容的。本文僅限於介紹linux下的庫。2.庫的種類linux下的庫有兩種:靜態庫和共用庫(動態庫)。二者的不同點在於代碼被載入的時刻不同。靜態庫的代碼在編譯過程中已經被載入可執行程式,因此體積較大。共用庫的代碼是在可執行程式運行時才載入記憶體的,在編譯過程中僅簡
Time of Update: 2018-12-05
【Linux裝置驅動程式(第三版)】----模組參數HelloWorldParam.c#include <linux/init.h>#include <linux/module.h>#include <linux/moduleparam.h>MODULE_LICENSE("Dual BSD/GPL");static char *whom = "world";static int howmany = 1;module_param(whom, charp, S_
Time of Update: 2018-12-05
Linux驅動中的platform 從Linux2.6核心起,引入一套新的驅動管理和註冊機制:platform_device 和 platform_driver 。Linux 中大部分的裝置驅動,都可以使用這套機制,裝置用 platform_device 表示;驅動用 platform_driver 進行註冊。 Linux platform driver 機制和傳統的device driver機制(即:通過 driver_register
Time of Update: 2018-12-05
【Linux裝置驅動程式(第三版)】----ScullScull.c#include <linux/init.h>#include <linux/module.h>#include <linux/moduleparam.h>#include <linux/fs.h>//file_operations, file#include <linux/cdev.h>//cdev#include
Time of Update: 2018-12-05
【Linux裝置驅動程式(第三版)】----驅動調試ProcScull.c#include <linux/init.h>#include <linux/module.h>#include <linux/moduleparam.h>#include <linux/fs.h>//file_operations, file#include <linux/cdev.h>//cdev#include <asm/uaccess.h>/
Time of Update: 2018-12-05
【Linux裝置驅動程式(第三版)】----完成量completioncomplete.c#include <linux/init.h>#include <linux/module.h>#include <linux/sched.h>#include <linux/kernel.h>#include <linux/types.h>#include <linux/fs.h>//file_operations,
Time of Update: 2018-12-05
嵌入式Linux之我行——LED驅動在2440上的執行個體開發 一、開發環境主 機:VMWare--Fedora 9 開發板:Mini2440--64MB Nand 編譯器:arm-linux-gcc-4.3.2二、實現步驟1. 硬體原理圖分析。由原理圖得知LED電路是共陽極的,並分別由2440的GPB5、GPB6、GPB7、GPB8口控制的 2. 去掉核心已有的LED驅動設定,因為IO口與mini2440開發板的不一致,根本就不能控制板上的LED。#gedit arch/arm/plat-
Time of Update: 2018-12-05
文章目錄 jit.cMakefile裝載測試卸載 【Linux裝置驅動程式(第三版)】----延遲:讓出處理器jit.c#include <linux/module.h>#include <linux/moduleparam.h>#include <linux/init.h>#include <linux/time.h>#include
Time of Update: 2018-12-05
Linux核心常用的一些宏的收集一、中斷類: 1. 中斷類型: 在request_irq(irq, handler, flags, devname, dev_id)中使用 #define SA_SHIRQ 共用中斷(舊版本的,2.6.19之前的核心) #define IRQF_SHARED 共用中斷(新版本的) #define SA_INTERRUPT 快速中斷(舊版本的) #define
Time of Update: 2018-12-05
文章目錄 jit.cMakefile裝載測試卸載 【Linux裝置驅動程式(第三版)】----定時器:Timerjit.c#include <linux/module.h>#include <linux/moduleparam.h>#include <linux/init.h>#include <linux/time.h>#include
Time of Update: 2018-12-05
嵌入式Linux之我行——LCD背光碟機動在2440上的執行個體開發一、開發環境主 機:VMWare--Fedora 9 開發板:Mini2440--64MB Nand 編譯器:arm-linux-gcc-4.3.2二、實現步驟1. 硬體原理圖分析。由原理圖得知LCD的背光是由2440的GPG4口控制的 2. 編寫背光碟機動。檔案名稱為my2440_backlight.c#include <linux/errno.h>#include
Time of Update: 2018-12-05
module.h包含可裝載模組需要的大量符號和函數定義,包含init.h的目的是指定初始化和清除代碼,struct file是在<linux/fs.h>中定義的。註冊字元裝置使用int register_chrdev(unsigned int major, const char *name, struct file_operations *fops);移除字元裝置使用int unregister_chrdev(unsigned int major, const char *name)
Time of Update: 2018-12-05
文章目錄 jit.cMakefile裝載測試卸載 【Linux裝置驅動程式(第三版)】----taskletjit.c#include <linux/module.h>#include <linux/moduleparam.h>#include <linux/init.h>#include <linux/time.h>#include
Time of Update: 2018-12-05
文章目錄 HelloWorld.cMakefile建立裝置節點裝載測試卸載 【Linux裝置驅動程式(第三版)】----快取HelloWorld.c#include <linux/init.h>#include <linux/module.h>#include <linux/moduleparam.h>#include <linux/fs.h>//file_operations, file#
Time of Update: 2018-12-05
文章目錄 scull.c 【Linux裝置驅動程式(第三版)】----ioctlscull.c#include <linux/init.h>#include <linux/module.h>#include <linux/moduleparam.h>#include <linux/fs.h>//file_operations, file#include