自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

李亚锋老师

顶嵌高级讲师

  • 博客(62)
  • 资源 (3)
  • 收藏
  • 关注

原创 【社区大讲堂】顶嵌与你一起:动手做嵌入式产品

缘起:       EEWORLD与顶嵌合作,重磅推出“顶嵌与你一起:动手做嵌入式产品”。希望通过对一个典型嵌入式产品研发过程进行描述,让初级的嵌入式技术爱好者了解嵌入式开发过程和思路,从而提高学习效率。对于有一定开发经验的工程师,也可以通过线上、线下的互动方式,解决研发过程中面临的实际问题。内容概要:       序       言:如何选取开发板及为什么学习嵌入式;       第一阶段:工具

2009-08-06 15:32:00 2823

原创 深入学习嵌入式Linux知识要点

一.linux理论知识 1.计算机基本理论;2.CPU体系结构;3.内存管理;4.文件系统;5.进程调度;6.Linux常用操作。二.linux驱动知识1.i2c驱动添加使用                 2.spi驱动添加和读写               3.io驱动                          4.dma驱动                    

2009-07-23 10:26:00 2804

原创 深入学习嵌入式linux知识要点

一.linux理论知识 1.计算机基本理论;2.CPU体系结构;3.内存管理;4.文件系统;5.进程调度;6.Linux常用操作。二.linux驱动知识1.i2c驱动添加使用                 2.spi驱动添加和读写               3.io驱动                          4.dma驱动                    

2009-07-23 10:25:00 2635

原创 基于TQ2440开发板的U-boot-1.1.6的start.S代码分析

start.S汇编源文件是U-boot执行的起始代码文件,也是不容易理解的实现部分。执行流程如下:.globl _start  //定义_start是全局标签,其他文件也可以使用。.globl是GNU汇编语法。_start:     b       reset  //跳转到reset标签出执行,由于reset操作是在MMU工作之前/之后都有可能使用,所以这里用b来跳转。

2009-07-23 10:23:00 3126

原创 解答:一个嵌入式新手找工作的困惑!

引用:    欧老师您好, 我学嵌入式有四个月左右了,现在心里很迷茫,我想大多数学嵌入式的同学们可能都有和我一样的感觉,那就是越往里面学,感觉不懂的东西越多,心里越是没底,都没有信心去找工作。即使是学过了的东西,甚至是自己做过的东西,估计面试的时候恐怕很多还是说不出来,因为学这些东西的时候很多都是照着资料弄出来的,比如像U BOOT的移植过程中,加入Nand Flash的驱动,在Linux

2009-07-23 10:21:00 7692 1

原创 如何成为优秀的嵌入式开发工程师

嵌入式已经成为当今IT界主要分支之一,越来越多的人都会从事该行业的工作。该行业涵盖消费类电子、智能手机、数字家电、多媒体、视频编码解码、图像处理、安防监控、工业应用等领域。那么如何才能成为一个优秀的嵌入式开发工程师呢?       除了具备良好的职业素质和踏实认真地学习态度,笔者认为主要需要有两点软件知识与硬件知识。嵌入式开发不同于常见的PC应用开发,你只需要了解编程语言,实现逻辑等纯软件的知

2009-07-23 10:15:00 3801

原创 热烈祝贺顶嵌0907嵌入式实训班开学典礼

 2009年7月16日顶嵌0907嵌入式实训班开学典礼在北京顶嵌紫竹院校区隆重举行,顶嵌多位领导及教职员工出席此次典礼。            开学典礼上,顶嵌负责人李老师向各位同学介绍了顶嵌的优势,同学们也十分认可;教学总监欧老师对嵌入式实训班课程体系进行了详细的介绍,对如何学习嵌入式提出了几点建议,并祝愿大家在今后的学习和工作中取得成功;随后,就业部的张老师对就业所

2009-07-17 11:27:00 2794

原创 Android Intent机制实例详解(1)

Android中提供了Intent机制来协助应用间的交互与通讯,或者采用更准确的说法是,Intent不仅可用于应用程序之间,也可用于应用程序内部的Activity/Service之间的交互。Intent这个英语单词的本意是“目的、意向”等,对于较少从事于大型平台开发工作的程序员来说,这可能是一个不太容易理解的抽象概念,因为它与我们平常使用的简单函数/方法调用,或者上节中提到的通过库调用接口的方式不

2009-07-10 15:02:00 2854

