电子发烧友网 > 嵌入式技术 > 正文

基于PXA255开发板外围字符设备的嵌入式Linux字符设备驱动设计与应用

2018年08月21日 10:19 次阅读

1引言

随着嵌入式系统的发展,嵌入式 Linux以其稳定性和开放源代码的优点在嵌入式系统的开发中得到广泛应用。越来越多的软硬件厂商使用嵌入式 Linux来开发自己的产品,对基于嵌入式 Linux平台开发设备的驱动程序和应用程序的需求在成倍增长。本文通过实现对 PXA255开发板外围字符设备(电机、数码管、串口和 mini键盘)的操作和控制,详细讨论了嵌入式 linux字符设备驱动的设计与应用。

2系统的设计框架

系统的设计分为字符设备驱动程序和人机交互界面两部分。驱动程序为应用程序提供了操作设备的接口;人机交互界面的设计实现设备应用程序并完成人机交互的功能。整个系统软硬件的关系如图 1:字符设备被映射到 Linux文件系统的文件和目录,通过文件系统的系统调用接口 open(),write(),read(),close()等函数访问字符设备,实现设备的操作。

基于PXA255开发板外围字符设备的嵌入式Linux字符设备驱动设计与应用

图 1 系统软硬件的关系

3系统字符设备驱动程序的设计方法

Linux驱动程序是设备与具体的应用程序的中间层,它提供操作设备的接口,应用程序员不需要知道具体设备工作细节,只要调用一组标准化的函数就能完成对设备的操作,这些标准化的函数与具体的驱动没有关系,而将这些函数映射到作用于具体设备上的操作则与驱动程序相关[1]。Linux设备分为字符设备,块设备和网络设备,字符设备是能够像字节流一样被访问的设备。以下通过描述字符设备(电动机、数码管、串口、mini键盘)驱动的实现方法,深入讨论了基于嵌入式 linux的字符设备驱动的设计方法和实现过程。

3.1初始化函数与清除函数

Linux系统中,设备驱动的初始化函数负责注册设备,并完成驱动程序必要的初始化以及申请中断等[2],Linux系统使用 module_init宏指定初始化函数。在初始化函数中调用 regiSTer_chrdev函数向系统注册字符设备,通过 request_IRq 函数申请中断。例如电机设备的初始化函数如下:

static int __init moto_init(void){

int ret;

ret = register_chrdev(MOTO_MAJOR, “moto”, &moto_fops);//注册电机设备

if (ret) {

printk(KERN_ERR “%s: can‘t get major %d.n”,

__func__, MOTO_MAJOR);

return ret;

}

printk(KERN_INFO “%s: register moto device successfully.n”, __func__);

return 0;

} 其中,register_chrdev函数的第一个参数为主设备号,如果为0 则系统为此驱动程序动态地分配一个主设备号;第二个参数是设备名称,这里是以moto为设备名称;第三个参数moto_fops是默认的struct file_operaTIons结构体 。

清除函数的功能和初始化函数的功能相反,它将驱动程序所占用的系统资源、中断号进行释放。Linux系统使用 module_exit宏指定清除函数。

3.2中断

在 Linux 系统中,中断是由系统来管理与维护的。中断服务子程序在初始化函数中调用 request_irq 函数与相应中断号关联,并将该中断的相关信息添加到系统的中断信息列表中。中断发生时, Linux系统响应中断号来实现中断处理程序的执行。mini键盘按键触发产生中断号为 SIMPLE_KEY_IRQ的中断,系统自动检索并调用键盘中断服务子程序。键盘中断处理流程如图 2:

基于PXA255开发板外围字符设备的嵌入式Linux字符设备驱动设计与应用

3.3 设备驱动接口的实现

在Linux内核中,字符设备使用 struct file_operaTIons结构体来实现设备的各种操作接口,这些操作主要用来实现系统调用,命名为 open、read等等。file_operaTIons结构是定义在 《linux/fs.h》中的函数指针数组,每个设备文件都与它自己的操作函数相关联。编写字符设备驱动程序,主要是实现 struct file_operaTIons结构中的各个函数。

本系统各设备驱动的设计主要实现 open、read、write和 release这四个方法接口。 file_operation结构成员如下: /* DEVICE驱动程序设备操作方法集 */ struct file_operations device_fops = {

open方法提供给驱动程序以初始化的能力,从而为以后的操作完成初始化做准备。本系统中存在多个设备共用一个驱动的情况,驱动中的 open方法程序框架如下:

int device_open(struct inode *inode, struct file *filp){ int minor = MINOR(kdev); //次设备号的读取 switch(minor) {

case first_device: device_first_vaddr = (unsigned long)ioremap (DEVICE_ FIRST _ADDR, 2);

……

case second_device:

……

default:

……

} MOD_INC_USE_COUNT; // 递增模块引用计数 , 防止模块在使用中被卸载 if (down_interruptible(&device_mutex)) { …… }; }

1)open方法调用 MINOR(kdev)宏实现次设备号的读取,使用 switch语句完成设备的匹配初始化。Linux系统为每一个设备分配了一个主设备号和次设备号。主设备号标识具体的设备驱动程序,次设备号标识具体设备。开发板电机设备有直流电机和步进电机,它们的主设备号都是 252,次设备号分别为 0和 1。数码管、串口、 mini键盘的驱动设计只针对单个设备,次设备号设计为 0。

