S5PV210串口驱动——一维激光扫描模块(motorola symbol SE955)

本文介绍了如何在Linux内核中为S5PV210平台创建一个串口驱动,以支持Motorola Symbol SE955一维激光扫描模块。首先,在/drivers/serial/下新建se955_scan.c文件,并修改相应Makefile和Kconfig文件。然后,编译生成ko文件,通过adb工具将其推送到嵌入式文件系统并加载。加载驱动后,设备列表中新增了对应串口设备。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在目录/drivers/serial/下创建se955_scan.c

修改同目录下的Makefile和Kconfig文件

修改Makefile文件:

在文件的最后添加

obj-$(CONFIG_SE955_SCAN)	+= se955_scan.o

修改Kconfig文件:

在文件serial drivers menu处添加

menu "Serial drivers"
	depends on HAS_IOMEM

# added by gezhenglai@v-simtone.com
config SE955_SCAN
	tristate "SE955_module"
	depends on MACH_SMDKV210 || MACH_SMDKC110
	help
	  This support for v-simtone se955 scan module

在调试的时候配置make menuconfig的时候将se955_scan 驱动配置成M,方便加载、卸载调试。

此处先略去se955_scan.c文件的内容,先讲解整个驱动创建流程,文章后面会填补此文件的具体内容。

编辑好了se955_scan.c文件后,编译生成*.ko文件,切换到到linux kernel的根目录下:

make SUBDIR=drivers/serial/  modules
命令编辑模块,生成ko文件。

将ko文件通过adb工具push到嵌入式文件系统中,然后加载:

insmod **.ko


下面附上se955_scan.c文件(注:若有此话,说明未调试完,会有陆续改动)。





在没有加载ko文件前,文件系统中的设备信息打印如下:

# ls dev/                                                                    
s3c_bc                                                                         
cpuctl                                                                         
fb4                                                                            
fb3                                                                            
fb2                                                                            
fb1                                                                            
fb0                                                                            
pvrsrvkm                                                                       
video22                                                                        
video21                                                                        
video14                                                                        
video2                                                                         
video1                                                                         
video0                                                                         
ppp                                                                            
mtd                                                                            
cdev_pm                                                                        
vcsa1                                                                          
vcs1                                                                           
vcsa                                                                           
vcs                                                                            
ptmx   ttyef

                                                 
console                                                                        
tty                                                                            
input                                                                          
s3c-mem                                                                        
kmsg                                                                           
urandom                                                                        
random                                                                         
full                                                                           
zero                                                                           
port                                                                           
null                                                                           
kmem                                                                           
mem                                                                            
network_throughput                                                             
network_latency                                                                
cpu_dma_latency                                                                
log                                                                            
binder                                                                         
device-mapper                                                                  
watchdog                                                                       
alarm                                                                          
psaux                                                                          
android_adb_enable                                                             
android_adb                                                                    
ubi_ctrl                                                                       
apm_bios                                                                       
sec-g2d                                                                        
CEC                                                                            
HPD                                                                            
s3c-jpg                                                                        
s3c-mfc                                                                        
ecompass_ctrl                                                                  
mmc31xx                                                                        
ashmem                                                                         
adc                                                                            
rfkill                                                                         
vga_arbiter                                                                    
snd                                                                            
ttyS3                                                                          
ttyS2                                                                          
ttyS1                                                                          
ttyS0                                                                          
s3c2410_serial3                                                                
s3c2410_serial2                                                                
s3c2410_serial1                                                                
s3c2410_serial0                                                                
usbdev1.1                                                                      
usb1                                                                           
rtc0                                                                           
graphics                                                                       
block                                                                          
i2c-5                                                                          
i2c-4                                                                          
i2c-3                                                                          
i2c-2                                                                          
i2c-1                                                                          
i2c-0                                                                          
socket                                                                         
pts
# ls dev/                                                                      
s3c_bc                                                                         
cpuctl                                                                         
fb4                                                                            
fb3                                                                            
fb2                                                                            
fb1                                                                            
fb0                                                                            
pvrsrvkm                                                                       
video22                                                                        
video21                                                                        
video14                                                                        
video2                                                                         
video1                                                                         
video0                                                                         
ppp                                                                            
mtd                                                                            
cdev_pm                                                                        
vcsa1                                                                          
vcs1                                                                           
vcsa                                                                           
vcs                                                                            
ptmx                                                                           
ttyef                                                                          
                                                                       
console                                                                        
tty                                                                            
input                                                                          
s3c-mem                                                                        
kmsg                                                                           
urandom                                                                        
random                                                                         
full                                                                           
zero                                                                           
port                                                                           
null                                                                           
kmem                                                                           
mem                                                                            
network_throughput                                                             
network_latency                                                                
cpu_dma_latency                                                                
log                                                                            
binder                                                                         
device-mapper                                                                  
watchdog                                                                       
alarm                                                                          
psaux                                                                          
android_adb_enable                                                             
android_adb                                                                    
ubi_ctrl                                                                       
apm_bios                                                                       
sec-g2d                                                                        
CEC                                                                            
HPD                                                                            
s3c-jpg                                                                        
s3c-mfc                                                                        
ecompass_ctrl                                                                  
mmc31xx                                                                        
ashmem                                                                         
adc                                                                            
rfkill                                                                         
vga_arbiter                                                                    
snd                                                                            
ttyS3                                                                          
ttyS2                                                                          
ttyS1                                                                          
ttyS0                                                                          
s3c2410_serial3                                                                
s3c2410_serial2                                                                
s3c2410_serial1                                                                
s3c2410_serial0                                                                
usbdev1.1                                                                      
usb1                                                                           
rtc0                                                                           
graphics                                                                       
block                                                                          
i2c-5                                                                          
i2c-4                                                                          
i2c-3                                                                          
i2c-2                                                                          
i2c-1                                                                          
i2c-0                                                                          
socket                                                                         
pts



评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值