原创 Linux设备驱动程序编写

一   Linux   device   driver   的概念   系统调用是操作系统内核和应用程序之间的接口,设备驱动程序是操作系统内核和机器硬件之间的接口。设备驱动程序为应用程序屏蔽了硬件的细节,这样在应用程序看来,硬件设备只是一个设备文件,   应用程序可以象操作普通文件一样对硬件设备进行操作。设备驱动程序是内核的一部分,它完成以下的功能:   1   对设备初始化和释放。   2  

2009-07-10 11:16:00 2867

原创 Linux系统下驱动程序框架概述

一、linux的设备驱动程序与外界的接口可以分为三个部分:  1.驱动程序与操作系统内核的接口。通过file_operations(include/linux/fs.h)数据结构来完成的。  2.驱动程序与系统引导的接口。这部分利用驱动程序对设备进行初始化。  3.驱动程序与设备的接口。这部分描述了驱动程序如何与设备进行交互,与具体的设备密切相关。  二、根据功能划

2009-07-10 11:14:00 2660

原创 Linux嵌入式系统与硬件平台的关系

一、嵌入式系统设计方法变化的背景        嵌入式系统设计方法的演化总的来说是因为应用需求的牵引和IT技术的推动。        随着微电子技术的不断创新和发展,大规模集成电路的集成度和工艺水平不断提高。硅材料与人类智慧的结合,生产出大批量的低成本、高可靠性和高精度的微电子结构模块,推动了一个全新的技术领域和产业的发展。在此基础上发展起来的器件可编程思想和微处理(器)技术可以用软件来改变和实现

2009-07-10 11:13:00 2809

原创 Linux 2.6 内核中的最新电源管理技术综述

前言        本系列文章将结合近年来不断在各种硬件(包括 CPU、芯片组、PCI Express 等各种最新总线标准以及外设)上新增的节能技术。      从 Linux® 2.6内核及整个 software stack (包括 kernel、middleware 以及各种用户态 utility)如何添加对这些创新的节能技术的支持这一角度,为读者介绍 Linux 操作系统近几年来在电

2009-07-10 11:10:00 2863

原创 Embedded Linux 技术与概念解析

引言       Embedded Linux技术基于开放源码的资源,并且已经是当今最重要的嵌入式应用技术之一。Embedded Linux是烧录在目标装置上的系统,1个Embedded Linux系统包含Linux kernel与 root filesystem 2大部分,Embedded Linux系统到底包含哪些组成要素构成,本文将由概念的层面进行解析。       本文    

2009-07-10 11:09:00 2854

原创 Android Intent机制实例详解

Android Intent机制实例详解Android中提供了Intent机制来协助应用间的交互与通讯,或者采用更准确的说法是,Intent不仅可用于应用程序之间,也可用于应用程序内部的Activity/Service之间的交互。Intent这个英语单词的本意是“目的、意向”等,对于较少从事于大型平台开发工作的程序员来说,这可能是一个不太容易理解的抽象概念,因为它与我们平常使用的简单函数/

2009-07-04 10:43:00 5542 2

