linux嵌入式開發

2021-10-04 21:53:03 字數 2308 閱讀 3633

我的環境:

主機:ubuntu 64位

開發板:mini2440

(6)makefile檔案修改

在/opt/friendlyarm/mini2440/linux-2.6.29下執行

$ sudo vi./makefile

搜尋arm-linux得到乙個結果

cross_compile?= arm-linux-
然後搜尋cross_compile,找到

as= $(cross_compile)as

ld= $(cross_compile)ld

cc= $(cross_compile)gcc

cpp= $(cc) -ear= $(cross_compile)ar

nm= $(cross_compile)nm

strip= $(cross_compile)strip

objcopy= $(cross_compile)objcopy

objdump= $(cross_compile)objdump

這裡定義了交叉編譯檔案的位置本例中作如下修改

(其中/usr/local/arm/4.4.3/bin/arm是安裝的arm-linux-gcc所在的位置

#as= $(cross_compile)as

as = /usr/local/arm/4.4.3/bin/arm-linux-as

#ld= $(cross_compile)ld

ld = /usr/local/arm/4.4.3/bin/arm-linux-ld

#cc= $(cross_compile)gcc

cc = /usr/local/arm/4.4.3/bin/arm-linux-gcc

cpp= $(cc) -e

#ar= $(cross_compile)ar

ar = /usr/local/arm/4.4.3/bin/arm-linux-ar

#nm= $(cross_compile)nm

nm = /usr/local/arm/4.4.3/bin/arm-linux-nm

#strip= $(cross_compile)strip

strip = /usr/local/arm/4.4.3/bin/arm-linux-strip

#objcopy= $(cross_compile)objcopy

objcopy = /usr/local/arm/4.4.3/bin/arm-linux-objcopy

objdump= $(cross_compile)objdump

#objdump = /usr/local/arm/4.4.3/bin/arm-linux-objdump

到這裡準備工作完成

(7)編譯

$ sudo make prepare

$ sudo make scripts

$ sudo make

2.2 **編寫。

這裡我們先寫個簡單的

#include#include#include//模組許可證

module_license("dual bsd/gpl");

//模組載入函式

static int hello_init(void)

//模組解除安裝函式

static void hello_exit(void)

//模組的註冊

module_init(hello_init);

module_exit(hello_exit);

2.3 模組的編譯

obj-m:=hello.o

current_path:=$(shell pwd)

arm_linux_kernel:=/opt/friendlyarm/mini240/linux-2.6.32.2

all:

$(make) -c $(arm_linux_kernel) subdirs=$(current_path) modules

clean:

rm -rf *.cmd *.o *.ko *.mod.c *.symvers *.order

編譯後會有hello.ko檔案

將hello.ko檔案傳輸到開發板上

安裝驅動模組

insmod hello.ko
解除安裝驅動模組

rmmod hello
檢視已經安裝的驅動模組

lsmod

嵌入式Linux開發流程

在乙個嵌入式系統中使用linux開發,根據應用需求的不同有不同的配置開發方法,但是一般都要經過如下的過程.1 1 建立開發環境 2 2 配置開發主機 配置minicom,一般的引數為波特率為115 200bps,資料位為8位,停止位為1,無奇偶校驗,軟體硬體流控設為無。在windows下的超級終端的...

嵌入式Linux開發流程

在學習嵌入式開發的過程中,尤其是開始入門時,包括各種各樣的教程,都是在講學習linux,很少講如何利用linux來開發屬於自己的嵌入式專案,也就是沒有乙個全域性的概念,簡單理解,大概流程如下 一 建立開發環境 這一步,就相當於在win系統下,要安裝乙個ide開發環境,如mdk,iar等。二 配置開發...

嵌入式linux開發 一

最近買了乙個 正點原子arm linux開發板,想在這兩天對資料熟悉一下.並結合 jz2440 探索者stm32f407 和 普中科技 em3.0 進行專題分析.開發板基於 soc mcimx6y2cvm08ab i.mx6ull cortex a7 易失性儲存 nt5cc256m16ep ek d...