自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Think_Logo的专栏

淡定、专注、平常心!

  • 博客(25)
  • 资源 (4)
  • 收藏
  • 关注

转载 在操作ARM开发板时候如何正确的操作ADS

在操作ARM开发板时候如何正确的操作ADS1、ads是由arm公司提供的编译和调试环境,非常好,不容质疑!搞arm开发的人员,不能不用ads,例如要开发一个驱动,首先是在ads中编译、调试通过,才会加入操作系统中,这是开发过程。2、Ads中codewarria是编译环境,在这个环境中,应正确设置程序工作或调试的地址,这两个地址不一定同址,每次只能设置一种,除非它们相同。设置

2009-12-25 22:31:00 747

转载 ARM ADS中的AXD 调试经验集锦

1、如何设置AXD连接的Target。在菜单的Configure Target…选项中可以设置。一般选择MutiIce或者ARMUL两种。ARMUL是一种ARM的模拟器。一般的算法或者一些无需和硬件中断等设备打交道的程序都可以通过这个进行调试。使用上非常简单。我们一般上板子进行调试都是通过MutiICE来进行。在刚刚安装了系统的时候,菜单中没有MutiICE,需要我们手

2009-12-25 22:01:00 835

转载 ARM与嵌入式linux入门的建议

由于很多人总问这个问题,所以这里做一个总结文档供大家参考。这里必须先说明,以下的步骤都是针对Linux系统的,并不面向WinCE。也许你会注意到,现在做嵌入式的人中,做linux研究的人远比做WinCE的人多,很多产家提供的资料也是以linux为主。我一直很难理解,其实WinCE的界面比linux的界面好看多了,使用起来也很方便,更为重要的是,WinCE的开发和Windows下的开发基本一样,学起

2009-12-13 20:55:00 667

转载 GNU ARM 汇编指令简介

第一部分 Linux下ARM汇编语法尽管在Linux下使用C或C++编写程序很方便,但汇编源程序用于系统最基本的初始化,如初始化堆栈指针、设置页表、操作 ARM的协处理器等。初始化完成后就可以跳转到C代码执行。需要注意的是,GNU的汇编器遵循AT&T的汇编语法,可以从GNU的站点(www.gnu.org)上下载有关规范。一. Linux汇编行结构任何汇编行都是如下结构:[:] [} @ comme

2010-01-22 00:01:00 964

转载 AT91初始化代码手册中文翻译版

介绍由于多种原因基于ARM的AT91的大多数应用代码使用C语言编写。然而,启动顺序需要初始化ARM处理器和严重依赖于寄存器结构的关键设备和内存映射处理机,和存储器重映射操作。由于这个原因,C启动序列必须用汇编编写。这个应用笔记描述了一个AT91的C代码启动序列示例。他是使用ARM ADS1.1研发工具为AT91评估板写的基于C启动序列。更多的可用C启动序列示例见AT91库。在上电并且复位后C启动序

2010-01-21 18:56:00 844

转载 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   以下指令可以

2010-01-11 18:20:00 4456 1

原创 ARM汇编伪操作(二)

其他伪操作 还有一些其他的伪指令,在汇编程序中经常会被使用,包括以下几条:        — AREA        — ALIGN        — CODE16 、 CODE32        — ENTRY        — END        — EQU        — EXPORT (或 GLOBAL )        — IMPORT        — EXTERN       

2010-01-11 17:52:00 1910

转载 ARM汇编语言中的伪操作(一)

伪操作(derective)是ARM汇编语言程序里的一些特殊的指令助记符,其作用主要是为完成汇编程序做各种准备工作,在源程序运行汇编程序处理,而不是在计算机运行期间有机器执行.也就是说,这些伪操作只是汇编过程中起作用,一旦汇编结束,伪操作的使命也就随之消失.符号定义( Symbol Definition )伪操作        符号定义伪操作用于定义 ARM 汇编程序中的变量、对变量赋值以及定义寄

2010-01-11 17:48:00 3783

原创 Keil环境下如何在C中内嵌汇编

有时候需要在Keil下C程序中内嵌一些汇编程序,比如延时之类的,这样能得到比较准确的延时。下面看看如何操作:第一步:如下图在#pragma asm和#pragma endasm之间添加所需汇编代码第二步:设置编译该文件时的选项,如图右击Test.c选择第二个选项,在出现的窗口中选择 第一选项(默认),如图第三步:在第二步选择的窗口中右边按下图打钩,黑色的勾,其他默认即可

2010-01-04 15:58:00 2018

转载 C和汇编的一些基础知识

