自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

咕唧咕唧shubo.lk的专栏

不在乎我拥有多少,而是我奉献多少!

  • 博客(23)
  • 资源 (11)
  • 收藏
  • 关注

转载 串烧

<br />事物总有个核心,复杂的事物总可以模块化、层次化, 嵌入式Linux也如此。学习嵌入式Linux困难,主要因为涉及知识和概念过多,即比较复杂,所以学习嵌入式Linux的就需要找到核心,需要模块化,需要进行层次划分。<br /><br />  嵌入式Linux系统做模块化处理就是可划分为Bootloader(引导程序),Kernel(内核),fs(文件系统),Shell(命令行界面),Gui(图形库)和 Embeded Sql(嵌入式数据库)等。以上就是嵌入式Linux系统的7个重要模块,通过这些就

2010-06-28 18:04:00 906

原创 CONST 精解

<br />C中CONST的使用: <br />  const是一个C语言的关键字,它限定一个变量不允许被改变。使用const在一定程度上可以提高程序的安全性和可靠性,另外,在观看别人代码的时候,清晰理解const所起的作用,对理解对方的程序也有一些帮助。 <br />  虽然这听起来很简单,但实际上,const的使用也是c语言中一个比较微妙的地方,微妙在何处呢?请看下面几个问题。 <br />  问题:const变量 & 常量 <br />  为什么下面的例子在使用一个const变量来初始化数组,ANSI

2010-06-26 19:45:00 977

原创 linux进程控制

linux进程控制-wait() #include /* 提供类型pid_t的定义 */#include pid_t wait(int *status) 进程一旦调用了wait,就立即阻塞自己,由wait自动分析是否当前进程的某个子进程已经退出,如果让它找到了这样一个已经变成僵尸的子进程,wait就会收集这个子进程的信息,并把它彻底销毁后返回;如果没有找到这样一个子进程,wait就会一直阻塞在这里,直到有一个出现为止。参数status用来保存被收集进程退出时的一些状态,它是一个指向int类型

2010-06-26 18:38:00 944

原创 void

<br />1.概述<br />  本文将对void关键字的深刻含义进行解说,并详述void及void指针类型的使用方法与技巧。<br />  2.void的含义<br />  void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。<br />  void几乎只有“注释”和限制程序的作用,因为从来没有人会定义一个void变量,让我们试着来定义:<br />  void a;<br />  这行语句编译时会出错,提示“illegal use of type 'vo

2010-06-24 23:50:00 1015

原创 void指针

void指针<br />指针有两个属性:指向变量/对象的地址和长度<br />但是指针只存储地址,长度则取决于指针的类型 <br />编译器根据指针的类型从指针指向的地址向后寻址 <br />指针类型不同则寻址范围也不同,比如: <br />int*从指定地址向后寻找4字节作为变量的存储单元 <br />double*从指定地址向后寻找8字节作为变量的存储单元 <br /><br />1.void指针是一种特别的指针 <br />   void *vp <br />  //说它特别是因为它没有类型 <br

2010-06-24 23:45:00 994

原创 grub

什么是grub grub 是一个多重启动管理器。grub是GRand Unified Bootloader的缩写,它可以在 多个操作系统共存时选择引导哪个系统。它可以引导的操作系统包括Linux,FreeBSD,So laris,NetBSD,BeOSi,OS/2,Windows95/98,Windows NT,Windows2000。它可以载入操作系 统的内核和初始化操作系统(如Linux,FreeBSD),或者把引导权交给操作系统(如Win dows 98)来

2010-06-19 19:32:00 938

原创 大赞此文

<br />本文从以下几个方面粗浅地分析u-boot并移植到FS2410板上:<br />1、u-boot工程的总体结构<br />2、u-boot的流程、主要的数据结构、内存分配。<br />3、u-boot的重要细节,主要分析流程中各函数的功能。<br />4、基于FS2410板子的u-boot移植。实现了NOR Flash和NAND Flash启动,网络功能。 <br />这些认识源于自己移植u-boot过程中查找的资料和对源码的简单阅读。下面主要以smdk2410为分析对象。<br /> <br /

