OK6410A学习笔记二:嵌入式Linux驱动开发环境的配置和测试

发布者:飘然出尘最新更新时间:2016-04-12 来源: eefocus关键字:OK6410A  Linux驱动  开发环境 手机看文章 扫描二维码
随时随地手机看文章
环境配置:

Window7 32-bit OS + VMware Workstation 6.5 + Ubuntu9.10

FORLINX OK6410A开发板

 

嵌入式Linux驱动开发环境的搭建

1.       安装arm-linux-gcc交叉编译器,并设置环境变量

2.       将飞凌提供的FORLINX_linux-3.0.1.tar.gz拷贝到/usr/src,解压并进入linux-3.0.1目录

3.       执行以下命令:#make oldconfig; #make prepare; 这两个命令用来测试交叉编译器和驱动开发需要的源文件包是否能正常使用,可能会出现提示arm-linux-gcc找不到的情况,这是因为步骤1中交叉编译器没有配置好。另外,可以修改顶层Makefile文件中的CROSS_COMPILE来设置交叉编译器,然后执行#make scripts/使能新的交叉编译器。

 

 

嵌入式Linux驱动开发环境的测试

最好的方法莫过于用HelloWorld实例来测试一下。

//hello.c

#include

#include

 

MODULE_LICENSE("Dual BSD/GPL");

 

static int __init s3c6410_hello_init(void)

{

 printk(KERN_EMERG "Hello World! This is the sample driver of S3C6410!\n");

 

 return 0;

}

 

static void __exit s3c6410_hello_exit(void)

{

 printk(KERN_EMERG "Hello World exit!\n");

 

}

 

module_init(s3c6410_hello_init);

module_exit(s3c6410_hello_exit);

 

//Makefile

obj-m:=hello.o

KERNELDIR?=/usr/src/linux-3.0.1

 

default:

         $(MAKE) -C $(KERNELDIR) M=$(shell pwd) modules

 

clean:

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

 

以上部分是源码和Makefile文件,执行#make进行编译,#make clean清除编译生成的文件。

 
 

接下来,将hello.ko文件拷贝到SD卡中,给OK6410A开发板上电,进入sdcard目录(使用DNW工具进行调试),执行#insmod hello.ko加载hello.ko模块进入内核,执行#lsmod查看系统当前的驱动模块。


 

关键字:OK6410A  Linux驱动  开发环境 引用地址:OK6410A学习笔记二:嵌入式Linux驱动开发环境的配置和测试

上一篇:OK6410A学习笔记三:嵌入式Linux驱动之LED驱动
下一篇:OK6410A学习笔记一:一键烧录Linux

推荐阅读最新更新时间:2024-03-16 14:50

