arm-linux

http://armboard.taobao.com/

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  512 随笔 :: 0 文章 :: 48 评论 :: 115万 阅读
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

08 2010 档案

摘要:android 系统关机,重启 1.android系统的关机,重启代码位于frameworks/base/core/jni/android_os_Power.cpp,里面有static void android_os_Power_shutdown(JNIEnv *env, jobject clazz){/*关机*/ sync();#ifdef HAVE_ANDROID_OS reboot(RB_POWER_OFF);#endif}static void android_os_Power_reboot(JNIEnv *env, jobject clazz, jstring reason){/*重 阅读全文
posted @ 2010-08-31 21:52 arm-linux 阅读(795) 评论(0) 推荐(0) 编辑

摘要:简介休眠/唤醒在嵌入式Linux中是非常重要的部分,嵌入式设备尽可能的进入休眠状 态来延长电池的续航时间.这篇文章就详细介绍一下Linux中休眠/唤醒是如何工作 的, 还有Android中如何把这部分和Linux的机制联系起来的.国际化English Version: link中文版: link作者: zhangjiejing <kzjeef#gmail.com> Date: 2010-04-07, http://www.thinksrc.com版本信息Linux Kernel: v2.6.28Android: v2.0对于休眠(suspend)的简单介绍在Linux中,休眠主要分 阅读全文
posted @ 2010-08-31 14:25 arm-linux 阅读(5397) 评论(1) 推荐(0) 编辑

摘要:嵌入式Linux之我行,主要讲述和总结了本人在学习嵌入式linux中的每个步骤。一为总结经验,二希望能给想入门嵌入式Linux的朋友提供方便。如有错误之处,谢请指正。共享资源,欢迎转载:http://hbhuanggang.cublog.cn 一、开发环境主 机:VMWare--Fedora 9 开发板:Mini2440--64MB Nand, Kernel:2.6.30.4 编译器:arm-linux-gcc-4.3.2二、背景知识1. LCD工作的硬件需求: 要使一块LCD正常的显示文字或图像,不仅需要LCD驱动器,而且还需要相应的LCD控制器。在通常情况下,生产厂商把LCD驱动器会以CO 阅读全文
posted @ 2010-08-30 19:14 arm-linux 阅读(2765) 评论(1) 推荐(2) 编辑

摘要:一、FrameBuffer的原理 FrameBuffer 是出现在 2.2.xx 内核当中的一种驱动程序接口。 Linux是工作在保护模式下,所以用户态进程是无法象DOS那样使用显卡BIOS里提供的中断调用来实现直接写屏,Linux抽象出 FrameBuffer这个设备来供用户态进程实现直接写屏。Framebuffer机制模仿显卡的功能,将显卡硬件结构抽象掉,可以通过 Framebuffer的读写直接对显存进行操作。用户可以将Framebuffer看成是显示内存的一个映像,将其映射到进程地址空间之后,就可以直接进行读写操作,而写操作可以立即反应在屏幕上。这种操作是抽象的,统一的。用户不必关心物 阅读全文
posted @ 2010-08-30 10:11 arm-linux 阅读(17725) 评论(0) 推荐(1) 编辑

摘要:1、 键入S R500查找R500,并且回车,PADS Logic将自动切换元件所在页面,并将光标定位在元件附近。2、 双击R500,元件特性(Part Properties)对话框出现后,在元件类型(Part Type)区域选择改变类型(Change Type)按钮,选择改变类型对话框将出现。3、 选择要改变的元件后,选择OK.。4、 相同的方法可以在参考编号(Reference Designator)中改变元件名称 阅读全文
posted @ 2010-08-28 16:23 arm-linux 阅读(1093) 评论(0) 推荐(0) 编辑

摘要:grub2配置 grub2-mkconfig -o /boot/grub2/grub.cfg 自动生成一个grub2配置文件。grub2-setup /dev/sda 这使用默认的文件向设备上灌入grub。 如果出现如下错误: grub-probe:error: Cannot finda GRUB drive for /dev/sda1 请执行:grub2-install--recheck /dev/sda 这个命令会修复上述错误。 grub1.9等后期版本也有类似grub2的上述命令,用法基本相同。 update-grub或者update-grub2 命... 阅读全文
posted @ 2010-08-26 18:01 arm-linux 阅读(1199) 评论(0) 推荐(0) 编辑

摘要:作者: 刘鹏 日期: 2008-12-27 本文分析了frame buffer 设备驱动的主要数据结构,在此基础上介绍了LCD驱动程序的开发。 基本原理通过 framebuffer ,应用程序用 mmap 把显存映射到应用程序虚拟地址空间,将要显示的数据写入这个内存空间就可以在屏幕上显示出来; 驱动程序分配系统内存作为显存;实现 file_operations 结构中的接口,为应用程序服务;实现 fb_ops 结构中的接口,控制和操作 LDC 控制器; 驱动程序将显存的起始地址和长度传给 LCD 控制器的寄存器 (一般由 fb_set_var 完成) , LDC 控制器会自动的将显存中的数据显 阅读全文
posted @ 2010-08-23 09:21 arm-linux 阅读(442) 评论(0) 推荐(0) 编辑

摘要:6.2.2 墙上时间墙上时间,在系统启动过程中根据实时钟(RTC)芯片保存数据进行初始化,在系统运行期间由系统时钟维护并在合适的时刻和RTC芯片进行同步。墙上时间存储于系统核心变量xtime中,该变量记录了现实世界中的年月日格式的时间,以便内核对某些对象和事件作时间标记,如记录文件的创建时间、修改时间、上次访问时间,或者供用户进程通过系统调用来使用。内核中使用struct timespec类型的变量xtime来记录墙上时间,该变量在文件src/kernel/time.c中的第564行声明如下:struct timespec xtime __attribute__ ((aligned (16)) 阅读全文
posted @ 2010-08-21 12:39 arm-linux 阅读(923) 评论(0) 推荐(0) 编辑

摘要:1、一个年轻人,如果三年的时间里,没有任何想法,他这一生,就基本这个样子,没有多大改变了。2、成功者就是胆识加魄力,曾经在火车上听人谈起过温州人的成功,说了这么三个字,“胆子大”。这其实,就是胆识,而拿得起,放得下,就是魄力。3、这个世界,有这么一小撮的人,打开报纸,是他们的消息,打开电视,是他们的消息,街头巷尾,议论的是他们的消息,仿佛世界是为他们准备的,他们能够呼风唤雨,无所不能。你的目标,应该是努力成为这一小撮人。4、如果,你真的爱你的爸妈,爱你的女朋友,就好好的去奋斗,去拼搏吧,这样,你才有能力,有经济条件,有自由时间,去陪他们,去好好爱他们。5、这个社会,是快鱼吃慢鱼,而不是慢鱼吃快 阅读全文
posted @ 2010-08-21 12:24 arm-linux 阅读(683) 评论(0) 推荐(0) 编辑

摘要:Android主要有6部分 Applications (java)-------------------------------- FrameWork (java)===================================== | Core Libraries external Lib | -------------- | dalvik (jvm) |----------------------------------- HAL==================================== Linux Kernel 第一部分 : Kernel 先把kernel的代码拉下来 阅读全文
posted @ 2010-08-20 16:19 arm-linux 阅读(801) 评论(0) 推荐(0) 编辑

摘要:公司作一个嵌入式产品,用ARM内核,LINUX操作系统(不是uclinux)。我最近的工作是把一个原来作好的模块(用串口来通信)挂到系统上,通过串口来控制该模块的一系列工作,并要求 作成单独的驱动程序(不是通过应用程序来控制)。同时也想借此熟悉LINUX下设备驱动程序的开发方法。我们买的别的公司的开发板,LINUX现在已经能 跑起来,但技术支持和文档基本没有。最近刚开始学习LINUX,算是有了一些了解,但对TTY设备、CONSOLE、串口之间的关系觉得比较混乱。这里有 几个问题请教: 1、LINUX下TTY、CONSOLE、串口之间是怎样的层次关系?具体的函数接口是怎样的?串口是如何被调用的? 阅读全文
posted @ 2010-08-19 22:43 arm-linux 阅读(10624) 评论(0) 推荐(1) 编辑

摘要:ARM开发总结的小知识 字节 8位半字 16位字 32位Code, RO-dataRW-data,ZI-dataCode为程序代码部分RO-data 表示 程序定义的常量 const temp;RW-data 表示 已初始化的全局变量ZI-data 表示 未初始化的全局变量Program Size: Code="18248" RO-data=320 RW-data=260 ZI-data=3952Code, RO-data,RW-data ..............flashRW-data, ZIdata...................RAM初始化时RW-data从 阅读全文
posted @ 2010-08-18 11:52 arm-linux 阅读(839) 评论(0) 推荐(0) 编辑

摘要:[基础知识]什么叫做DMA?DMA=Direct Memory Access。这是一种通过硬件实现的数据传输机制。简单的说,就是不在CPU的参与下完成数据的传输。[/基础知识]不太明白?我举个简单的例子:比如有个数组a,我希望把这个数组中的内容传输到另一个数组b中。我们假设这两个数组都是一样大。比如int a[10000];int b[10000];。那么我可以这样做:[code=c]for(int x=0;x<sizeof(a)/sizeof(int);x++){ b[x]=a[x];}[/code]循环将数组中的每个元素进行传递。这是最简单的一种方法,也是最容易理解的方法。不过这种方 阅读全文
posted @ 2010-08-18 09:32 arm-linux 阅读(5013) 评论(0) 推荐(0) 编辑

摘要:对于一般的嵌入式系统来讲,考虑到系统成本,运行速度等因素,往往联合使用好几种存储器件。在下面讲到的例子中,是我在开发中用到的一个 ARM9EJ 的处理器,系统中采用了SDRAM, ROM, Nand FLASH, ITCM ,DTCM 等。 SDRAM: 程序正常运行时所在的存储器, 物理地址 0x24000000 - 0x24800000 (以8M 为例); ROM: 复位后, ARM 从 ROM 启动, ROM 是只读的,出厂时就烧好了,不可更改,正常运行时,物理地址: 0x2C000000 - 0x2C006000 (24KB); Nand FLASH: 外接存储器件,正常运行的程序会. 阅读全文
posted @ 2010-08-18 09:06 arm-linux 阅读(758) 评论(0) 推荐(0) 编辑

摘要:在ourdev上看到一个帖子,深有感触,cpoy下来。不知道咋回事,2008年毕业的时候只想三年月薪过万,2009后来想有100平米的房子,现在开始想住复式楼,并且有一辆车开开,即使是QQ。嘿嘿。 最近一直迷茫,不知道将来的路怎么走。毕业第一年还是蛮单纯,学了点基础,但是越接触现实的社会发现这个世界真TMD疯狂,发现技术完全不是大学想的那回事。高高的房价让人郁闷,月薪10K,啥也不是;打工还能有多少上涨空间?看看周围的人,看看在公司居功至伟的总监,月薪还不到15K,忙的像条狗,而年华易逝,头发开始脱落。 一次和总监出差,谈起工资的事情,他知道我已经有了想法,就不停地安慰我,他说每个老板都是这样 阅读全文
posted @ 2010-08-17 19:50 arm-linux 阅读(274) 评论(0) 推荐(0) 编辑

摘要:Python关于设计模式的书比较少,至少中文版比较少。网上有几篇讲Python设计模式的文章,但还太少。因此我在这里再写几篇。 为了区别与其他关于Python设计模式的文章,因此本系列就叫"良少版Python设计模式"。以免毁了其他关于Python设计模式作者的清誉啦:) 工厂方法模式 classA(object): def__init__(self): print"A new" object.__init__(self) classB(object): def__init__(self): print"B new" o... 阅读全文
posted @ 2010-08-17 12:30 arm-linux 阅读(210) 评论(0) 推荐(0) 编辑

摘要:己从事嵌入式系统开发有好多年了,在此想与大家分享我对于嵌入式开发的一点心得与体会。 先大致说一说我的工作经历。97年毕业后做了两年的电气与电子设计与开发,这一时期,我做过电路原理图的设计和PCB板的设计。从99年开始,我进入了软件行业。第一次做嵌入式开发是在2000年,在随后的六年多的时间里,我差不多做过整个操作系统的组件。一开始用的是uC/OSRTOS,熟悉它的人知道,它是一个微内核,提供了任务的调度、Mutex、Semaphore等基本的功能,但是像TCP协议栈、文件系统、堆管理(指malloc/和free)这些功能都没有,当然也包括没有相应的硬件驱动模块,如PCI、串口、I2C、IDE硬 阅读全文
posted @ 2010-08-15 14:53 arm-linux 阅读(5359) 评论(0) 推荐(0) 编辑

摘要:自己在看globalfifo驱动的时候看得不是很明白,有些地方没搞懂,今天有幸看到论坛上一个帖子,把我没搞懂的都搞懂了,摘录下来供参考!=============================我是分割线==============================LZ:/*globalfifo读函数*/static ssize_t globalfifo_read(struct file *filp, char __user *buf, size_t count,loff_t *ppos){int ret;struct globalfifo_dev *dev = filp->private 阅读全文
posted @ 2010-08-13 15:31 arm-linux 阅读(546) 评论(0) 推荐(1) 编辑

摘要:本文作者(院 浩),请您在阅读本文时尊重作者版权。[摘要]Linux是一个多用户多任务的操作系统,Linux中实现了对多个进程公平、高效的调度,并不是采用单一的调度策略,而是几种调度策略有机地综合应用。[关键词] 进程调度 优先级 时间片轮转 实时进程在任何一种操作系统中,进程调度一直是一个核心问题,进程调度策略的选择对整个系统性能有至关重要的影响,一个好的调度算法应该考虑很多方面:公平、有效、响应时间、周转时间、系统吞吐量等等,但这些因素之间又是相互矛盾的,最终的取舍根据系统要达到的目标而定,本文以Linux操作系统为例,分析其进程调度策略,以期对进程调度过程有更深层次的认识。一、 Linu 阅读全文
posted @ 2010-08-13 15:19 arm-linux 阅读(1102) 评论(0) 推荐(0) 编辑

摘要:进程调度依据 调度程序运行时,要在所有可运行状态的进程中选择最值得运行的进程投入运行。选择进程的依据是什么呢?在每个进程的task_struct结构中有以下四项:policy、priority、counter、rt_priority。这四项是选择进程的依据。其中,policy是进程的调度策略,用来区分实时进程和普通进程,实时进程优先于普通进程运行;priority是进程(包括实时和普通)的静态优先级;counter是进程剩余的时间片,它的起始值就是priority的值;由于counter在后面计算一个处于可运行状态的进程值得运行的程度goodness时起重要作用,因此,counter也可以.. 阅读全文
posted @ 2010-08-13 15:14 arm-linux 阅读(852) 评论(0) 推荐(0) 编辑

摘要:Linux使用的是基于运行级(run-levels)概念的称为SysVinit的专用启动工具。它在不同的系统上可能是完全不一样的, 所以不能认为一个脚本在某个Linux发行版上工作正常。 SysVinit(从现在开始我们称之为"init")以运行级的模式来工作,一般有7(从0到6)个运行级(实际上可以有更多的运行级,但都是用于特殊情况而且一般使用不到。参见 init(8)以获得更多信息),每个运行级对应于一套设定好的任务,当启动一个运行级的时候, 计算机就需要执行相应的任务。默认的运行级是 3,下面是对不同运行级的描述:0:关闭计算机1:单用户模式2:无网络多用户模式3:. 阅读全文
posted @ 2010-08-11 10:46 arm-linux 阅读(5668) 评论(1) 推荐(1) 编辑

摘要:qemu-nbd在有的系统上叫kvm-nbd,qemu-nbd-xen等。基本上都一样啦。 用qemu-nbd实现mount虚拟硬盘到Host上的功能,需要这么做: rmmod nbd modprobenbd max_part=8 因为默认,nbd的增加分区的功能是关闭的,需要指定max_part这个参数。这个参数指定了一个nbd设备可以有多少个分区。 qemu-nbd --connect=/dev/nbd0 ./testxp.img 现在已经在localhost的1024端口上安装上该设备了。 ls/dev/ | grep nbdnbd0nbd0p1 上面这样... 阅读全文
posted @ 2010-08-09 11:15 arm-linux 阅读(2833) 评论(0) 推荐(0) 编辑

摘要:大排挡老板为保护陌生女子不被骚扰杀人http://msn.ynet.com/view.jsp?oid=68174674&pageno=1 为勇士祝福,愿好人一生平安,无病无灾! 应该把那五个人全宰了!杀一个是杀,杀五个也是杀! 人渣早死早超生,也是功德一件! 阅读全文
posted @ 2010-08-06 11:39 arm-linux 阅读(262) 评论(0) 推荐(0) 编辑

摘要:声明一下,本人无意挑起语言纷争,只是谈谈自己的想法。 我也研究过Ruby,感觉它太繁复了,语法太多,语法糖太多,有太多简写。 我蛮久没玩Ruby了,看到这样的代码完全看不懂了。classCustomer<ActiveRecord::Basehas_many:orders,:dependent=>:destroyend也不想看懂了。 刚才又看了一下ruby官网上的一篇文章:To Ruby From Python。这篇文章也太能吹了,颠倒黑白,极尽倭寇无耻之能事!地址:http://www.ruby-lang.org/en/documentation/ruby-from-other-l 阅读全文
posted @ 2010-08-04 23:06 arm-linux 阅读(2255) 评论(3) 推荐(0) 编辑

点击右上角即可分享
微信分享提示