2)ioremap函数在 open方法中实现对电机、数码管、串口、mini键盘寄存器的访问。 PXA255处理器有专门的存储器管理单元(MMU),在驱动中不能直接对设备 I/O内存的物理地址进行读写,需要调用ioremap 等内核函数将寄存器的实际物理地址映射到内核统一的地址空间中,从而实现了对物理地址的间接调用。例如寄存器 DEVICE_ FIRST _ADDR的读写操作,通过读写 device_first_vaddr变量实现。在 asm/arch/pxa-regs.h头文件中定义了各种寄存器的宏,文件中的宏变量都是经过地址映射的可以直接使用。

release方法的作用正好与 open相反,通过调用 iounmap函数撤销 device设备的虚拟地址映射,同时释放互斥锁,递减模块引用计数,当模块引用计数减到 0时,close函数才能真正的关闭设备。read和 write方法的任务是相似的,主要完成用户空间和内核空间之间的数据拷贝。

read方法程序框架如下:

ssize_t device_read(struct file *filp, char *buf, size_t count, loff_t *offp){

……

if (copy_to_user(buf, (u8 *)&BUF, count)) { ……} //写数据给用户空间

return count; // 返回成功读取的字节数 }

其中,copy_to_user函数实现内核空间到用户空间的数据拷贝。应用程序调用该方法接口实现串口数据的接收。

write方法的实现同read方法类似。通过调用 copy_from_user函数实现用户空间到内核空间的数据拷贝。该方法接口实现串口数据的发送、LED和MOTO控制寄存器的设置。

3.4 驱动的装载和卸载

Linux驱动程序的编译加载有两种方式。一种是编译成模块在运行时加载,不需要重新启动内核,它使用 insmod工具将驱动模块加载进内核,使用 rmmod从内核中卸载模块。该方法实现如下:1)编译驱动并下载驱动到开发板:$ arm-linux-gcc device_driver.c -I /home/eflag/kernel/include/ -c生成 device_driver.o文件,通过 tftp工具下载到开发板;2)驱动的加载:$ insmod device_driver.o。设备驱动的加载成功后,可以编写应用程序进行设备驱动的检测;3)驱动的卸载:$ rmmod device_driver。

另一种是将驱动程序静态编译进内核,再运行新的内核来测试驱动,该方法是在linux系统字符设备驱动文件夹linux/driver/char/中加入设备驱动源程序,同时修改 makefile文件,重新编译内核,下载新内核到开发板,系统启动后自动加载设备驱动 [3]。在驱动加载成功后就可以对该驱动的设备进行读写等操作。 4 Qt人机界面的实现

Qt是由 Troolltech公司开发的一套开源图形用户界面库。它给应用程序开发者提供了开发图形界面所需的各种功能。Qtopia core是嵌入式环境下所使用的 Qt,很多嵌入式产品如 PDA、手机都采用 qtopia core的图形库作为人机界面设计的框架。本系统使用 qtopia core的图形库进行用户界面的开发。

4.1 Qt应用程序的设计

Qt的事件驱动机制是 single/slot(信号/槽)机制,通过 connect函数连接控件信号(Single)与槽函数(slot)。首先控件触发产生 Single信号,然后由 signal信号触发执行槽函数[4]。本系统中槽函数为具体设备应用程序。

设备应用程序的开发主要是系统函数的调用,如 open(打开设备),read/write(读写设备),close(关闭设备)等。本系统设备应用程序开发如下: RS232收发数据功能; LED跑马灯功能;操控电机转动功能;mini键盘键值读取功能。

Linux系统中设备作为文件被访问,对设备进行访问前需建立设备节点:

$mknod /dev/device_name c MAJOR MINOR

其中 device_name是设备节点名, c是字符设备标志, MAJOR是主设备号,MINOR是

次设备号。open函数使用/dev/device_name作为文件路径来打开设备。

4.2Qt应用程序的运行

1)编译 Qtopia core应用程序生成可执行文件 application。通过 tftp工具下载可执行文件到开发板;2)开发板中 application可执行文件的运行: $ chomd +x application $ 。/application –qws。

LCD显示器显示人机交互界面如图 3,通过输入设备如鼠标、键盘、触摸屏可以完成设备的操作。

基于PXA255开发板外围字符设备的嵌入式Linux字符设备驱动设计与应用