2010-06-19 19:10:00 5065

转载 ARM汇编伪指令 .word

ARM汇编伪指令 .word  ARM汇编伪指令 .word<br /><br />经常碰到那些以“.”打头的一些令人头疼的伪指令, <br />至于.globl _start .balign .align .data .text等等就算了,最最bt的如下: <br /><br />_undefined_instruction: .word undefined_instruction <br /><br />这个.word令人费解。网上的技术人员都不屑回答,说请参考GNU ASM。我去看了,对于.word解

2010-06-19 17:14:00 15126 1

转载 U-Boot 1.1.6 基于S3C44B0的移植

U-Boot 1.1.6 基于S3C44B0的移植<br /><br /><br />说明1:本文档基于hfrk 的ARM7 S3C44B0 开发板配置平台。<br />说明2:U-Boot 1.1.6 的移植,基于ARM7 S3C44B0的hfrk U-Boot 1.1.1能够正常工作的包裹提取适当文件合并至U-Boot 1.1.6中,并适当修改Makefile实现。<br /><br />提供U-Boot 1.1.6 -MQ问题的解决方案。<br />提供U-Boot 1.1.6 的测试与修改方案。<b

2010-06-19 16:15:00 1822

转载 MCU 中断划分

<br /><br /><br /><br />mcu由于内部资源的限制,软件设计有其特殊性,程序一般没有复杂的算法以及数据结构,代码量也不大, 通常不会使用 OS (Operating System), 因为对于一个只有 若干K ROM, 一百多byte RAM 的 mcu 来说,一个简单OS 也会吃掉大部分的资源。<br /><br /> <br /><br />对于无 os 的系统,流行的设计是主程序(主循环 ) + (定时)中断,这种结构虽然符合自然想法,不过却有很多不利之处,首先是中断可以在主程序

2010-06-19 16:05:00 1875

原创 uCLinux LINUX区别

<br />对uCLinux来说,其设计针对没有MMU的处理器,不能使用处理器的虚拟内存管理技术。uCLinux仍然采用存储器的分页管理,系统在启动时把实际存储器进行分页。在加载应用程序时程序分页加载。但是由于没有MMU管理,所以实际上uCLinux采用实存储器管理策略。uCLinux系统对于内存的访问是直接的,所有程序中访问的地址都是实际的物理地址。操作系统对内存空间没有保护,各个进程实际上共享一个运行空间。一个进程在执行前,系统必须为进程分配足够的连续地址空间,然后全部载入主存储器的连续空间中。<br

2010-06-18 15:48:00 5001

转载 Linux和uClinux比较分析

<br />Linux和uClinux比较分析 <br />  标准Linux是针对有MMU的处理器设计的。在这种处理器上,虚拟地址被送到MMU,把虚拟地址映射为物理地址。通过赋予每个任务不同的虚拟-物理地址转换映射,支持不同任务之间的保护。        uClinux是针对控制领域的嵌入式linux操作系统,它从Linux 2.0/2.4内核派生而来,沿袭了主流Linux的绝大部分特性。适合不具备内存管理单元(MMU)的微处理器/微控制器。没有MMU支持是uClinux与主流Linux的基本差异。   

2010-06-18 15:44:00 1297

转载 解压tar包

linux 基础知识 解压tar包(1)解压bz2后缀的tar包:<br />bzip2 -d   gcc-4.1.0.tar.bz2 <br />---上面解压完之后执行解压tar包命令.<br />(2) http://linux.chinaunix.net/bbs/archiver/tid-1014580.html<br />tar时加一个参数m<br />tar xjmvf <br />//使得 时间戳 错误没有<br /><br />(3)搞定tar包:<br />一、 解析Linux应用软件安装

2010-06-18 15:15:00 5949

原创 动态链接库

