Embeded
文章平均质量分 88
gexueyuan
这个作者很懒,什么都没留下…
展开
-
Ubuntu 10.04(32位)上编译Android Gingerbread 2.3.1
前几天下载了Android 2.3.1的源代码并在Ubuntu 10.04(32位)上编译通过。这篇文章简要记录了下载、编译的过程。 关于搭建Android开发环境的文章已经有很多,本文只简要介绍一下,做为备忘。 [ 编译前的准备] 这一步安装获取源代码以及编译所需要的软件,使用如下命令: $ sudo aptitude install git-core gnup转载 2011-11-18 21:15:18 · 910 阅读 · 0 评论 -
还原SD卡启动的真相
前章我们也大致分析了SD卡的启动过程,在具体进行问题的定位及解决的过程中,发现还是有很多不明确的地方,网上的文章也多是人云亦云让我们来一步一步搞清楚S3C6410 SD卡启动的步骤及过程(我这里的开发板为OK6410,256M+1G的配置,SD卡为2G,MMC)一、开发板跳线,从SD卡启动view plaincopy to clipboard查看《O转载 2011-12-06 19:50:55 · 85 阅读 · 0 评论 -
S3C6410开发全纪录(二)《如何计算内存大小,并在UBOOT中调整内存大小》
转自:http://blog.csdn.net/turui/article/details/6634778前章我们已经可以制作出用来启动的SD卡了,并将自己编译的UBOOT烧录到了SD卡中这份UBOOT代码中的内存配置肯定和手头的开发板不一致,这里我们将搞清楚如何修改内存大小,并说清楚内存大小到底是如何计算的一、关于内存大小的计算1)硬件的型号,在飞凌的开发板中12转载 2011-12-06 20:36:12 · 818 阅读 · 0 评论 -
ADR指令的理解
先看一下LDR指令。LDR指令LDR指令的格式为:LDR{条件} 目的寄存器,LDR指令用于从存储器中将一个32位的字数据传送到目的寄存器中。该指令通常用于从存储器中读取32位的字数据到通用寄存器,然后对数据进行处理。当程序计数器PC作为目的寄存器时,指令从存储器中读取的字数据被当作目的地址,从而可以实现程序流程的跳转。该指令在程序设计中比较常用,且寻址方式灵活多样,请读者认真掌原创 2011-12-07 18:55:11 · 9163 阅读 · 0 评论 -
S3C6410中断以及外部中断
6410的中断系统:嵌入式软件里的中断处理,除了中断初始化,主要工作就是编写ISR. 在嵌入式的SOC的CPU里,在CPU里内部会带一些设备模块,它们产生的中断称为内部中断。因为联线比较固定,因此编程比较简单。而且在物理上CPU分离的芯片产生的中断,称为外部中断,外部中断可以联接不同的中断脚上,因此需要对中断IO进行较复杂的配置。 轮询模式是否一无是处?轮询的优原创 2011-12-12 15:27:57 · 3914 阅读 · 6 评论 -
start.S进一步、更详细的、深入的解释和分析
#incl? l config.h这个头文件在u-boot-1.1.6/incl?/linux目录下,执行命令# make smdk2410_config之前,内容如下: #ifndef _LINUX_CONFIG_H#define _LINUX_CONFIG_H/* #incl? */#endif执行make smdk2410_config之转载 2012-04-09 00:04:32 · 1258 阅读 · 0 评论 -
U_BOOT_CMD命令的实现
在UBOOT当中,各个命令是通过U_BOOT_CMD这个宏来定义出来的,其本质其实理解起来也很简单,不过今天也从中学到了一点东西先来看UBOOT当中关于U_BOOT_CMD这个宏的定义:/* 这是定义一个结构的属性,将其放在.u_boot_cmd这个段当中,相当于.data/.bss这些段 */#define Struct_Section __attribute__ ((unused转载 2012-04-09 00:05:40 · 615 阅读 · 0 评论 -
顶层目录下的Makefile
它负责U-Boot整体配置编译。按照配置的顺序阅读其中关键的几行。每一种开发板在Makefile都需要有板子配置的定义。例如smdk2410开发板的定义如下。smdk2410_config : unconfig @./mkconfig $(@:_config=) arm arm920t smdk2410 NULL s3c24x0执行配置U-Boot的命令make smd转载 2012-04-09 00:07:11 · 902 阅读 · 0 评论 -
关于学习DDR2时值得一看的资料
转自:http://blog.chinaunix.net/uid-20543672-id-3030997.html最近在认真研究DDR2芯片的时序和配置过程,这里总结一些关于学习DDR2时值得一看的资料:1、《内存的原理和时序(SDRAM、DDR、DDR-Ⅱ、Rambus_DRAM)》PDF文档,简直是学习DDRx技术的经典教程。刚开始做嵌入式的时候就看了这个文档来学习SDRAM,现在转载 2012-04-08 22:57:08 · 1134 阅读 · 0 评论 -
s3c6410 uboot代码分析
转自:http://hi.baidu.com/__eabi/blog/item/be67533797bc73f014cecb49.html以下用以记录uboot代码的分析过程,目标是s3c6410,如有错误,欢迎指正。强调,内容与三星原厂提供的uboot-1.1.6有更改的地方,因为外接外设的区别,特别是nand_flash、外接网卡芯片和LCD芯片以下纯代码情景分析,请结转载 2012-04-07 21:33:41 · 2333 阅读 · 0 评论 -
ARM常用汇编指令
1.ADD 加法指令 ADD Rx,Rx,#1 ; Rx=Rx+1 ADD Rd,Rx,Rx,LSL #n; Rx=Rx+Rx*(2**n) ADD Rs,PC,#offset; 生成基于PC的跳转指针2.ADC带进位加法指令 ADC和ADD指令联合使用可以实现两个64位的操作数相加。源64位操作数:R1R0,新64位操作数:R3R2转载 2012-10-30 14:55:57 · 1322 阅读 · 0 评论 -
触屏校准&测试程序
Mini2440测试通过:转自:http://www.enjoylinux.cn/bbs/read.php?tid=708触屏校准&测试程序程序功能:1)触屏校准:按下预设的4个坐标点,利用ADC转换功能采集对应物理坐标,得出物理坐标与屏幕像素坐标之间的关系。物理坐标和象素坐标的转换表达式如下:hor_pix = (int)(mul_x * X + add_x)转载 2013-01-08 23:26:59 · 1936 阅读 · 0 评论 -
Microchip编译器XC系列的破解
将下面的代码复制下来,保存为xclm.c,在windows下用mingw编译(推荐Code::Blocks的ide)生成xclm.exe,在linux下直接使用gcc -o xclm命令编译,生成xclm,然后分别替换掉安装目录里面的同名文件即可/**********************************************************************原创 2013-06-26 17:06:02 · 5662 阅读 · 0 评论 -
SBC3530的启动
抽屉里面的一个老板子,插上电源不开机,试着用sd卡启动,发现16G的SD卡无法启动,mksdcard的脚本本身就出错,使用2G的SD卡能够通过启动,有时候启动不了,在windows下格式化一下2G卡的boot分区,就能够启动。但是找不到文件系统,开发板给出的根文件系统无法启动,屏幕无法点亮不知到是否损坏……原创 2013-06-27 16:08:06 · 150 阅读 · 0 评论 -
根文件系统制作(mini6410)
Uboot已经编译完成,下一步就是制作根文件系统,初步打算使用uboot的tftp功能网络下载内核,然后挂载nfs文件系统,进行驱动开发。1.创建目录。 选择你想创建根文件系统的目录,在目录下创建所必须的目录和子目录。 #mkdir rootfs#cd rootfs#mkdir bin dev etc lib proc sbin sys原创 2014-01-22 12:03:42 · 781 阅读 · 0 评论 -
S3C6410 存储器映射存储器映射
存储器映射存储器映射 S3C6410 支持 32 位物理地址域,并且这些地址域分成两部分,一部分用于存储,另一部分用于外设。 2.1 存储器系统模块图 通过 SPINE总线访问主存,主存的地址范围是0x0000_0000~0x6FFF_FFFF。主存部分分成四个区域:引导镜像区、内部存储区、静态存储区和动态存储区。 引导镜像区的地址范围是从 0x00转载 2011-12-06 19:38:15 · 991 阅读 · 0 评论 -
S3C6410开发全纪录(三)《UBOOT中添加DM9000AE网卡驱动》
转自:http://blog.csdn.net/turui/article/details/6635509我们获得的UBOOT的代码中实际是有DM9000的网口驱动的,位于:driver/dm9000x.c在S3C6410的配置中,中并没有将之打开,而其他的芯片中有使用特别需要注意的是dm9000的驱动与dm9000AE的驱动还是有区别的,如果直接使用代码中自带的dm900转载 2011-12-06 20:36:55 · 928 阅读 · 0 评论 -
ubuntu 11.04下Android源码的获取和编译
这两天着手编译源码的准备工作,在此记录下过程,方便自己备份的同时也希望能对后来者有所帮助。Attention:本文环境是在ubuntu 11.04下获取并编译android 2.3.3的源码, 过程参考了easwy的博文:http://www.2cto.com/kf/201111/110741.html以及google官网http://source.android.com/sour转载 2011-11-18 21:18:21 · 1579 阅读 · 0 评论 -
S3C2440 SDRAM内存驱动
SDRAM(Synchronous Dynamic Random Access Memory,同步动态随机存储器)也就是通常所说的内存。内存的工作原理、控制时序、及相关控制器的配置方法一直是嵌入式系统学习、开发过程中的一个难点。我们从其硬件的角度来分析其原理,然后再引出SDRAM的驱动编写过程。内存是代码的执行空间,以PC机为例,程序是以文件的形式保存在硬盘里面的,程序在运行之前先由操作系统装转载 2011-11-06 01:34:59 · 967 阅读 · 0 评论 -
在HHARM2410上驱动中星微摄像头307b
转自:http://blog.csdn.net/sfrysh/article/details/5605228spca5xx是一个法国老头做的linux下摄像头驱动,对中星微zc301摄像头支持的比较好,于是也想在HHARM2410上玩玩。多方打听,从一个哥们那弄了个中星微摄像头,连在电脑上一测试VID 0ac8,pid 307b,当时心里就凉了半截,这个pid有点高,怕spca支持转载 2011-11-06 01:45:03 · 954 阅读 · 0 评论 -
关于地址总线-寻址空间-IO内存-IO端口理解(s3c2440例)
总线简单理解先总体上简单的说一下总线这概念,其实它是一束线的整合体,可看成是几十条线组合在一大条名字叫bus的线上,就叫总线。一条总线上可以允许连接多个设备,那它怎么识别?总线就是发不同的地址编码(0000111之类),只有符合这编码的设备就响应它操作。总线的位数有什么意义?什么是寻址空间?总线的位数决定寻址空间大小,什么是寻址空间?寻址空间就是你通过总线能访问的最大的内存空间转载 2011-11-06 01:01:03 · 2555 阅读 · 0 评论 -
嵌入式系统Boot Loader技术内幕
1. 引言在专用的嵌入式板子运行 GNU/Linux 系统已经变得越来越流行。一个嵌入式 Linux 系统从软件的角度看通常可以分为四个层次:1. 引导加载程序。包括固化在固件(firmware)中的 boot 代码(可选),和 Boot Loader 两大部分。2. Linux 内核。特定于嵌入式板子的定制内核以及内核的启动参数。3. 文件系统。包括根文件系统和建立于 Flash转载 2011-11-06 01:31:25 · 887 阅读 · 0 评论 -
mini2440安装问题汇总
1. J-link ARm v4.28b软件清空flash和烧录supervivi:手上的2440开发板是256M nandflash 所以要使用supervivi-128M版本(我用的友善官网提供的1026最新版,要把后缀名修改成.bin,国嵌的版本我使用后一直提示nandflash found),据说这个版本会兼容128M-1G的nand,清除nand时,要把Options -> P原创 2011-11-06 18:47:20 · 1505 阅读 · 0 评论 -
移植ads7846驱动到tiny6410(tiny6410)
转自:http://www.cnblogs.com/liu_xf/archive/2011/06/23/2088417.html摘要:目前,市面上很多6410开发板都存在触摸屏抖动的问题,tiny6410也不例外,友善的解决方法是采用一线触摸,即在LCD板上,用一个单片机控制ADS7846芯片AD转换,再将数据通过单总线的方式与6410通讯。可是,我这里没有一线触摸板,于是就开转载 2011-11-09 13:59:48 · 2013 阅读 · 0 评论 -
在Ubuntu 建立nfs服务器
建立Ubuntu nfs服务器 在嵌入式 linux 开发的时候,常常需要使用Ubuntu nfs服务器以方便程序的调试.使用 nfs,用户可以将板子要用到的根文件系统放在主机目录下,开发板则通过以太网挂载到这个目录并将这个目录下的文件作为根文件系统的内容,这样用户的程序更新后不比重新烧写板子的根文件系统便能被重新使用,这点能够大大加快程序的调试.Ubuntu 下安装 nfs 服务器的步骤如原创 2011-11-09 15:56:13 · 1042 阅读 · 0 评论 -
linux启动分析
本文以流行的Samsung公司的S3C2410,openmoko平台和linux-2.6.24为例,介绍如何在ZIX嵌入式开发环境下探索linux内核启动过程。Linux内核启动一般由外部的bootloader引导,也可以在内核头部嵌入一个loader,实际的应用中这两种方式都会经常遇到。所以要了解内核启动最开始的过程,必须对bootloader如何引导内核有所熟悉。下面我们从u-转载 2011-12-01 16:21:13 · 801 阅读 · 0 评论 -
6410触摸屏驱动分析(s3c-ts.c)(Linux)(分析)
转自:http://www.cnblogs.com/liu_xf/archive/2011/06/22/2086750.html摘要:分析内核s3c-ts.c源码,看它是如何采集坐标信息及防抖动处理的。介绍:直接上源码吧,完全注释:001 /* linux/drivers/input/touchscreen/s3c-ts.c 002 * 003转载 2011-11-09 12:02:59 · 1870 阅读 · 0 评论 -
MINI6410裸机跑马灯程序
这种经典的程序,当然要存起来,主要涉及寄存器设置的基础/***********************************************************实验要求: 用Tiny6410上的4个LED资源实现跑马灯程序。*功能描述: Tiny6410用下面4个引脚连接了LED发光二极管,分别是* GPK4--LED1*转载 2011-12-05 00:24:02 · 990 阅读 · 0 评论 -
S3C6410开发全纪录(一)-----还原SD卡启动的真相
转自:http://blog.csdn.net/turui/article/details/6634461 前章我们也大致分析了SD卡的启动过程,在具体进行问题的定位及解决的过程中,发现还是有很多不明确的地方,网上的文章也多是人云亦云让我们来一步一步搞清楚S3C6410 SD卡启动的步骤及过程(我这里的开发板为OK6410,256M+1G的配置,SD卡为2G,MMC)转载 2011-12-06 20:12:03 · 2035 阅读 · 0 评论 -
交叉工具链制作至尊宝典
转自:http://blog.csdn.net/turui/article/details/6596093 一些必须知道的基础知识Debian 操作系统 以及 aptitude 命令autoconf and automake什么是交叉编译,configure 的几个参数 build host targetbuild:编译代码的机器,的CPU指令集host:转载 2011-12-06 21:03:28 · 1854 阅读 · 0 评论 -
u-boot分析[一]
在编译u-boot之前都要执行”make XXX_config”命令,笼统的说是配置u-boot,使其编译出适合目标板的bootloader。那么该命令都做了那些工作,具体的执行过程是怎样的? 我们首先从u-boot的Makefile文件看起,例如我们首先执行”make smd2410_config”命令,则在Makefile中会执行:MKCONFIG := $(SRC转载 2011-12-06 19:45:12 · 553 阅读 · 0 评论 -
STM32F4系列的app和boot相互跳转
官方给出的IAP的核心代码:原创 2014-09-30 15:01:17 · 6964 阅读 · 0 评论