原创 最具体的u-boot移植到QT2410E开发板的过程2

  ldr   r2, [r1, #oNFCONF]  bic  r2, r2, #0x800              @ enable chip  str   r2, [r1, #oNFCONF]  mov r2, #0xff         @ RESET command  strb r2, [r1, #oNFCMD]  mov r3, #0                   @ wait

2009-06-23 14:35:00 2865

原创 最具体的u-boot移植到QT2410E开发板的过程1

最具体的u-boot移植到QT2410E开发板的过程U-Boot能够支持多种体系结构的处理器,支持的开发板也越来越多。以S3C2410处理器的开发板为例,我们可以基于SMDK2410移植。开始移植之前,需要先分析一下U-Boot已经支持的开发板,比较出硬件配置最接近的开发板。选择的原则是,首先处理器相同,其次处理器体系结构相同,然后是以太网接口等外围接口。推荐使用官方FTP下载UBOOT源

2009-06-23 14:34:00 2889

原创 Linux常见使用方法

 1.修改linux启动方式(文本方式或xwindow方式)vi /etc/inittab,找到id:x:initdefault:一行,x=3为文本方式 x=5为xwindow方式,重启机器即可生效2.如何退出man?q3.如何察看内核版本号?uname -r4.删除内有文件和子目录的目录?rm -fr dir5.如何查看系统信息?cat /proc/mem

2009-06-23 14:31:00 2711

原创 shell编程的核心内容

  很多LINUX的初学者以前可能用过很多dos的命令,对SHELL这种命令式的编程语言略知一二,但并没有接触很多SHELL的用法,没能真正抓住这种强大的编程语言的内涵,在这编文章里,我们用简短的篇幅使LINUX学习者掌握这门语言。在这篇文章里,我们不会关注SHELL每个命令的具体用法,因为这些在网上查是完全可以搜索出来的,有很多资料可以参考,我们会通过实例直抵SHELL的真谛,关注它的控制结

2009-06-23 14:30:00 2690

原创 嵌入式Linux内核优化裁剪

 嵌入式Linux内核优化裁剪    优化1、取消虚拟内存的支持General setup  --->     [ ] Support for paging of anonymous memory (swap) 优化2、使用默认的IO调度器,取消其他的调度器-*- Enable the block layer  --->      IO Schedulers  --->   Anticipat

2009-06-23 14:28:00 3779

原创 浅谈嵌入式培训行业

浅谈嵌入式培训行业---致对嵌入式行业感兴趣的朋友“嵌入式”这个关键词在IT行业已经属于热门词汇,既然是热门词汇那么就表明很多人对此是非常感兴趣的,此文针对嵌入式行业感兴趣的朋友提供一点建议,希望有所帮助。嵌入式行业目前在国内属于发展前景广阔的朝阳产业,很多专家称为是“后PC”时代,那么很多人不明白什么是后PC时代呢,其实就是说目前嵌入式行业的发展类似于20年前到现在的PC行业

2009-06-15 18:03:00 3104

原创 QT4移植到ARM9开发板

1 编译qte1. 从www.trolltech.com  下载源代码,选择开源版本(非商业版本),选择Qt libraries 4.5 for embedded linux(128M)2. 在源代码目录下执行:3. ./configure –embedded arm -xplatform qws/linux-arm-g++  -no-qt3support -qt-mouse-li

2009-06-15 18:03:00 1769

原创 Android连载之:第三章第二节:Android用户界面

 3.2 Android用户界面这个章节描述怎么实现一个基本的Android界面。它涉及构建屏幕基本元素,怎么在xml(定义文件)内定义屏幕、用你的代码生成、在不同任务你需要操作你的用户接口。Android生成屏幕有三种方式:xml配置生成;通过你自己用户界面接口生成;直接用代码生成。根据MVC原则,UI应该与程序逻辑相分离,因此,在XML中定义UI结构是高度推荐的。此外,

2009-06-15 18:00:00 2337

原创 Linux常见使用方法

 1.修改linux启动方式(文本方式或xwindow方式)vi /etc/inittab,找到id:x:initdefault:一行,x=3为文本方式 x=5为xwindow方式,重启机器即可生效2.如何退出man?q3.如何察看内核版本号?uname -r4.删除内有文件和子目录的目录?rm -fr dir5.如何查看系统信息?cat /

2009-06-15 17:58:00 698

原创 Android核心模块及相关技术

  Android作为一个移动设备的平台,其软件层次结构包括了一个操作系统(OS),中间件(MiddleWare)和应用程序(Application)。根据Android的软件框图,其软件层次结构自下而上分为以下几个层次:    第一、操作系统层(OS)    第二、各种库(Libraries)和Android 运行环境(RunTime)    第三、应用程序框架(Application

2009-06-15 17:57:00 1272

原创 读核感悟-kbuild系统-make bzImage的过程

文章来源:http://www.top-e.org/jiaoshi/class/ 从以上例子中可以看到,内核的编译系统kbuild是个很庞大的系统。但是,它所使用的make和我们平时用的make是一模一样的。kbuild只是通过预定义一些变量(obj-m,obj-y等等)和目标(bzImage ,menuconfig等等),使内核的编译和扩展变得十分方便。我们不妨yy一下kbuild的一些

2009-03-31 21:50:00 3885

原创 读Kernel感悟-kbuild系统-内核模块的编译

Linux内核是一种单体内核,但是通过动态加载模块的方式,使它的开发非常灵活方便。那么,它是如何编译内核的呢?我们可以通过分析它的Makefile入手。以下是一个简单的hello内核模块的Makefile.ifneq ($(KERNELRELEASE),)        obj-m:=hello.oelseKERNELDIR:=/lib/modules/$(shell uname 

2009-03-21 13:32:00 1909

原创 读Kernel感悟-伪装现场-fork()系统调用

文章来源:http://www.top-e.org/jiaoshi/class/不仅进入系统调用时要伪装现场,fork系统调用时返回时也需要伪装现场。因为是“无中生有”。例如在fork创建新进程时,系统要保证新进程与旧进程一样,从相同的代码开始执行。比如:#include#includeint main(){        pid_t pid;

2009-03-09 11:24:00 912

原创 读Kernel感悟-伪装现场-内核线程

文章来源:http://www.top-e.org/jiaoshi/class/众所周知,内核中创建一个内核线程是通过kernel_thread实现的。声明如下:int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags);我们知道,用户态创建线程调用clone(),如果要在内核态创建线程,首先想到的是在内核

2009-03-09 11:21:00 1490

原创 读Kernel感悟-伪装现场-系统调用参数

文章来源:http://www.top-e.org/jiaoshi/class/内核支配了整个计算机的硬件资源,好像一位独裁者,高高在上。他有时候必须像法官一样公正,有时候则必须像狐狸一样狡猾。伪装现场就是他的拿手好戏。系统调用是很特别的函数,因为它里面实现了用户态到内核态的转换。应用程序要创建新进程,不可能在用户态直接调用sys_fork()。这就需要内核为sys_fork()伪装一

2009-02-24 21:43:00 1328

原创 读Kernel感悟-Linux内核启动-链接脚本

文章来源:http://www.top-e.org/jiaoshi/class/一般来说,用户是不需要关心section的具体位置的。在用户态,内核会解析elf可执行文件的各个section,然后把它映射到虚拟地址空间。然而,在内核启动时,一切得从零开始。很多在用户态下应用程序不需要操心的东西,例如映射section的任务不得不由内核自己来完成。上一篇感悟揭示了内核如何建立页表,并且把自身

2009-02-24 21:42:00 1461

原创 Linux内核中EXPORT_SYMBOL的用法

文章来源:http://www.top-e.org/jiaoshi/class/EXPORT_SYMBOL标签内定义的函数对全部内核代码公开,不用修改内核代码就可以在内核模块中直接调用。还可以手工修改内核源代码来导出另外的函数,用于重新编译并加载新内核后的测试。   使用时注意事项:在使用EXPORT_SYMBOL 的.c文件中 需要 #include 文件。//先写函数func (){ .

2009-02-24 21:40:00 1218

原创 我的嵌入式Linux学习之路

 文章来源:http://www.top-e.org/jiaoshi/class/ 03年我毕业于陕西一所普通高校电子信息专业,当时对Linux操作系统一无所知,几乎都没有真正运行过Linux系统,大学毕业后在北京一所大学读了2年的软件工程硕士,也许是学校和专业的原因,我对软件开发有了强烈的兴趣。04年底上研究生期间我找了份实习机会,在Motorola中国电子有限公司做手机测试,由于之前没

2009-02-24 21:38:00 1178

原创 读Kernel感悟-Linux内核启动-开启页面映射

文章来源:http://www.top-e.org/jiaoshi/class/ 在setup的帮助下,我们顺利地从16位实地址模式过渡到32位段式寻址的保护模式。又在arch/i386/boot/compressed/head.S的帮助下实现了内核的自解压,并且从arch/i386/kernel/head.S中的startup_32开始。现在在线性地址0x100000(1M)处开始就是我

2009-02-24 21:35:00 1843 1

原创 读Kernel感悟-Linux内核启动-内核解压缩

 文章来源:http://www.top-e.org/jiaoshi/class/ 这得从vmliux.bin的产生过程说起。从内核的生成过程来看内核的链接主要有三步:第一步是把内核的源代码编译成.o文件,然后链接,这一步,链接的是arch/i386/kernel/head.S,生成的是vmlinux。注意的是这里的所有变量地址都是32位页寻址方式的保护模式下的虚拟地址。通常在

2009-02-16 13:07:00 1161

原创 读Kernel感悟-Linux内核启动-setup辅助程序

文章来源:http://www.top-e.org/jiaoshi/class/ 我们发现,在起点与终点之间,还有几个中转站。最近的一站叫作MBR。BIOS,带你到MBR后,说:“对不起,只能送你到这里了。”那其它几个中转站是什么呢?我们知道,在x86上,保护模式有两种,32位页式寻址的保护模式和32位段式寻址的保护模式。显然,32位页式寻址的保护模式要求系统中已经构造好页表。从16位

2009-02-16 13:05:00 895

原创 读Kernel感悟-Linux内核启动-BIOS

文章来源:http://www.top-e.org/jiaoshi/html/?196.html “真罗嗦,直接告诉我Linux下用glibc库编译出来的C程序真正的入口地址是_start()不就行了么?”臭鸡蛋扑面而来。嗯,我说了我只是想用一种特别的方式来叙述问题。我更看重探索的过程中体现的思考方式以及其中的乐趣。回到我们的主题。Linux内核为什么不是从main函数开始执行?事

2009-02-11 09:58:00 1175

原创 嵌入式C++——关于C++的效率分析

嵌入式C++——关于C++的效率分析顶嵌(TOP-E)|嵌入式linux企业培训|嵌入式Linux就业实训|承接嵌入式项目开发   2008-12-23 17:14:37 作者:顶嵌开源 来源:原创 文字大小:[大][中][小]C++给我们带来了面向对象的支持,近年来在大型的嵌入式项目中经常被采用,甚至有一些较新的操作系统如e

2009-02-05 15:53:00 1359

原创 可重入函数与线程安全函数

可重入函数与线程安全函数顶嵌(TOP-E)|嵌入式linux企业培训|嵌入式Linux就业实训|承接嵌入式项目开发   2009-01-23 12:02:59 作者:顶嵌开源 来源:原创 文字大小:[大][中][小]可重入函数(reentrant function)与线程安全函数(thread-safe function)有时

2009-02-05 15:46:00 1172

原创 读Kernel感悟-Linux内核启动-从hello world说起

内核是从哪里开始执行的呢?几乎任何一本Linux内核源代码分析的书都会给出详细的答案。不过,我试图从一个不同的角度(一个初学者的角度)来叙述,而不是一上来就给出答案。从熟悉的事物入手,慢慢接近陌生的事物,这是比较常见的思路。既然都是二进制代码,那么不妨从最简单的用户态C程序,hello world开始。说不定能找到共同点。恰好我是一个喜欢寻根究底的人。也许,理解了hello world程序的启动过

2009-02-03 17:25:00 1811 1

原创 读Kernel感悟-Linux内核启动-内核的生成

这段时间在看《Linux内核源代码情景分析》,顺便写了一些感悟。读内核源代码是一件很有意思的事。它像一条线,把操作系统,编译原理,C语言,数据结构与算法,计算机体系结构等等计算机的基础课程串起来。        我看内核源代码是用lxr+glimpse(不一定要自己架,可以直接访问校内外的lxr网站)的。如果在windows下也可以用source insight。以下的当前路径为内核源代码路径

2009-02-03 17:21:00 1865 3

Linux常见使用方法

北京顶嵌开源科技有限公司,简称顶嵌或TOP-E。公司秉承“专业、专注、顶尖”的发展理念,致力于嵌入式技术的人才培养,项目开发,技术推广与技术咨询服务。 顶嵌是国内唯一一家专注嵌入式Linux系统高端培训和承接嵌入式项目开发、及嵌入式企业内训为主的公司, 顶嵌核心成员汇集摩托罗拉、三星电子、威盛电子、索尼爱立信等国际知名公司,有多年的实际项目开发经验,大都毕业于北京大学、清华大学等高校。目前顶嵌已与众高校、嵌入式技术企业展开了嵌入式就业人才培养以及嵌入式项目开发的合作。

2009-06-23

最具体的QT4移植ARM9开发板方法

北京顶嵌开源科技有限公司,简称顶嵌或TOP-E。公司秉承“专业、专注、顶尖”的发展理念,致力于嵌入式技术的人才培养,项目开发,技术推广与技术咨询服务。 顶嵌是国内唯一一家专注嵌入式Linux系统高端培训和承接嵌入式项目开发、及嵌入式企业内训为主的公司, 顶嵌核心成员汇集摩托罗拉、三星电子、威盛电子、索尼爱立信等国际知名公司,有多年的实际项目开发经验,大都毕业于北京大学、清华大学等高校。目前顶嵌已与众高校、嵌入式技术企业展开了嵌入式就业人才培养以及嵌入式项目开发的合作。

2009-06-23

s3c2410Linux 2.6按键驱动

s3c2410Linux 2.6按键驱动

2008-12-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除