<br />库有动态与静态两种,动态通常用.so为后缀,静态用.a为后缀。例如:libhello.so libhello.a <br />为了在同一系统中使用不同版本的库,可以在库文件名后加上版本号为后缀,例如: libhello.so.1.0,由于程序连接默认以.so为文件后缀名。所以为了使用这些库,通常使用建立符号连接的方式。 <br />ln -s libhello.so.1.0 libhello.so.1 <br />ln -s libhello.so.1 libhello.so <br />使用库

2010-06-17 18:19:00 1036

原创 动态链接和动态链接库

动态链接(Dynamic Linking)是相对于静态链接(Static Linking)而言的。程序设计中,为了能做到代码和模块的重用,程序设计者常常将常用的功能函数做成库,当程序需要实现某种功能时,就直接调用库文件中的函数,从而实现了代码的重用。早期的程序设计中,可重用的函数模块以编译好的二进制代码形式放于静态库文件中,在MS的操作系统中是Lib为后缀的文件。程序编写时,如果用户程序调用到了静态库文件中的函数,则在程序编译时,编译器会自动将相关函数的二进制代码从静态库文件中复制到用户目标程序,与目标程序

2010-06-17 17:55:00 942

原创 何为NFS

Network    File    System     NFS 是由SUN公司发展, 并於1984年推出, NFS是一个RPC service ,它使我们能够达到档案的共享, 它的设计是为了在不同的系统间使用, 所以它的通讯协定设计与主机及作业系统无关.当使用者想用远端档案时只要用"mount"就可把remote档案系统挂接在自己的档案系统之下,使得远端的档案使用上和local机器的档案没两样. machine A machine B / / bin etc usr bin etc usr man ma

2010-06-17 17:29:00 775

转载 BUSYBOX

<br />busybox<br />  BusyBox 是标准 Linux 工具的一个单个可执行实现。BusyBox 包含了一些简单的工具,例如 cat 和 echo,还包含了一些更大、更复杂的工具,例如 grep、find、mount 以及 telnet。有些人将 BusyBox 称为 Linux 工具里的瑞士军刀.简单的说BusyBox就好像是个大工具箱,它集成压缩了 Linux 的许多工具和命令。<br />  1、BusyBox 的诞生<br />  BusyBox 最初是由 Bruce Pere

2010-06-17 16:40:00 859

原创 线程进程的区别

<br />进程和线程都是由操作系统所体会的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性。进程(Process)和线程(Thread)的区别在于:     线程的划分尺度小于进程,使得多线程程序的并发性高。     线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。     进程是指在系统中正在运行的一个应用程序;线程是系统分配处理器时间资源的基本单元,或者说进程之内

2010-06-15 16:37:00 779

转载 嵌入式系统中的位置无关代码

ARM位置无关代码设计规范<br />/*******************************************/<br />参考:ARM的位置无关程序设计在bootloader中的应用.黄振华<br />/*******************************************/<br />位置无关代码(PIC)在嵌入式系统设计中具有很重要的作用,尤其是在裸机状态下bootloader程序以及进行内核初始化设计;利用PIC也可以构建高效的动态链接库。<br />概念<br />

2010-06-15 16:00:00 1870

转载 SDRAM

SDRAM工作过程:<br /><br />1,上电稳定后经过8个刷新周期,进入模式寄存器设置(MRS),确定芯片的工作模式,CL,BL,突发传输方式。  <br /><br />2,行有效,同时进行了片选和BANK选择工作。CS RAS有效 CAS WE无效,地址线和BA上选择相应的BANK和行(有些文档中将这两种都归为地址线,BA为地址的最高位)。  <br /><br />3,列读写,当行有效后,选择需要的列进行读或写操作,CAS有效,RAS无效,地址线上为列地址,WE信号决定了究竟是读还是写操作。 

2010-06-13 19:37:00 1118

原创 44b0 IIC24cXX读问题分析

