Ubuntu 部署 arm 开发环境

时间:2021-04-26 22:38:23

1.下载 最新源代码

2. 下载 arm-linux-gcc 4.4.3

解压缩 到 /usr/local/arm/4.4.3 下载 。除去多余目录

3.编辑

sudo vim /etc/bash.bashrc 在后面加入如下代码:

 

if [ -d /usr/local/arm/2.95.3 ] ; then PATH=/usr/local/arm/2.95.3/bin:"${PATH}"fi

4.使新的环境变量生效

# source /etc/profile

 

5.修改 内核根目录 Makefile

ARCH = arm

CROSS_COMPILE=arm-linux-

 

6.make menuconfig   //sudo apt-get install Ncurses-dev

 

load an alternative configure  填入 ./arch/arm/configs/s3c2410_defconfig

 

 

7.配置 内核

 

8.make

 

9.单独编译驱动

obj-m     :=hello.o
KERNELDIR :=/lib/modules/2.6.24-19-generic/build  //内核路径
PWD    :=$(shell pwd)
 
modules:
    $(MAKE) -C $(KERNELDIR) M=$(PWD) modules
modules_install:
    $(MAKE) -C $(KERNELDIR) M=$(PWD) modules_install
 
 
printk没有在console上打印出提示,通过
使用dmesg |tail
 
 
lsmod
 
mknod /dev/key_test c 121 0 
这是创建设备到/dev下,使普通程序可以调用了,121是在源代码里定义的它的主设备号,0是次设备号。
 
cat /dev/key_test 这是相当于open这个设备了,或者写一个程序直接调用open、write等函数。
 
fd=("/dev/key_test",ORW);
 
如果看不到用printk打印的信息,可以用dmesg命令看
 
ifneq ($(KERNELRELEASE),)
 obj-m :=step_motor.o
else
 KERNELDIR = ../../OMAP35x_EVM/kernel/linux-2.6.29-0xlab  //内核路径
 PWD := $(shell pwd)
all:
 $(MAKE) -C $(KERNELDIR) M=$(PWD) modules
clean:
 rm -rf