首页 > 代码库 > s3c6410 Linux 驱动开发环境搭建

s3c6410 Linux 驱动开发环境搭建

s3c6410 Linux 驱动开发环境搭建


                                                                                        —— 既然你是做Linux开发的,你还用虚拟机?        



               非常多人都在win下做开发,于是SD_writer.exe之类的烧写工具“大行其道”,多是用虚拟机Linux。

全然转到Linux下学习開始蛮不爽的,开发板制作商送的教程都是些讲Win-CE的东东,感觉实质性的东西没什么。对于全然用Linux做开发的技术解说非常少,连烧写SD卡都用的win以下的程序。后来找了些资料,整理在这里,希望留给有心人.共同营造一个更好的共同学习的环境. 当别人遇到困难的时候能够留下点东西帮助别人.




(因为我之前已经烧写过一次Linux,所以第二次烧写的是不就不须要用Eboot擦除分区保护的那几个块了,假设之前装的是Win-CE的板子看一下开发板供应商的手冊)

首先在PC主机上

安装 交叉编译器


接着,配置好minicom


准备好版本号相应的kernel tree (这个非常重要~ 内核版本号一定要相应,非常多问题就是由于内核版本号不一致导致的)


烧写SD卡(一边凉快去 *.exe)


Linux 自带工具--dd


  •  格式化SD卡为vfat格式
mkfs.vfat      /dev/sdb1

(这里别错了,不同的SD卡。挂在名可能不一致。我这里是sdb,相同要注意。这里是对sdb1格式化,sdb是分区表,sdb1才是U盘剩余的空间。

。。我刚刚又一次插入了U盘。挂在名就变成sdc了,所以这里别错了)

  •  把光盘的zImage Uboot.bin yaffs 文件拷贝到SD卡的根文件夹
  •  linux命令行中运行: 

dd iflag=dsync oflag=dsync if=mmc.bin of=/dev/sdc seek=1

(  /dev/sdc SD卡在linux中的设备名字   mmc.bin是要烧写的文件,这里用些什么文件开发板的手冊都会讲,我这里注重整理Linux环境的烧写方法

  •  linux命令行中运行: sync
  (  把缓存中的东西写入SD卡)
  •  开发板从SD卡启动,就会出现烧写界面!大功告成!


在Linux PC主机上编译好Hello word模块做driver 交叉编译的測试


仿照PC机器上的hello world

改动Makefile就可以

# Code wrire 	: EOF
# code date 	: 2014.08.19
# e-mail	: jasonleaster@gmail.com
#
# THis Makefile is a demo only for ARM-architecture
#

ifneq ($(KERNELRELEASE),)

	obj-m := hello.o

else
	CROSS_COMPILE = /usr/local/arm/4.3.2/bin/arm-linux-gcc/
	CC = CROSS_COMPILE	
	KERNELDIR ?= /lib/modules/$(shell uname -r)/build
	PWD	:=$(shell pwd)
	SUBDIR  := /Jason_with_ARM/linux-3.0.1/

modules:
	$(MAKE) -C $(SUBDIR) M=$(PWD) modules

clean:
	rm -rf *.o *.order *.symvers *.ko *.mod*
endif








技术分享


s3c6410 Linux 驱动开发环境搭建