<br />    貌似有一部分人在IIC的读部分碰到问题,或许是有BUG你没发现。也许这些问题只有我这个菜鸟才会碰见,不过我还是要说说,希望能帮到像我一样的菜鸟。这一部分属于裸奔,干操作系统的同志可以避开了。 44b0的IIC控制器感觉跟其他片子有点不同。因为在读的时候需要对IICCDS读两次才能读出有效的数据。至于第一次读出的数据是什么呢? 仿真了多次,的确就是写在IICDS的24Cxx的器件地址。需要首先将他读出之后,再读一次才能接收到有效数据。这种解释正好符合了三星的官方例程。而有些书上则省略了第一

2010-06-11 22:42:00 1243

原创 UART+FIFO+DMA for 44b0

    在搞启用fifo和BDMA的UART时,确实走了不少弯路。昨天一下午的时间我都在用轮询法检测DMA的运行情况,加上BDMA配置上犯了这样那样的错误,昨天一直都在报RUNOVER。总算在昨晚熄灯的最后时刻,停止了溢出,可接包总是丢失。对于这种最稳定的模式,这种现象是不该出现的。    考虑来考虑去,原来是我犯了低级错误。轮询怎么能用在DMA模式呢?而且我保接包数量放在普通函数中计算,通过轮询BDCON的SET位。结果可想而知。本身BDMA的数据传输就不经过CPU,而执行计数函数前又要执行其他函数或中断

2010-06-02 16:31:00 2822

原创 基于DMA的UART通讯 for 44B0

文章首先介绍了UART通讯时常采用的查询接收方式、中断接收方式的缺点,介绍了S3C44B0X处理器中通过UART口,采用DMA方式接收数据的方法以及关键的代码,并分析了采用DMA方式比采用中断方式与查询方式的优点。试验证明,基于DMA的UART通讯,为CPU进一步减轻了负担,提高了通讯的可靠性。 High efficiency UARTcommunication based on DMA controller in ARM processor and its applicationAbstract: Com

2010-06-01 15:32:00 2541

Samsung MFC(Multi Format Codec) Fireware

三星MFC固件,版本从V5-V8支持exynos4412 等高端处理器

2014-07-28

Android Ublox GPS 驱动

Android Gps HAL 修改bug ,实现GPS关键数据解析,支持凯立德,道道通等导航软件。 文档见:http://blog.csdn.net/liukun321

2013-05-02

Android Gps HAL

Android Gps HAL 根据gps_quem.c修改而来的,实现GPS关键数据解析,支持凯立德,道道通等导航软件。 文档见:http://blog.csdn.net/liukun321

2013-05-01

tiny210-u-boot-version4.0

ver4.0的基本功能: 1. SD boot,基于linaro u-boot的SPL功能实现 2. 从SD卡的FAT分区上加载文件到SDRAM 3. 将环境变量保存至SD卡 4. 添加DM9000网卡驱动,开启网络功能(例如:tftp,nfs等) 5. 添加TAB键命令自动补全功能 6.修复bug: 修复bug 1:SD卡保存环境变量出现Writing to MMC(0)... mmc_send_cmd: error during transfer: 0x00208001 mmc write failed。 修复bug 2:每次启动只能保存一次环境变量。 7.添加NandFlash驱动,开启所有Nand cmd。 8.添加Yaffs文件系统烧写支持。 9.修改在SD卡启动及nand启动时对nandflash的烧写为8bit 硬件ECC校验。 10.添加Nandflash启动。 11.添加自动识别Nand or MMC/SD启动。 +12.添加yaffs2文件系统烧写支持。 +13.添加显示Nandflash烧写进度。

2013-01-31

u-boot for tiny210 ver3.1

ver3.1的基本功能: 1. SD boot,基于linaro u-boot的SPL功能实现 2. 从SD卡的FAT分区上加载文件到SDRAM 3. 将环境变量保存至SD卡 4. 添加DM9000网卡驱动,开启网络功能(例如:tftp,nfs等) 5. 添加TAB键命令自动补全功能 6.修复bug: 修复bug 1:SD卡保存环境变量出现Writing to MMC(0)... mmc_send_cmd: error during transfer: 0x00208001 mmc write failed。 修复bug 2:每次启动只能保存一次环境变量。 7.添加NandFlash驱动,开启所有Nand cmd。 8.添加Yaffs文件系统烧写支持。 9.修改在SD卡启动及nand启动时对nandflash的烧写为8bit 硬件ECC校验。 10.添加Nandflash启动。 +11.添加自动识别Nand or MMC/SD启动。