OK6410A 开发板 (八) 17 linux-5.11 OK6410A start_kernel 功能角度 概览
根据功能对 linux启动过程的分类(注意:arm1176jzfs不支持多核) 对于 arm1176jzfs 的 s3c6410 来说,只有cpu0 1st 和 2nd 都正确 3rd 中跑的 是 所有的进程,包括 0 1 2 ... 第一阶段第二阶段 已经将内核初始化好了,但是还没有开始 大规模的使用内核 第三阶段主要是 进程0 进程1 进程2,负责使用内核的服务
[单片机]
<font color='red'>OK6410A</font> 开发板 (八) 17 <font color='red'>linux</font>-5.11 <font color='red'>OK6410A</font> start_kernel 功能角度 概览
OK6410A 开发板 (八) 112 linux-5.11 OK6410A tmpfs 文件系统 CONFIG_SHMEM=y & CONFIG_TMPFS=y
CONFIG_SHMEM=y & CONFIG_TMPFS=y 相较于 CONFIG_SHMEM=y & CONFIG_TMPFS=n 多了 0a1,2 Press F1 , ? for help 16a19,21 -shmem_acct_size -shmem_file_operations -shmem_get_inode 17a23,25 -shmem_initxattrs -shmem_unacct_size -shmem_vm_ops 23a32 -shmem_initxattrs(struct inode *, const struct xattr *, void
[单片机]
STM32G0开发笔记-1-开发环境搭建之STM32CubeMX
1、下载STM32cubeMX软件,解压 百度网盘下载链接:https://pan.baidu.com/s/1H56511Y_nd-4kDYT_cVh0w 提取码:zvnx 2、安装STM32cubeMX并配置 2.1点击安装,下一步 2.2选择接受条款,下一步 2.3选择安装路径,默认即可 3、选择芯片型号并创建工程 3.1选择由芯片信号生成工程 3.2 选择芯片型号 3.3 配置参数 可以一次选择下图指出的4个选项卡,依次设置引脚的功能、时钟、工程路径等参数。 配置完成后,可以点击右上角的GENERATE CODE按键生成工程代码。 4、生成工程文件 在生成工程代
[单片机]
STM32G0开发笔记-1-<font color='red'>开发环境</font>搭建之STM32CubeMX
OK6410A 开发板 (八) 118 linux-5.11 OK6410A linux对arm异常处理的相同部分解析
.section .vectors, ax , %progbits .L__vectors_start: W(b) vector_rst W(b) vector_und W(ldr) pc, .L__vectors_start + 0x1000 W(b) vector_pabt W(b) vector_dabt W(b) vector_addrexcptn W(b) vector_irq W(b) vector_fiq 每种处理方式中相同的部分 // 8个入口 1. 直接定义 2个 vector_rst: ARM( swi SYS_ERROR0 )
[单片机]
s3c2410上搭建QT/Embedded4.8.5开发环境(一)---环境导读
近期参加个比赛,需要用到博创s3c2410的开发板,搭建QT/Embedded的环境,真费了不少功夫,开始想用那个qtopia的桌面的,但是移植老是不成功,后来看看用的是CentOS6.4,但是开发板光盘里提供的,qtopia(版本竟然还是2.1.1)这个东西太老了,已经绝版了。在这里给各位以后开发的兄弟提个醒,qtopia这就是个坑. QT各版本起源 Qt 的版本是按照不同的图形系统来划分的,目前分为四个版本: Win32版,适用于Windows平台; X11版,适合于使用了x系统的各种 linux 和 unix的平台; Mac版,适合与苹果MacOS; embedded版,适合于具有帧缓冲(framebuffer)的l
[单片机]
沁恒CH32V103C8T6开发环境笔记
CH32V103C8T6 CH32V103C8T6是沁恒的RISC-V内核MCU, 基于RISC-V3A处理器, 内核采用2级流水线处理,设置了静态分支预测、指令预取机制,支持DMA. 主要参数如下 CPU: 32位RISC-V3A, RV32IMAC指令集, 最高80MHz, 典型72MHz RAM: 20KB Flash: 64KB BootLoader: 3.75KB 系统引导程序存储区 供电: 2.7V - 5.5V (兼容3.3V和5V) Timer: 通用3, 高级1, 看门狗2, 系统时钟1 ADC: 12bit, 10CH SPI: 2 I2C: 2 UART: 3 USBHD: 1 封装: LQFP48
[单片机]
沁恒CH32V103C8T6<font color='red'>开发环境</font>笔记
linux内核模块和驱动程序的编写
linux中的大部分驱动程序,是以模块的形式编写的.这些驱动程序源码可以修改到内核中,也可以把他们编译成模块形势,在需要的时候动态加载. 一个典型的驱动程序,大体上可以分为这么几个部分: 1、注册设备 在系统初启,或者模块加载时候,必须将设备登记到相应的设备数组,并返回设备的主驱动号,例如:对快设备来说调用refister_blkdec()将设备添加到数组blkdev中.并且获得该设备号.并利用这些设备号对此数组进行索引.对于字符驱动设备来说,要使用module_register_chrdev()来获得祝设备的驱动号.然后对这个设备的所有调用都用这个设备号来实现 2、定义功能函数 对于每一个驱动函数来说.都有一
[嵌入式]
AD7888与S3C2410的SPI接口及Linux下嵌入式驱动的实现
串行外围设备接口SPI(serial peripheral interface)总线技术是Motorola公司推出的一种同步串行接口,它允许CPU与TTL移位寄存器、A/D或D/A转换器、实时时钟(RTO)、存储器以及LCD和LED显示驱动器等外围接口器件以串行方式进行通讯。 SPI总线只需3~4根数据线和控制线即可扩展具有SPI接口的各种I/O器件,其硬件功能很强,实现软件相当简单。串行A/D转换器具有电路简单、工作可靠的特点,而ARM芯片被设计用于手持设备以及普通的嵌人式应用的集成系统,将上述两种实用的芯片和SPI总线技术相结合以实现数据采集十分有效。 1 AD7888的功能与使用 AD7888是美国模拟器件公司推出的一款
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved