Linux
FreeBelieve
这个作者很懒,什么都没留下…
展开
-
Linux用户管理(权限修改)/etc/passwd详解
输入vi /etc/passwd 可以查看此文件的内容 。本机内容如下:原创 2014-09-12 16:05:05 · 5176 阅读 · 0 评论 -
uboot-的start.S详细注解及分析
大多数bootloader都分为stage1和stage2两部分,u-boot也不例外。依赖于CPU体系结构的代码(如设备初始化代码等)通常都放在stage1且可以用汇编语言来实现,而stage2则通常用C语言来实现,这样可以实现复杂的功能,而且有更好的可读性和移植性。1、Stage1 start.S代码结构 u-boot的stage1代码通常放在start.S文件中,他用汇编语言写成,其转载 2015-04-06 11:16:20 · 831 阅读 · 0 评论 -
ARM常用汇编指令
ARM汇编程序特点:l 所有运算处理都是发生通用寄存器(一般是R0~R14)的之中.所有存储器空间(如C语言变量的本质就是一个存储器空间上的几个BYTE).的值的处理,都是要传送到通用寄存器来完成.因此代码中大量看到LDR,STR指令来传送值.l ARM汇编语句中.当前语句很多时候要隐含的使用上一句的执行结果.而且上一句的执行结果,是放在CPSR寄存器里转载 2015-04-11 14:48:15 · 726 阅读 · 0 评论 -
Linux makefile 教程 非常详细,且易懂
最近在学习Linux下的C编程,买了一本叫《Linux环境下的C编程指南》读到makefile就越看越迷糊,可能是我的理解能不行。 于是google到了以下这篇文章。通俗易懂。然后把它贴出来,方便学习。 后记,看完发现这篇文章和《Linux环境下的C编程指南》的makefile一章所讲述的惊人的相似,只是这篇文章从一个实例切入,在有些地方比转载 2015-04-07 10:27:21 · 889 阅读 · 0 评论 -
用Device tree overlay掌控Beaglebone Black的硬件资源
简介device tree是linux 3.x开始使用的加载硬件资源的方式,这里说的硬件资源既包括片上的诸如GPIO、PWM、I2C、ADC等资源,也包括外部拓展的如FLASH、LCD等。device tree主要作用是将某个硬件外设与相应的驱动程序进行绑定,关于它在实际使用中的地位可以参考我的日志《嵌入式linux如何操作硬件》。使用时首先需要编写一个.dts文件(device转载 2015-04-07 10:24:03 · 1000 阅读 · 0 评论 -
BeagleBone Black GPIO IRQ 驱动
最近打算把GPIO的中断驱动起来,本打算网上能找到现成的驱动程序,可是找了几个测试都不好使,经过一番研究终于测试好使了,在此分享出来。一、 说明Beaglebone Black开发板自带GPIO以及IRQ等驱动程序,所以为驱动的开发提供了极大的便利,在此主要分析内核自带的库文件中相关的函数以及驱动编写的步骤。二、 IRQ库函数分析 驱动添加的库函数有:#include原创 2015-04-14 10:20:29 · 2639 阅读 · 0 评论 -
BBB的cape和设备树(device tree)的使用
只要你想用BBB做哪怕一丁点涉及到硬件的东西,你就不可避免地要用到cape和device tree的知识。所以尽管它们看起来很陌生而且有点复杂,但还是得学。其实用起来不难的。下面我只讲使用时必须会的内容,不深究其工作原理。文中基本没有废话,请仔细阅读每个字,勿遗漏细节。我们已经知道beagleboard官网上有一些官方的硬件外设,比如lcd显示屏之类的,他们管这些外设叫做cape。其实应该转载 2015-04-17 09:35:12 · 2195 阅读 · 0 评论 -
BBB GPIO驱动分析
一、 说明IO驱动是驱动开发最基础也是很有代表性的,因为IO驱动基本包含了驱动框架中的所有常用函数,例如加载函数、卸载函数、打开函数、关闭函数、IO配置函数,此外还包括设备结构体、存储结构体。具体实现下面分析二、 IO驱动函数分析 设备加载函数: 加载函数主要是实现设备驱动的注册、分配设备号等相关操作,具体实现代码如下:static int __init omap3gpi原创 2015-04-27 14:32:12 · 1172 阅读 · 0 评论 -
BBB IRQ 驱动分析
一、 说明Beaglebone Black开发板自带GPIO以及IRQ等驱动程序,所以为驱动的开发提供了极大的便利,在此主要分析内核自带的库文件中相关的函数以及驱动编写的步骤。二、 IRQ库函数分析 驱动添加的库函数有:#include #include #include #include 其中,库位于/kernel/kernel/include/linux原创 2015-04-27 14:39:38 · 1045 阅读 · 0 评论 -
Linux命令之ifconfig - 网络配置命令
用途说明ifconfig命令常用来显示系统中的网络接口(网卡)信息,也可以用来配置网络接口(configure a network interface),如激活、关闭、设置地址等。在Linux系统中,网卡命名规律:eth0为第一块以太网卡(Ethernet Card),eth1为第二块。lo为环回接口,它的IP地址固定为127.0.0.1,掩码8位。 常用参数格式:转载 2015-03-28 11:31:46 · 887 阅读 · 0 评论 -
U-boot源代码全分析系列(基于PowerPC)
一、概述 U-Boot,全称Universal Boot Loader,是遵循GPL条款的开放源码项目,是从FADSROM、8xxROM、PPCBOOT逐步发展演化而来的。其源码目录、编译形式与Linux内核很相似,事实上,不少U-Boot源码就是相应的Linux内核源程序的简化,尤其是一些设备的驱动程序,这从U-Boot源码的注释中能体现这一点。但是U-Boot不仅仅支持嵌入式Li转载 2015-03-28 12:07:09 · 2757 阅读 · 0 评论 -
Linux下GCC编程入门讲解
一、GCC简介通常所说的GCC是GUN Compiler Collection的简称,除了编译程序之外,它还含其他相关工具,所以它能把易于人类使用的高级语言编写的源代码构建成计算机能够直接执行的二进制代码。GCC是Linux平台下最常用的编译程序,它是Linux平台编译器的事实标准。同时,在Linux平台下的嵌入式开发领域,GCC也是用得最普遍的一种编译器。GCC之所以被广泛采用,是因为它转载 2014-09-12 16:52:28 · 497 阅读 · 0 评论 -
Linux 头文件的位置及简单介绍
在不同版本的内核源码上,头文件所在的位置是不同的,比如说在#include#include#include 是在linux-2.6.29/include/linux下面寻找源文件。#include 是在linux-2.6.29/arch/arm/include/asm下面寻找源文件。#include 是在linux-2.6.29/arch/转载 2015-03-25 09:45:03 · 903 阅读 · 0 评论 -
Beaglebone启动过程
参考文件:1,AM335x ARM Cortex-A8 Microprocessors (MPUs) Technical Reference Manual.pdf;2,am3359.pdf;1,am335x的cpu上电后,会跳到哪个地址去执行?答:芯片到uboot启动流程 :ROM → MLO(SPL)→ uboot.img转载 2015-03-26 16:18:59 · 1318 阅读 · 0 评论 -
u-boot中SPL源代码分析
u-boot中SPL源代码分析本文将使用sama5d3xek SPL实现做为例子,具体代码可查看:https://github.com/voiceshen/u-boot/tree/sama5d3xek_spl_spi_nandu-boot SPL (second program loader), 对许多人来说也说很陌生。下面对此进行一个简单介绍。1. ARM SoC的启转载 2015-03-26 16:24:25 · 717 阅读 · 0 评论 -
AM335x uboot spl分析
AM335x uboot spl分析芯片到uboot启动流程 ROM → SPL→ uboot.img简介 在335x 中ROM code是第一级的bootlader。mpu上电后将会自动执行这里的代码,完成部分初始化和引导第二级的bootlader,第二级的bootlader引导第三级bootader,在ti官方上对于第二级和第三级的bootlader由uboot转载 2015-03-28 12:01:18 · 902 阅读 · 0 评论 -
AM335x nand启动
PC操作系统:(下载)ubuntu 12.04使用的开发板:am335x Beaglebone am335x Beaglebone 开发板使用的操作系统:linux 3.2step1:安装linux开发环境。(下载)ti-sdk-am335x-evm-05.07.00.00-Linux-x86-Install。err1:建议搭配的Ubuntu系统版本是10转载 2015-03-28 12:02:50 · 3360 阅读 · 0 评论 -
AM335X  uboot烧写
原创:http://blog.sina.com.cn/u/2312748742NAND地址如下: +------------+-->0x00000000-> SPL start (SPL copy on 1st block)| || |-->0x0001FFFF-> SPL end | |-->0转载 2015-03-28 12:06:15 · 2193 阅读 · 0 评论 -
AM335x uboot 移植
uBOOT的编译命令直接一次性编译make O=am335x CROSS_COMPILE=arm-arago-linux-gnueabi ARCH=arm am335x_evm配置make ARCH=arm CROSS_COMPILE=arm-arago-linux-gnueabi- am335x_evm_config编译make ARCH=arm CROSS_COMP转载 2015-03-28 12:02:15 · 7686 阅读 · 0 评论 -
jiffies 时间转换
来源:《深入Linux设备驱动程序内核机制》第8章时间管理,本章将讨论这两类时间上的操作的技术细节,设备驱动程序员在掌握了这些幕后的技术之后可以更好地理解设备驱动是如何对时间进行掌控的,当程序中需要对时间进行管理时选择最合适的解决方案。本节为大家介绍时间转换。时间转换有时候,设备驱动程序可能需要将用jiffies表达的时间间隔转化成毫秒ms或者是微秒us的形式,这种情况转载 2015-07-25 16:44:51 · 9250 阅读 · 0 评论