2012-04-08

tiny210-u-boot-version3.0

ver3.0的基本功能: 1. SD boot,基于linaro u-boot的SPL功能实现 2. 从SD卡的FAT分区上加载文件到SDRAM 3. 将环境变量保存至SD卡 4. 添加DM9000网卡驱动,开启网络功能(例如:tftp,nfs等) 5. 添加TAB键命令自动补全功能 6.修复bug: 修复bug 1:SD卡保存环境变量出现Writing to MMC(0)... mmc_send_cmd: error during transfer: 0x00208001 mmc write failed。 修复bug 2:每次启动只能保存一次环境变量。 7.添加NandFlash驱动,开启所有Nand cmd。 8.添加Yaffs文件系统烧写支持。 +9.修改在SD卡启动时对nandflash的烧写为8bit 硬件ECC校验。(nand启动仍为软件ECC) +10.添加Nandflash启动。

2012-04-02

u-boot-for-tiny210-patch-ver2.2

ver2.1升级ver2.2 所需补丁文件 ver2.2的基本功能: 1. SD boot,基于linaro u-boot的SPL功能实现 2. 从SD卡的FAT分区上加载文件到SDRAM 3. 将环境变量保存至SD卡 4. 添加DM9000网卡驱动,开启网络功能(例如:tftp,nfs等) 5. 添加TAB键命令自动补全功能 6.修复bug: 修复bug 1:SD卡保存环境变量出现Writing to MMC(0)... mmc_send_cmd: error during transfer: 0x00208001 mmc write failed。 修复bug 2:每次启动只能保存一次环境变量。 +7.添加NandFlash驱动,开启所有nand cmd。 +8.添加Yaffs烧写支持。

2012-03-18

u-boot for tiny210 ver2.2

ver2.2的基本功能: 1. SD boot,基于linaro u-boot的SPL功能实现 2. 从SD卡的FAT分区上加载文件到SDRAM 3. 将环境变量保存至SD卡 4. 添加DM9000网卡驱动,开启网络功能(例如:tftp,nfs等) 5. 添加TAB键命令自动补全功能 6.修复bug: 修复bug 1:SD卡保存环境变量出现Writing to MMC(0)... mmc_send_cmd: error during transfer: 0x00208001 mmc write failed。 修复bug 2:每次启动只能保存一次环境变量。 +7.添加NandFlash驱动,开启所有nand cmd。 +8.添加Yaffs烧写支持。

2012-03-18

u-boot for tiny210 ver2.1

1. SD boot,基于linaro u-boot的SPL功能实现 2. 从SD卡的FAT分区上加载文件到SDRAM 3. 将环境变量保存至SD卡 4. 添加DM9000网卡驱动,开启网络功能(例如:tftp,nfs等) 5. 添加TAB键命令自动补全功能 +6.修复bug: 修复bug 1:SD卡保存环境变量出现Writing to MMC(0)... mmc_send_cmd: error during transfer: 0x00208001 mmc write failed。 修复bug 2:每次启动只能保存一次环境变量。

2012-03-10

u-boot for tiny210 version2

version2实现的基本功能: 1. SD boot,基于linaro u-boot的SPL功能实现 2. 从SD卡的FAT分区上加载文件到SDRAM 3. 将环境变量保存至SD卡 +4. 添加DM9000驱动,开启网络功能(例如:tftp,nfs等) +5. 添加TAB键命令自动补全功能

2012-03-03

u-boot for tiny210

基本功能: 1. SD boot,基于linaro u-boot的SPL功能实现 2. 从SD卡的FAT分区上加载文件到SDRAM 3. 将环境变量保存至SD卡 等

2012-02-18

空空如也

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

TA关注的人

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