![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
嵌入式linux开发
huang20083200056
这个作者很懒,什么都没留下…
展开
-
Linux开发二_构建标准c库newlib
C语言开发项目往往需要标准c库的支持,它是一组一般用户常用的程序集。C库函数极大地方便了用户,同时也补充了c语言本身的不足,使用库函数,既可以提高程序的运行效率,也可以提高编程的质量。作为一个c编译器,是需要支持c标准库的,同时,c库的实现也是与操作系统相关的,不同的操作系统,其实现是有差异的。笔者此处就arm交叉编译工具裸机newlib的构建作一个简单的介绍,使之既能支持linux应用开发,又能支持标准裸机开发。原创 2015-11-01 00:49:11 · 3595 阅读 · 0 评论 -
Linux开发二十一_tslib移植
tslib是一个开源的程序,能够为触摸屏驱动获得的采样提供诸如滤波、去抖、校准等功能,通常作为触摸屏驱动的适配层,为上层的应用提供了一个统一的接口。原创 2017-04-23 01:37:54 · 440 阅读 · 0 评论 -
Linux开发二十二_Qt移植
Qt是跨平台的应用程序和UI框架,它包括跨平台类库、集成开发工具和跨平台IDE。使用Qt只需一次性开发应用程序,无须重新编写源代码,便可跨不同桌面和嵌入式操作系统部署这些应用程序。原创 2017-04-23 01:40:38 · 1839 阅读 · 0 评论 -
Linux开发二十三_opencv移植
opencv是一个开放源代码的机器视觉库,它是基于c/c++开发的,可用与计算机视觉、图像处理、模式识别和跟踪等等。原创 2017-04-23 01:47:27 · 684 阅读 · 0 评论 -
Linux开发二十四_mplayer移植
mplayer是一款开源多媒体播放器,以gnu通用公共许可证发布。它资源占用率低,无论是音频还是视频方面,支持的格式相当全面,支持的输出设备也很多,可以在各种主流操作系统中使用。原创 2017-04-23 01:49:42 · 1073 阅读 · 0 评论 -
Linux开发三_基于newlib的bootloader
bootloader是嵌入式系统上电后第一段执行的代码,它先初始化CPU和相关的硬件,建立内存空间映射,把内核或应用程序加载到相应的内存执行位置,最后调用内核或应用程序,释放CPU控制权,完成整个bootloader的流程。bootloader以及应用程序开发往往是离不开c库的,笔者此处就s3c2416基于newlib的bootloader以及裸机应用开发作一个简单的介绍。原创 2015-11-01 01:00:49 · 1611 阅读 · 0 评论 -
Linux开发四_bootloader启动linux内核
不同的CPU具有不同的启动方式,其系统外设等均具有较大的差异。CPU上电启动后,并不具有相应的内核启动环境,需要bootloader先初始化CPU及相应系统外设,加载内核,使之具备内核启动的必要条件。bootloader一般应有下载固化以及加载启动这两个功能,笔者此处就s3c2416基于yaffs文件系统的linux下载固化以及加载启动作一个简单的介绍。原创 2016-01-08 00:09:11 · 4435 阅读 · 0 评论 -
Linux开发五_构建根文件系统
文件系统是对一个存储设备上的数据和元数据进行组织的机制,根文件系统是linux内核启动时所挂载的第一个文件系统。对于一个可启动的linux系统,根文件系统是其不可或缺的一部分。笔者此处就根文件系统的构建作一个简单的介绍。原创 2016-01-08 00:17:10 · 2348 阅读 · 0 评论 -
Linux开发六_linux内核编译运行
Linux是一个非商业化的产品,任何人都可以获得源代码并研究它。这吸引了很多开发者对其代码进行修改和完善,因此变得越来越流行。从小到手表,大到超级计算机集群,都可以看到Linux的身影。笔者此处就Linux内核的编译以及运行作一个简单的介绍。原创 2016-09-28 09:46:07 · 1978 阅读 · 0 评论 -
Linux开发七_linux内核移植
Linux是一套免费使用和自由传播的操作系统,吸收了来自全世界无数程序员的精华,不断完善壮大。Linux内核高度可移植,其可以运行在各种硬件设备中,如路由器、游戏机、智能手表、手机、台式计算机、超级计算机。笔者此处就s3c2416的Linux内核移植作一个简单的介绍。原创 2016-09-28 09:54:27 · 2176 阅读 · 1 评论 -
Linux开发八_LED驱动
Linux内核支持多种驱动框架,其中就支持led这样的设备模型。Linux内核实现了一个虚拟的文件系统sysfs,用于提供一个从用户空间访问内核设备的方法。笔者此处就基于sysfs文件系统的led驱动做一个简单的介绍。原创 2016-12-30 10:27:50 · 780 阅读 · 0 评论 -
Linux开发二十_触摸屏驱动
在人机交互系统中,键盘、触摸屏等输入设备是一个不可或缺的部分,触摸屏以其非常良好的用户体验得到了广泛的应用。此处以ft5206电容屏为例,实现Linux内核上的驱动。原创 2017-04-23 01:35:49 · 1104 阅读 · 0 评论 -
Linux开发十九_nfs文件系统
nfs即网络文件系统,通过网络,对在不同主机上的文件进行共享。嵌入式开发中,往往需要构建调试文件系统,在主机端以nfs文件系统的方式先调试构建文件系统,将极大地方便开发。原创 2017-04-23 01:32:24 · 447 阅读 · 0 评论 -
Linux开发十八_网卡驱动
Internet作为全球最大的互联网络,几乎总汇了全球的信息资源,越来越多的设备需要连接Internet,共享信息资源。Linux内核已经支持dm9000网卡驱动。原创 2017-04-23 01:29:46 · 1710 阅读 · 1 评论 -
Linux开发一_Arm交叉编译环境
GNU是一个自由软件工程项目,目标在于创建一个完全兼容于UNIX的自由软件环境。GNU已经开发出了大部分UNIX系统的程序库和工具,如功能强大的文字编辑器Emacs, GUN开发编译器GCC等。尤其是Linux与其它的GNU软件结合,诞生了GNU下完全自由免费的操作系统。GNU软件功能完善而强大,丝毫不输商业软件,其开源免费的特性也得到了世界各地程序员的积极响应,让GNU软件尤其是Linux得到了相当广泛的应用。笔者此处就搭建Arm交叉编译环境作一个简单的介绍。原创 2015-11-01 00:45:01 · 2637 阅读 · 0 评论 -
Linux开发九_按键驱动
按键作为用户系统交互的一部分,在嵌入式系统应用中,占有非常重要的地位。Linux内核输入子系统已经对按键提供了良好的驱动支持,只需要实现相应的按键设备即可让按键正常工作。原创 2017-04-23 00:54:55 · 2086 阅读 · 0 评论 -
Linux开发十_rtc驱动
rtc为操作系统提供时钟、日历、闹钟、周期性中断等功能,并且在断电的情况下,可以由电池供电,以很小的耗电继续运行下去,Linux内核已经支持s3c2416的rtc驱动。原创 2017-04-23 01:00:25 · 1713 阅读 · 0 评论 -
Linux开发十一_看门狗驱动
看门狗的用途是当cpu进入到错误状态后,无法恢复的情况下,使系统重新启动。Linux内核已经支持s3c2416的看门狗驱动。原创 2017-04-23 01:04:13 · 1031 阅读 · 0 评论 -
Linux开发十二_i2c驱动
i2c总线是嵌入式领域广泛采用的一种通信标准,其具有接口线少、控制方式简单、通信速率较高等优点。Linux内核已经支持s3c2416的i2c驱动。原创 2017-04-23 01:07:32 · 696 阅读 · 0 评论 -
Linux开发十三_hsmmc驱动
存储卡具有体积小巧、携带方便、使用简单等优点,在嵌入式系统当中,一般作为独立的存储介质。Linux内核已经支持s3c2416的hsmmc控制器,可以支持mmc卡、sd卡等的读写。原创 2017-04-23 01:11:44 · 1642 阅读 · 0 评论 -
Linux开发十四_ohci驱动
usb接口简单、即插即用、支持热插拔等优点,在各种场合已经大量使用,在嵌入式系统中,也常常需要通过usb外接u盘、键盘、鼠标等设备。Linux内核已经支持usb主机控制协议ohci,可以支持u盘、键盘、鼠标等usb设备。原创 2017-04-23 01:15:35 · 725 阅读 · 0 评论 -
Linux开发十五_lcd驱动
lcd能够支持彩色图像的显示和视频的播放,是一种很重要的输出设备,在一些嵌入式人机交互系统中,也往往需要lcd进行显示。Linux内核已经支持了s3c2416的lcd控制器。原创 2017-04-23 01:19:21 · 1896 阅读 · 0 评论 -
Linux开发十六_nand驱动
nand flash具有大容量、改写速度快、接口简单等优点,适用于大量数据的存储,为固态大容量存储提供了廉价有效的解决方案。Linux内核已经支持s3c2416的nand控制器,可以支持各种容量的nand flash。原创 2017-04-23 01:23:37 · 523 阅读 · 0 评论 -
Linux开发十七_yaffs文件系统
nand flash作为市面上最主要的非易失性闪存技术之一,应用在各种固态大容量存储解决方案中。由于nand flash自身的特点,nand存储器往往需要一款专用的nand文件系统进行管理。开源的yaffs文件系统由于其优异的性能,在nand flash中受到广泛的应用。原创 2017-04-23 01:26:16 · 4106 阅读 · 0 评论 -
linux设备树启动
在早期的arm linux内核中,板级的细节信息使用代码的形式,存放在arch/arm目录中,这些板级代码只对相应的开发板有用,却被硬编码进linux内核,显然这不是一种好的方法。Device Tree是一种描述硬件的数据结构,它包含了板级硬件细节信息,通过Device Tree,可以把硬件信息传递给内核,而不需要再硬编码了。原创 2017-09-03 11:34:32 · 4564 阅读 · 3 评论