![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux内核
文章平均质量分 78
jiangbo_wei
这个作者很懒,什么都没留下…
展开
-
Linux芯片级移植与底层驱动(基于3.7.4内核)
宋宝华 BarrySong 21cnbao@gmail.com>新浪微博: @宋宝华Barry 1. SoC Linux底层驱动的组成和现状为了让Linux在一个全新的ARM SoC上运行,需要提供大量的底层支撑,如定时器节拍、中断控制器、SMP启动、CPU hotplug以及底层的GPIO、clock、pinctrl和DMA硬件的封装等。定时器节拍、中断控制器、SMP启动和C转载 2013-08-09 11:56:22 · 1286 阅读 · 0 评论 -
C和汇编混合编程及示例
在嵌入式系统开发中,目前使用的主要编程语言是C和汇编,C++已经有相应的编译器,但是现在使用还是比较少的。在稍大规模的嵌入式软件中,例如含有 OS,大部分的代码都是用C编写的,主要是因为C语言的结构比较好,便于人的理解,而且有大量的支持库。尽管如此,很多地方还是要用到汇编语言,例如开机 时硬件系统的初始化,包括CPU状态的设定,中断的使能,主频的设定,以及RAM的控制参数及初始化,一些中断处理方面转载 2013-08-09 14:51:22 · 2442 阅读 · 0 评论 -
TI OMAP MUX configure
Linux下TI omap芯片 MUX 配置分析(以AM335X芯片为例) 在移植内核的时候,通常会遇到引脚复用(MUX)的配置问题。在现在的Linux内核中,对于TI的ARM芯片,早已经有了比较通用的MUX配置框架。这对于许多TI的芯片都是通用的,这次看AM335X的代码顺手写一下分析,以备后用。一、硬件 对于许多TI的芯片来说,引脚复用的配置是在 Co转载 2013-08-09 13:58:34 · 729 阅读 · 0 评论 -
/sys/class/gpio 文件接口操作IO端口(s3c2440)
在嵌入式设备中对GPIO的操作是最基本的操作。一般的做法是写一个单独驱动程序,网上大多数的例子都是这样的。其实linux下面有一个通用的GPIO操作接口,那就是我要介绍的 “/sys/class/gpio” 方式。首先,看看系统中有没有“/sys/class/gpio”这个文件夹。如果没有请在编译内核的时候加入 Device Drivers —> GPIO Support —>转载 2013-08-09 12:22:16 · 569 阅读 · 0 评论 -
kmalloc详解
#include void *kmalloc(size_t size, int flags); 给 kmalloc 的第一个参数是要分配的块的大小. 第 2 个参数, 分配标志, 非常有趣, 因为它以几个方式控制 kmalloc 的行为. 最一般使用的标志, GFP_KERNEL, 意思是这个分配((内部最终通过调用 __get_free_pages 来进行, 它是 GFP_ 前缀的来源转载 2013-08-09 14:08:37 · 619 阅读 · 0 评论 -
Linux设备模型理解
本文从四个方面来总结一些内容: 1.底层数据结构:kobject,kset.2.linux设备模型层次关系:bus_type,device,device_driver.3.集成:PCI设备驱动模型实例及设备,设备驱动注册源码的简单分析. 4.面向对象的思想在linux设备模型中的应用分析. 一、底层数据结构:kobject,kset先说说模型的意义: 总体来说是为了转载 2013-08-09 14:03:36 · 655 阅读 · 0 评论 -
GPIO接口解析
本文提供了一个linux下访问GPIO的约定的概述。这些调用使用gpio_* 命名前缀。没有别的调用会使用这个前缀或是相关的__gpio_*前缀。什么是GPIO? =============== GPIO----“通用目的输入/输出端口”----是一个灵活的软件控制的数字信号。许多种类的芯片都会提供,嵌入式linux开发者和硬件定制者会对转载 2013-08-09 12:08:53 · 3729 阅读 · 0 评论 -
ARM Device Tree起源
1. ARM Device Tree起源Linus Torvalds在2011年3月17日的ARM Linux邮件列表宣称“this whole ARM thing is a f*cking pain in the ass”,引发ARM Linux社区的地震,随后ARM社区进行了一系列的重大修正。在过去的ARM Linux中,arch/arm/plat-xxx和arch/arm/mach转载 2013-08-09 10:57:24 · 767 阅读 · 0 评论 -
Linux下makefile教程
什么是 makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都 为你做了这个工作,但我觉得要作一个好的和 professional的程序员, makefile还是要懂 。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解 HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写 makefile了,会不转载 2013-08-09 14:01:46 · 561 阅读 · 0 评论 -
I-O 端口和 I-O 内存
在驱动程序编写过程中,很少会注意到IO Port和IO Mem的区别。虽然使用一些不符合规范的代码可以达到最终目的,这是极其不推荐使用的。结合下图,我们彻底讲述IO端口和IO内存以及内存之间的关系。主存16M字节的SDRAM,外设是个视频采集卡,上面有16M字节的SDRAM作为缓冲区。 1. CPU是i386架构的情况在i386系列的处理中,内存和外部IO是独立编址,转载 2013-08-09 13:54:13 · 677 阅读 · 0 评论 -
How to port Ubuntu 11.10 to Beagleboard 怎样移植Ubuntu 11.10 到BeagleBoard
How to port Ubuntu to Beagleboard 怎样移植Ubuntu到BeagleBoardThis note followed article named BeagleBoardUbuntu located at http://elinux.org/BeagleBoardUbuntuFollowing method 1 in that articl转载 2013-09-13 17:56:50 · 997 阅读 · 0 评论