问:void copy_2th_to_sdram(void)  {      unsigned int *pdwSrc  = (unsigned int *)2048;       unsigned int *pdwDest = (unsigned int *)0x30004000;             while (pdwSrc     {          *pdwDest = *pd

2009-12-31 16:54:00 677

转载 如何确定task的stack大小

stack大小可以用以下方法估算,在计算前,先定义两个概念:叶子函数:不再调用其他函数的函数.叶子调用:这是一个跟执行相关的概念,即运行过程中不再调用函数的函数,调用叶子函数肯定是叶子调用,有些函数会在if条件句里面调用函数,因此非叶子函数也可能因为if条件不成立而成为叶子调用。叶子路径:从main函数一直到叶子调用所经过的函数调用路径称为叶子路径.一个函数调用所需要的

2009-12-30 22:26:00 1337

转载 堆栈

堆栈是一种执行“后进先出”算法的数据结构。 设想有一个直径不大、一端开口一端封闭的竹筒。有若干个写有编号的小球,小球的直径比竹筒的直径略小。现在把不同编号的小球放到竹筒里面,可以发现一种规律:先放进去的小球只能后拿出来,反之,后放进去的小球能够先拿出来。所以“先进后出”就是这种结构的特点。 堆栈就是这样一种数据结构。它是在内存中开辟一个存储区域,数据一个一个顺序地存入(也就是“压入——push”)

2009-12-30 22:11:00 573

转载 基于ARM的硬件启动程序设计-初始化堆栈

ARM有7种运行状态,每一种状态的堆栈指针寄存器(SP)都是独立的。所以,对于程序中需要用的每一种处理器模式,都要给SP定义一个堆栈地址。流程为:修改状态寄存器内的状态位,使处理器切换到需要的模式,然后给SP赋值。需要注意的是:不要切换到User模式进行该模式下的堆栈设置,因为进入User模式后就不能再操作CPSR返回到其他模式了。先定义各种模式对应的CPSR寄存器M[4:0]的值,该值决

2009-12-30 21:40:00 1072

转载 2440中IO端口PULL-UP寄存器如何使用

2009-12-27 20:55:00 862

转载 (转)20年嵌入式领域开发经验精华七

1.12.处理器相关资料是否丰富    如果该款处理器在市场上已经用得很广了,那么我们可以获取更多的相关资料,观察人家的产品是如何使用处理器的,也能在网络上找到不少的相关的设计资料以及相关技术主题,这样就进一步降低了技术门槛,确保了使用该处理器做产品可行性,减低了风险;     反之,如果是厂商全新推出的处理器,因为市场上还没有可以借鉴的产品,我们就只能从全英文的芯片手册开始阅读,了解这款

2009-12-27 19:33:00 620

转载 (转)20年嵌入式领域开发经验精华六

1.9.电源的要求 在某些设计中方案中,电源根本不存在问题,对电源唯一的要求就是可以为电路正常供电;实际上,选择电源主要要考虑三个方面的问题:1)要注意设计方案中是否对电源的供电方式有所限制,例如,是否像大多数家用电器那样需要使用屋内墙上的电源插座供电,或是是使用USB接口供电2)看系统是否需要使用电池供电方式,如果这样,我们就要考虑选择那种对驱动电流要求不高的处理器,然后再为其选择合适的

2009-12-27 19:31:00 570

转载 (转)20年嵌入式领域开发经验精华五

1.5.实时处理方面的考虑 实时处理是一个涉及范围很广的题目,其主要内容与系统的处理速度有密切联系,实时事件是嵌入式微处理器需要关注的主要任务。例如:处理器跟串口进行通信时,通常通过上层软件(为了保证实时性,进行任务切换的时间足够短),然后再占用处理器去执行从串口拿数据的任务,并且要保证处理器的速率比串口速率快,那么处理器可以以最快的速度反应并处理串口的相关的任务,这样就可以达到最大的实时性;

2009-12-27 19:29:00 582

转载 (转)20年嵌入式领域开发经验精华四

1.4.需要使用的中断数量中断的主要用途是向中央处理器通报当前发生的某类特殊事件,这类事件包括诸如定时器超时事件、硬件引发的事件等。需要强调的是,多数系统设计师经常过多地使用中断功能,实际上,中断的主要作用只是中断现行程序的执行,中断最适用于必须要求中央处理器立即提供服务的事件。在需要设计和使用中断的情况下,一定要首先确认实际需要的中断数量,然后必须考虑到系统内部占用的中断资源,如果需

2009-12-27 19:26:00 560

转载 (转)20年嵌入式领域开发经验精华三

需要注意的是,由于许多处理器具有的局限性没有在处理器技术资料中给予足够的说明,因此一定要仔细阅读处理器的指标说明。例如,在阅读资料的过程中发现,该资料可能会说明其串行接口可以在最高波特率下工作,但仔细研究该处理器的指标数据时,可能会发现并非该串口接口的所有操作模式都可以在最大波特率下运行。深入了解并明确接口要求的方法:可以自己动手编写一些程序来对接口进行实际测试,以确认某种处理器是否可以满足应

2009-12-27 19:24:00 547

转载 (转)20年嵌入式领域开发经验精华二

2.处理器的选择1.1.需要使用的I/O管脚数量多数处理器都是使用内存和外部管脚来控制输入输出设备的,通常处理器都会有内置ROM和RAM的,如果内置的内存就已经满足需要,那么处理器就可以节省产生引用外部存储器信号的引脚,这样处理器可为输入输出提供较多的设备管脚(某些处理器支持外部RAM或ROM的使用,但对外部存储器进行访问时,处理器一般需要占用8条到10条I/O管脚)。还有,有些处理器

2009-12-27 19:22:00 707

转载 (转)20年嵌入式领域开发经验精华一

我写这篇文章的目的,是用本人20年的嵌入式经验来告诉大家,没有明确的目标,成功将无从谈起。做任何事的第一步必须明确目标。     与日常生活中的大多数事务一样,设计一个嵌入式产品的过程也必须从确定目标开始,对生产的产品进行明确定义。对产品进行定义主要是对产品是什么和能有什么功能进行描述,其次是在我们的整个开发过程中,应该要撰写一些开发文档,大概的框架的如下:1)产品需求文档:描述产品的