5 总结

实现了电机、数码管、串口和 mini键盘的驱动程序和应用程序的开发,设计了人机交互界面。

本文创新点:详细分析了嵌入式 Linux下字符设备驱动程序的构建过程。整个系统的设计和实现过程对嵌入式 Linux系统的开发有一定的参考价值。

技术专区

关注电子发烧友微信

有趣有料的资讯及技术干货

下载发烧友APP

打造属于您的人脉电子圈

关注发烧友课堂

锁定最新课程活动及技术直播
收藏 人收藏
分享:

评论

相关推荐

基于高压Piezo驱动器的压电式反馈电容触摸显示器参考设计方案

发表于 2018-08-23 18:29 107次阅读
基于高压Piezo驱动器的压电式反馈电容触摸显示器参考设计方案

如何在晶心平台上建立Linux基础架构?

鉴于越来越多使用者将Linux移植到晶心平台(Andes Embedded)上(AndesCore ...

发表于 2018-08-23 16:37 0次阅读
如何在晶心平台上建立Linux基础架构?

中国半导体全面进击,为何仍差一招

整体来说,即便对岸集成电路设计业近年来市场规模呈现不断扩大的局面,但仍需留意结构性调整的问题,以及高...

发表于 2018-08-22 17:59 110次阅读
中国半导体全面进击,为何仍差一招

关于机动车辆中压力传感器的使用

汽车压力传感器通常被用于测量车辆中液体和气体的压力,因此可在诸多车辆系统中用到。按应用细分,汽车压力...

发表于 2018-08-22 16:37 136次阅读
关于机动车辆中压力传感器的使用

Linux设置密码失效时间为60天 急急急

发表于 2018-08-22 15:43 141次阅读
Linux设置密码失效时间为60天  急急急

Linux内核的发展简史与系统层次结构

进程管理还包括处理活动进程之间共享 CPU 的需求。内核实现了一种新型的调度算法,不管有多少个线程在...

发表于 2018-08-22 14:14 105次阅读
Linux内核的发展简史与系统层次结构

从高级的视角来查看Linux引导过程

系统启动阶段依赖于引导Linux系统上的硬件。在嵌入式平台中,当系统加电或重置时,会使用一个启动环境...

发表于 2018-08-22 14:10 349次阅读
从高级的视角来查看Linux引导过程

贸泽电子全面备货STM32H7系列微控制器

贸泽备货的ST STM32H7微控制器内置带有双精度浮点运算单元 (FPU) 的32位Arm Cor...

发表于 2018-08-22 10:48 160次阅读
贸泽电子全面备货STM32H7系列微控制器

嵌入式ARM入门之谈

发表于 2018-08-22 09:42 195次阅读
嵌入式ARM入门之谈

从行业和技术来谈嵌入式行业职业规划

发表于 2018-08-22 09:36 177次阅读
从行业和技术来谈嵌入式行业职业规划

释义思维:模仿人类语言识别的句子嵌入模块

精准的时间序列预告对交通、能源、金融、经济等领域都非常重要。但是现代技术都是通过时间数据来建立预测模...

发表于 2018-08-22 08:50 533次阅读
释义思维:模仿人类语言识别的句子嵌入模块

请问ADI9361 Linux SPI配置有没有类似的参考例程?

发表于 2018-08-22 08:08 25次阅读
请问ADI9361 Linux SPI配置有没有类似的参考例程?

Linux常用检测性能的10个基本命令汇总

s, sy, id, wa:CPU的统计信息,分别表示user time、system time(k...

发表于 2018-08-21 17:33 190次阅读
Linux常用检测性能的10个基本命令汇总

Bash指南:Bash最佳实践

首先,你可以通过键入 history 来查看整个最近的命令历史记录,或者你可以通过键入 histor...

发表于 2018-08-21 17:29 79次阅读
Bash指南:Bash最佳实践

嵌入式Linux工程师的成长经历

发表于 2018-08-21 14:35 247次阅读
嵌入式Linux工程师的成长经历

为什么以FPGA来说嵌入式的出路?

你一般就业面很广,但时时刻刻会听到或接触FPGA,这很正常,因为FPGA这些年一年比一年好,很有...

发表于 2018-08-21 14:35 162次阅读
为什么以FPGA来说嵌入式的出路?

功耗和安全性嵌入式系统设计的两大担忧

功耗与安全性是嵌入式系统设计师的两大重要担忧,尤其是在 IoT 传感器命令和控制应用程序中。 对于工...

发表于 2018-08-21 13:48 837次阅读
功耗和安全性嵌入式系统设计的两大担忧

2018年嵌入式系统的物联网和人工智能应用研讨会...

发表于 2018-08-21 11:59 246次阅读
2018年嵌入式系统的物联网和人工智能应用研讨会...

一种应用于测控系统的基于Linux的嵌入式系统的...

随着网络控制技术的快速发展,工业以太网得到逐步完善,在工业控制领域获得越来越广泛的应用。工业以太网...

发表于 2018-08-21 10:35 55次阅读
一种应用于测控系统的基于Linux的嵌入式系统的...

离开美国的软件和硬件, 国内集成电路产业会怎样?

发表于 2018-08-21 09:42 319次阅读
离开美国的软件和硬件, 国内集成电路产业会怎样?

论述学习Linux内核的各个阶段

第三阶段(回归第一阶段):你已经工作了一段时间,写了一些代码,修复了一些bug,提交了一些patch...

发表于 2018-08-20 17:23 166次阅读
论述学习Linux内核的各个阶段

一文教你如何区别ARM Cortex系列处理器

ARM公司在经典处理器ARM11以后的产品改用Cortex命名,并分成A、R和M三类,旨在为各种不同...

发表于 2018-08-20 10:10 102次阅读
一文教你如何区别ARM Cortex系列处理器

嵌入式Linux Shell脚本的面试题你知道做吗

发表于 2018-08-20 10:02 174次阅读
嵌入式Linux Shell脚本的面试题你知道做吗

嵌入式ARM和IIC总线协议,三大问题及答案

处理器收到来自中断控制器的中断处理请求,保存中断上下文,跳转到中断对应的处理处,(快速完成中断中断上...

发表于 2018-08-20 10:00 80次阅读
嵌入式ARM和IIC总线协议,三大问题及答案

基于嵌入式Linux下的I2C设备驱动的总体思路...

由于I2C总线的通用性,Linux作为一款优秀的嵌入式操作系统,也必须要对其要有很好的支持。在Li...

发表于 2018-08-20 09:04 103次阅读
基于嵌入式Linux下的I2C设备驱动的总体思路...

深度分析Linux内存使用方法

一提到内存管理,我们头脑中闪出的两个概念,就是虚拟内存,与物理内存。这两个概念主要来自于linux内...

发表于 2018-08-20 09:00 609次阅读
深度分析Linux内存使用方法

基于嵌入式操作系统Linux环境中的没有竞争态读...

在对实时采集更新的数据进行处理时,往往会遇到数据更新速度与数据处理的速度不匹配的问题。这种情况下,...

发表于 2018-08-20 08:36 51次阅读
基于嵌入式操作系统Linux环境中的没有竞争态读...

请问mini2440按键驱动中的终端申请函数flag形参为什么是IRQ_TYPE_EDGE_BOTH(中断触发方式)?

发表于 2018-08-20 04:59 9次阅读
请问mini2440按键驱动中的终端申请函数flag形参为什么是IRQ_TYPE_EDGE_BOTH(中断触发方式)?

基于嵌入式TMS320DM*6平台上的Linux...

嵌入式系统开发已经进入32位时代,在当前数字信息技术和网络技术高速发展的后PC时代,嵌入式系统已经...

发表于 2018-08-19 09:27 67次阅读
基于嵌入式TMS320DM*6平台上的Linux...

一种应用于测控系统的基于Linux的嵌入式系统的...

随着网络控制技术的快速发展,工业以太网得到逐步完善,在工业控制领域获得越来越广泛的应用。工业以太网...

发表于 2018-08-19 09:04 61次阅读
一种应用于测控系统的基于Linux的嵌入式系统的...

查询Linux应用程序运行依赖哪些库的方法

发表于 2018-08-19 07:42 18次阅读
查询Linux应用程序运行依赖哪些库的方法

基于linux 2.6.24内核版本浅谈sock...

笔者一直觉得如果能知道从应用到框架再到操作系统的每一处代码,是一件 Exciting 的事情。

发表于 2018-08-18 11:22 244次阅读
基于linux 2.6.24内核版本浅谈sock...

浅谈Linux权限管理的ACL权限

Linux权限管理是Linux很重要的一项内容,重则引起用户信息泄露,轻则导致文件错乱和丢失。企业服...

发表于 2018-08-18 11:13 185次阅读
浅谈Linux权限管理的ACL权限

ARM架构和总线协议如何支持Linux原子操作?

这篇文章探讨ARM架构和总线协议如何来支持的。对于某款ARM处理器和总线CCI,CCN和CMN产品的...

发表于 2018-08-18 10:57 244次阅读
ARM架构和总线协议如何支持Linux原子操作?

如何利用FPGA硬件实现固定倍率的图像缩放?

近年来,FPGA技术发展迅速,片内集成了PLL、硬件乘法器、存储器,具有了实现优秀算法的充足资源。许...

发表于 2018-08-18 09:36 57次阅读
如何利用FPGA硬件实现固定倍率的图像缩放?

在嵌入式系统中有哪些处理器技术和特点?

国际上公认的通用嵌入式处理器有三大类:MCU、DSP和MPU(Micro-Processor Uni...

发表于 2018-08-18 09:28 161次阅读
在嵌入式系统中有哪些处理器技术和特点?

在嵌入式系统中如何用CPLD技术实现DRAM控制...

如果微处理器状态信号无效,这个状态则是一个T4状态,状态机B从B1转到B2.如果状态是一个T4状态,...

发表于 2018-08-18 09:25 65次阅读
在嵌入式系统中如何用CPLD技术实现DRAM控制...

基于Linux的嵌入式实时操作系统研究应如何进行...

在嵌入式产品的开发中,有必要寻找一种廉价的嵌入式实时操作系统,以降低产品的开发成本和系统复杂度。由于...

发表于 2018-08-18 09:13 72次阅读
基于Linux的嵌入式实时操作系统研究应如何进行...

如何对嵌入式最小系统的软硬件架构进行改进?

嵌入式最小系统即是在尽可能减少上层应用的情况下,能够使系统运行的最小化模块配置。对于一个典型的嵌入式...

发表于 2018-08-18 09:01 68次阅读
如何对嵌入式最小系统的软硬件架构进行改进?

32位嵌入式处理器和8位处理器的开发方式有哪些不...

对于一个32位的嵌入式系统则不同。在硬件设计开发的同时,需要有实时多任务操作系统环境,软件工程师可以...

发表于 2018-08-18 08:47 79次阅读
32位嵌入式处理器和8位处理器的开发方式有哪些不...

基于嵌入式Linux内核的系统设备驱动程序开发设...

Linux是一个遵循POSIX标准的免费操作系统。具有BSD和SYSV的扩展特性。与其他操作系统相比...

发表于 2018-08-17 15:12 58次阅读
基于嵌入式Linux内核的系统设备驱动程序开发设...

基于Linux2.6内核的实时性增强方案设计

Linux以其功能强大、源代码开放、支持多种硬件平台、模块化设计方案以及丰富的开发工具支持等特点广泛...

发表于 2018-08-17 15:01 39次阅读
基于Linux2.6内核的实时性增强方案设计

Docker到底是什么,要解决什么问题,好处又在...

Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口。它是目前最流行的 Lin...

发表于 2018-08-16 16:56 185次阅读
Docker到底是什么,要解决什么问题,好处又在...

浅析液晶拼接屏技术的未来发展趋势

液晶拼接墙作为大屏幕显示设备广泛应用于视频监控领域,实现由多个液晶显示单元拼接显示一幅大画面的功能。

发表于 2018-08-16 15:43 234次阅读
浅析液晶拼接屏技术的未来发展趋势

关于Linux嵌入式操作系统的优势特征详解

嵌入式linux 是将日益流行的Linux操作系统进行裁剪修改,使之能在嵌入式计算机系统上运行的一种...

发表于 2018-08-16 15:17 254次阅读
关于Linux嵌入式操作系统的优势特征详解

如何才能提高Linux系统的安全性?这八大招告诉...

Linux系统不论在功能上、价格上或性能上都有很多优点,然而,作为开放式操作系统,它不可避免地存在一...

发表于 2018-08-16 15:08 60次阅读
如何才能提高Linux系统的安全性?这八大招告诉...

inotify框架的使用和原理!如何添加对于目标...

为了防止文件描述符fd的快速消耗,inotify提出了一个inotify instance(inot...

发表于 2018-08-15 17:43 332次阅读
inotify框架的使用和原理!如何添加对于目标...

RFID与金属,RFID的隐私安全和制造成本

在生产阶段就被嵌入RFID标签的资产,因其已经具备或半具备的RFID功能,使它与其他同类型产品相比而...

发表于 2018-08-15 11:13 45次阅读
RFID与金属,RFID的隐私安全和制造成本

C/C++编程语言学习难点及语言

一般学C++前都要学C,所以通常叫它们C/C++。C/C++历经40余年,也是经久不衰的号称“永不过...

发表于 2018-08-15 10:24 71次阅读
C/C++编程语言学习难点及语言

青岛技术研究中心开发嵌入式技术方向

技术研发中心-嵌入式组以物联网、平行感知、边缘计算、通信网络、嵌入式系统、机器人为主要研究方向,提供...

发表于 2018-08-15 09:31 99次阅读
青岛技术研究中心开发嵌入式技术方向

基于水下无人机,Intel Braswell芯片...

海洋覆盖了地球表面70%的面积,但人类对它的了解,仍然还在起步阶段。科技的发展带来的是人们生活水平的...

发表于 2018-08-14 17:07 116次阅读
基于水下无人机,Intel Braswell芯片...

Linux内核学习经验总结分享

操作系统是介于底层硬件和应用软件之间的接口,其各个子系统的实现很大程度上依赖于硬件特性。书上介绍这些...

发表于 2018-08-13 17:40 237次阅读
Linux内核学习经验总结分享

基于Linux操作系统内核的崩溃转储机制解析

随着嵌入式Linux系统的广泛应用,对系统的可靠性提出了更高的要求,尤其是涉及到生命财产等重要领域,...

发表于 2018-08-13 17:00 78次阅读
基于Linux操作系统内核的崩溃转储机制解析

关于Linux操作系统网络驱动程序编写知识详解

Linux作为挑战微软垄断的强有力武器,日益受到大家的喜爱。真希望她能在中国迅速成长。把程序文档贴出...

发表于 2018-08-13 16:52 90次阅读
关于Linux操作系统网络驱动程序编写知识详解

四款炫酷Linux开源程序照亮你的生活!

许多 Linux 用户认为在终端中工作太复杂、无聊,并试图逃避它。但这里有个改善方法 —— 四款终端...

发表于 2018-08-13 14:36 245次阅读
四款炫酷Linux开源程序照亮你的生活!

嵌入式AI应用,为消费者提供更多新型的AI应用程...

区别于“传统”一切都基于云的人工智能(AI),这些基于现场应用设备的神经网络计算,可以被称为嵌入式A...

发表于 2018-08-13 10:33 96次阅读
嵌入式AI应用,为消费者提供更多新型的AI应用程...

主流的几款国产嵌入式操作系统

SylixOS 是一个开源的跨平台的大型实时操作系统(RTOS),SylixOS 诞生于2006年,...

发表于 2018-08-13 08:38 1210次阅读
主流的几款国产嵌入式操作系统

常见的嵌入式C语言的3道面试题含答案,快来学习吧...

题一:简述strcpy sprintf与mencpy的区别思考过后,再到下方寻找答案 题二:如何避...

发表于 2018-08-12 11:02 389次阅读
常见的嵌入式C语言的3道面试题含答案,快来学习吧...

嵌入式Linux模块编译步骤详细概述让你少走弯路

今天将直接了当的带你进入linux的模块编译,当然在介绍的过程当中,我也会添加一些必要的注释,以便初...

发表于 2018-08-12 10:56 382次阅读
嵌入式Linux模块编译步骤详细概述让你少走弯路

嵌入式应用开发应用架构有什么作用?嵌入式程序设计...

如果没有好的架构,移植将会是一件很痛苦的事情。如果没有好的架构,复用是最大的难题,没法更大限度的复用...

发表于 2018-08-12 10:49 362次阅读
嵌入式应用开发应用架构有什么作用?嵌入式程序设计...

如何设计一个基于FPGA的嵌入式监控系统?

为了实现自动图像报警和图像采集,本文设计了动体检测算法,这是因为绝大多数情况下我们只对监控区域中运动...

发表于 2018-08-12 09:39 106次阅读
如何设计一个基于FPGA的嵌入式监控系统?

以嵌入式处理器为核心的IP复用技术应用

嵌入式处理器是嵌入式系统的核心,有硬核和软核之分。其中,嵌入式处理器软核以其更大的使用灵活性,更低廉...

发表于 2018-08-12 09:23 347次阅读
以嵌入式处理器为核心的IP复用技术应用

如何设计一个基于嵌入式系统的智能交通灯控制系统?

电源是整个系统的动力源,对于整个系统运行过程处于至关重要的作用,系统中不同模块对供电需求也各不相同。...

发表于 2018-08-12 09:15 129次阅读
如何设计一个基于嵌入式系统的智能交通灯控制系统?

如何设计一个16位的嵌入式微控制器?

使用的FPGA器件是StratixⅡ型号为EP1S40F780C7。综合结果显示:A8096使用3 ...

发表于 2018-08-12 09:11 110次阅读
如何设计一个16位的嵌入式微控制器?

在嵌入式系统中如何利用CPLD技术来更加方便的使...

DRAM控制器由80C186XL状态信号S2、S1和S0的解码来检测总线的开始、类型和结束。这些状态...

发表于 2018-08-12 09:03 60次阅读
在嵌入式系统中如何利用CPLD技术来更加方便的使...

以C51单片机为核心的嵌入式系统实时控制设计

C8051F120芯片上本身自带了A/D转换器,但只有12位,不适合该系统的需求,故在片外另加一片A...

发表于 2018-08-12 08:56 104次阅读
以C51单片机为核心的嵌入式系统实时控制设计

如何将气象数据运用到传热仿真中?

在设计设备或工艺流程时,除了研究系统本身之外,很重要的是还要考虑周围环境的影响。借助历史气象数据对不...

发表于 2018-08-11 11:46 676次阅读
如何将气象数据运用到传热仿真中?

一种关于利用DSP嵌入式技术的赛车刹车控制系统的...

本文在硬件电路设计上采用DSP 芯片和外围电路构成速度捕获电路,电机驱动控制器采用微控制芯片和外围...

发表于 2018-08-11 10:46 94次阅读
一种关于利用DSP嵌入式技术的赛车刹车控制系统的...

一种基于嵌入式系统应用的机器人视觉系统设计详解

随着Internet技术与信息家电、工业控制技术等的结合日益紧密,嵌入式设备与Internet的结...

发表于 2018-08-11 10:35 372次阅读
一种基于嵌入式系统应用的机器人视觉系统设计详解

Linux环境下对磁盘分区进行管理的一种机制

物理卷就是指硬盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,...

发表于 2018-08-10 17:58 383次阅读
Linux环境下对磁盘分区进行管理的一种机制

一种通过嵌入式互联网技术控制在线嵌入式设备的远程...

随着Internet的广泛普及和通信技术的高速发展,大量基于TCP/IP的Internet应用可以被...

发表于 2018-08-10 17:19 688次阅读
一种通过嵌入式互联网技术控制在线嵌入式设备的远程...

关于嵌入式Linux系统开发学习流程详解

C语言是嵌入式领域最重要也是最主要的编程语言,通过大量编程实例重点理解C语言的基础编程以及高级编程知...

发表于 2018-08-10 17:15 133次阅读
关于嵌入式Linux系统开发学习流程详解

P-NUCLEO-IHM001电机开发板介绍

核心板上部为板载ST-LINK,同时引出串口。核心板STM32F302通过ST-LINK引出的MCO...

发表于 2018-08-10 16:55 305次阅读
P-NUCLEO-IHM001电机开发板介绍

浅析Linux中命令链接操作符的十个最佳实例

Linux命令中链接的意思是,通过操作符的行为将几个命令组合执行。

发表于 2018-08-10 15:51 200次阅读
浅析Linux中命令链接操作符的十个最佳实例

Linux内核的git历史记录一些最奇怪的事情

正如我所看到的,这个有66个父节点的不同寻常的提交在某种程度上只是对于ASoc代码修改的正常合并。A...

发表于 2018-08-10 11:22 360次阅读
Linux内核的git历史记录一些最奇怪的事情

如何修复Linux内核存在的TCP漏洞?

卡内基梅隆大学的 CERT/CC 发出警告,称 Linux 内核 4.9 及更高版本中有一个 TCP...

发表于 2018-08-10 11:15 312次阅读
如何修复Linux内核存在的TCP漏洞?

威盛电子发布嵌入式新模块,助力机器人的发展

21世纪以来,计算机市场从PC时代发展至移动时代,并逐渐向AI(人工智能)时代转变。智能机器人作为人...

发表于 2018-08-10 08:58 73次阅读
威盛电子发布嵌入式新模块,助力机器人的发展

一个关于Linux中断的问题:硬件处理,初始化和...

I/O APIC 每个I/O APIC提供24个管脚,能够和外部设备的中断线连接,每个管脚都可以通...

发表于 2018-08-09 17:16 498次阅读
一个关于Linux中断的问题:硬件处理,初始化和...

一种基于多种MEMS传感器的嵌入式姿态测量系统设...

传统的姿态测量因为采用高精度陀螺仪和加速度计等姿态传感器,体积庞大并且价格昂贵。当前MEMS产品因其...

发表于 2018-08-09 16:46 125次阅读
一种基于多种MEMS传感器的嵌入式姿态测量系统设...

一种基于嵌入式Internet技术的通用RTU设...

针对传统RTU通讯速率低、通讯规约不统一、系统不开放,分析了在IEC 60870-5-104通信规约...

发表于 2018-08-09 16:38 450次阅读
一种基于嵌入式Internet技术的通用RTU设...

以Arm-Linux为平台的智能家居控制系统的设...

嵌入式系统以其占用资源少、专用性强、功耗低的特点使其广泛应用在移动通信、工业生产、安全监控等领域。针...

发表于 2018-08-08 16:27 132次阅读
以Arm-Linux为平台的智能家居控制系统的设...

排查Linux机器被入侵的11个步骤

随着开源产品的越来越盛行,作为一个Linux运维工程师,能够清晰地鉴别异常机器是否已经被入侵了显得至...

发表于 2018-08-08 14:42 232次阅读
排查Linux机器被入侵的11个步骤

Xilinx通过拓展生态系统和平台,强化高度差异...

赛灵思公司(Xilinx)今天宣布通过拓展生态系统和硬件平台进一步扩大了其面向嵌入式视觉和工业物联...

发表于 2018-08-08 14:33 178次阅读
Xilinx通过拓展生态系统和平台,强化高度差异...

J-Link探针支持RISC-V、ARM和其它C...

SEGGER销售与市场营销总监Harald Schober补充道:“我们很高兴能够与UltraSoC...

发表于 2018-08-07 16:47 1066次阅读
J-Link探针支持RISC-V、ARM和其它C...

嵌入式环境下的轻量级GUI系统解决方案设计详解

近年来,随着信息家电、手持设备、无线设备的迅速发展,人们对嵌入式系统的需求逐渐增多,要求也越来越高...

发表于 2018-08-07 15:18 177次阅读
嵌入式环境下的轻量级GUI系统解决方案设计详解

基于嵌入式Linux系统的机车状态实时检测系统设...

状态监测与故障诊断技术是现代工业技术发展的产物,已发展到了以专家系统、神经网络和模糊分析等理论为基...

发表于 2018-08-07 15:07 102次阅读
基于嵌入式Linux系统的机车状态实时检测系统设...

颠覆传统的创新,嵌入式的非接触式连接器

在“物联网”与“工业4.0”等应用浪潮涌动下,电子元器件的技术创新与市场规模也激流勇进。万物互联实现...

发表于 2018-08-06 16:21 319次阅读
颠覆传统的创新,嵌入式的非接触式连接器

UltraSoC为嵌入式调试和分析环境添加SEG...

UltraSoC日前宣布:公司已与SEGGER达成合作伙伴关系,以在UltraSoC集成化的系统级芯...

发表于 2018-08-06 14:04 839次阅读
UltraSoC为嵌入式调试和分析环境添加SEG...

闪迪推出全新嵌入式闪存驱动器,供给中国的OEM,...

全新卓越的闪迪嵌入式闪存驱动器使智能手机能够实现1Gb每秒或更高的即时数据传输速度及RAW格式图像捕...

发表于 2018-08-06 10:00 155次阅读
闪迪推出全新嵌入式闪存驱动器,供给中国的OEM,...

基于嵌入式Linux的Qt Designer快速...

RAD(快速应用程序开发)是一种高效的软件开发形式,可以让用户在极短的时间里创建一个图形化的用户界...

发表于 2018-08-06 09:17 99次阅读
基于嵌入式Linux的Qt Designer快速...

基于嵌入式处理器的Virtex FPGA板级支持...

具有嵌入式处理器的平台FPGA提供很大的灵活性、集成度和高性能。目前,在单个可编程逻辑器件中开发极...

发表于 2018-08-06 09:03 87次阅读
基于嵌入式处理器的Virtex FPGA板级支持...

基于Matlab/RTW实现实时仿真与嵌入式系统...

在日益激烈的竞争中,系统的开发周期显得尤为重要,但开发时间与系统安全性、可靠性又有一定冲突,如果仍...

发表于 2018-08-06 08:43 88次阅读
基于Matlab/RTW实现实时仿真与嵌入式系统...

关于以Cortex-A8内核为基础的嵌入式实验平...

针对目前嵌入式教学实验平台资源的不足,为了使理论与实践相结合、软硬件联系更紧密,设计提出了一套Cor...

发表于 2018-08-05 10:49 125次阅读
关于以Cortex-A8内核为基础的嵌入式实验平...

嵌入式系统技术核心:DSP器件基本技术特征以及应...

嵌入式系统的目的是提供一个以多任务和网络为信心,易于开发的复杂数字系统。从数字技术和信息技术的角度看...

发表于 2018-08-05 09:22 306次阅读
嵌入式系统技术核心:DSP器件基本技术特征以及应...

Linux 4.18 正式版将延期发布

前两天 Linux 4.18 RC 7 发布的时候,Linus Torvalds 表示,如果不出意外...

发表于 2018-08-05 08:55 392次阅读
Linux 4.18 正式版将延期发布

Arch Linux 有何优缺点?

Arch Linux 于 2002 年发布,由 Aaron Grifin 领头,是当下最热门的 Li...

发表于 2018-08-05 08:52 440次阅读
Arch Linux 有何优缺点?

如何在嵌入式FreeRTOS系统接口调用API?

1.在最近的嵌入式工作中很多都是学习FreeRTOS系统,由于只是会对RTOS的接口进行调用,但是很...

发表于 2018-08-04 10:39 499次阅读
如何在嵌入式FreeRTOS系统接口调用API?

关于嵌入式FIRD读写器内部数据的存储和管理研究...

在保障装备装备时,训练使用、检修、加装改造等记录用传统手工操作,管理人员必须对进装备名称、随装配套类...

发表于 2018-08-03 15:36 105次阅读
关于嵌入式FIRD读写器内部数据的存储和管理研究...

关于在嵌入式项目中使用Linux的五大技巧详解

微控制器制造商的开发板,以及他们与开发板一起提供的软件项目例程,在工程师着手一个新设计时可以提供很大...

发表于 2018-08-03 15:23 182次阅读
关于在嵌入式项目中使用Linux的五大技巧详解

将嵌入式扩展技术系统应用于物流盘点PDA无线终端...

科学技术的进步带来了物流业的巨大变化,从机械化向自动化、智能化发展。我国物流业起步较晚,目前还处于人...

发表于 2018-08-03 15:15 168次阅读
将嵌入式扩展技术系统应用于物流盘点PDA无线终端...