2009-12-27 19:19:00 539

转载 单片机内程序运行的时候ram空间是如何分配的?

单片机内程序运行的时候ram空间是如何分配的?我现对一个程序进行减少片内ram的使用的优化,有一些效果,同时也产生了些疑问,在此向各位大虾请教:一、现象:1、    我在通过减少全局变量、函数内变量的使用,减少函数间参数传递等手段来优化,发现某些时候我减少一个变量的使用,keil编译的结果就显示data减少了一字节,有时候这样一直减少几个变量的使用,data值一直都不会变,接着再减少变量的使用,又

2009-12-27 19:13:00 2746 2

转载 ARM学习总结

学习ARM也有一定时间了,想想还是记点东西,要不以后就忘了.这是我的第一片,简简单单.但比较基础.1.     ARM中一些常见英文缩写解释MSB:最高有效位;LSB:最低有效位;AHB:先进的高性能总线;VPB:连接片内外设功能的VLSI外设总线;EMC:外部存储器控制器;MAM:存储器加速模块;VIC:向量中断控制器;SPI:全双工串行接口;CAN:控制器局域网,一种串行通讯协议;PWM:

2009-12-25 23:58:00 1050

转载 为什么单片机连接16BIT存储器时,错位相接

首先你要明白为什么地址先要错位接线 这个说起来有点复杂,不知这样说你明不明白 由于你的RAM是16bits为存储单元的 而从接线看, 你的单片机应该是以8bits为存储调度机制 这就是说 对于RAM来说 0地址有16bits,1地址也有16bits,每一个地址都是16bits 但对于单片机来说就不是这样了,他根本不知道RAM是16位这一回事,在他看来RAM的0地址只有8bits,1地址也是8bit

2009-12-25 23:42:00 916

转载 GPS测速原理之一

GPS怎样确定速度呢?初学者会想当然的以为,既然接收器都可以算出我每一秒钟的具体坐标,然后再除以一秒钟,这就是我一秒钟内的平均速度了。看起来是很合理,可是实际应用中,由于各种误差,导致这样算出来的数据不可能那么准确。实际上GPS接收机在计算前进速度的时候,用的是多普勒效应 (Doppler Effect),准确程度可以达到0.5公里/小时。那什么是多普勒效应呢?GPS又是怎样利用多普勒效应确定速度

2009-12-22 15:30:00 8624 4

ADS环境下s3c2440启动配置文件分析

介绍了S3C2440 微处理器的基本特征及在 ADS 环境下进行嵌入式开发过程中所涉及到 bootloader 的相关知识 并分析了 S3C2440 平台上系统启动过程中的资源配置情况。对于理解分析移植 vivi u-boot 等引导系统有一定的帮助作用。

2010-01-17

s3c2440中文手册

s3c2440完整中文手册,让你更方便查阅,更效率学习

2010-01-01

ARM79出品-u-boot移植手册(超详细入门级别)

系统地介绍了整个u-boot移植的过程:从u-boot起源开始,到代码的获取,到系统启动工作分析,再到flash驱动及其他相关驱动分析,最后到u-boot移植成功,进入u-boot命令行界面。

2009-12-14

空空如也

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

TA关注的人

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