• keil3下载 > 先说说我的经历
  • 先说说我的经历

    免费下载 下载该文档 文档格式:PDF   更新时间:2010-09-01   下载次数:0   点击次数:4
    文档基本属性
    文档语言:
    文档格式:pdf
    文档作者:olivia.gill
    关键词:
    主题:
    备注:
    点击这里显示更多文档属性
    2006-2-22 先说说我的经历,我 2003 年毕业后一直从事单片机的开发工作.使用过不少 MCU,但是 产品却没几个.虽然现在敢说换一种 MCU 使用一个星期就能搞定,但是自我感觉经验现在还 是不多.最早接触 ARM 是 2004 年,自己买了一块 LCP2104 的实验板,但是一直没有用过(因 为不会,汗!.2005 年由于工作原因我才陆续接触了 LCP2214,LCP2104,S3C44B0X.由于都 ) 是买的现成的开发板,使用现成的例子,一直研究的不够深入.虽然有关 ARM 方面也看了不 少书,可是没有完整做过一个项目,心里还是觉得没有底,没有融会贯通的感觉.刚好,公 司现在要我去了解 AT91FR40162,正好也给了我一个机会从头开始把 ARM 再看个一遍. 前几天买了一个 Keil 下的仿真器,一 AT91FR40162 的实验板,这就开始研究了.一上手 就有问题了,这仿真器怎么用呢 还好我这还有块 EASYARM2200 的开发板,去老周的网站下 载了个在《EasyARM 系列开发板上使用 ULink 仿真器》 ,还有对应的工程模板,照葫芦画瓢, 对 Keil 进行了设置,使用 ADS 编译器,最后一仿真,还行,能用总算让灯闪起来了.但是这 时候我发现一小问题,每次仿真的时候都跳出下面一画面:
    这是咋回事啊 怎么是个评估版 只好跑到网站上问人,又是自己网上找.最后在 C51BBS 的 ftp 上下载了个 Keil3 破解软件, 里面有详细的安装步骤. 原来要在这里设置一下:
    在 New License ID Code 中填入算号器算的 LICO,这就 OK 啦! 这个问题可能对于很多人不能算是问题,可是我是菜鸟啊,说不定还有其它菜鸟也会犯 这样的毛病,所以我多记上两句,可别说罗嗦啊! 现在软件仿真器都搞定了,从哪里着手呢 我决定还是先再学习一遍 EASYARM2200,老 周的实验板配套资料很详细,最适合初学者了,我既然还是菜鸟就再看一边.拿起《ARM 嵌 入式系统实验教程(一) 》我就开始看.内容简介:一眼就搞定;序:一分钟搞定;前言:我 目前不需要 RTOS,看前 3 章就好了. 第一章:讲都是实验板的硬件结构,随便扫过.板上有 4M 的 SRAM 和 16M 的 FLASH,通 过跳线可以选择为 BANK0,BANK1,还有跳线选择进入 ISP 状态. 第二章:ADS 使用和 EasyJTAG 使用.我觉得 ADS 中最重要的就是 ARM Linker 选项: 程序编译的最后结果是以段的形式保存的.程序就在 RO 段,可读写的数据就在 RW 段.
    RO Base:只读段起始地址 RW Base:读写段起始地址 如果选择 Scattered 则使用分散加载文件来定义各段的位置
    Image entry point:程序入口地址 程序可以在 Flash 中执行,也可以在 RAM 中执行,就看放在哪里了.老周的模板都是使 用分散加载文件定义,程序,数据的地址. 还有 C 编译器的优化等级,也比较常用:
    可以选择速度优化,空间优化,还有优化等级. EasyJTAG 的安装和使用:我用不着就不用了.不过要说一句,AXD 真的不太好用, CodeWarrior 的界面也不是很好,还是 Keil 好看,好用(个人意见) .
    2006-2-23 第三章:基础实验 这下总算进入正题了. 在进入 C 语言环境之后我想就没有什么大问题了.现在最大的问题就是:程序的启动代 码是做什么用的 以前看过一些介绍,也自己研究过,现在再仔细看一遍.打开一个老周的 模板, 我们假定在 Flash 中运行程序, 这样程序的入口地址就是 00000000. 从下面开始执行:
    CODE32 伪指令指示汇编编译器后面的指令为 32 位的 ARM 指令. CODE16 和 CODE32 伪指令 只是指示汇编编译器后面的指令的类型,伪指令本身并不进行程序状态的切换,要自己使用 BX 指令来切换状态.ARM 核开始执行的第一条指令后总是 32 位的 ARM 指令.
    AREA 伪指令用于定义一个代码段或数据段.指令格式: AREA sectionname {,attr}{,attr} Sectionname 表示段名 Attr 表示段的属性,各属性用", "隔开 所以 AREA vectors,CODE,READONLY 的意思就是: 以下代码都放在叫 vectors 的段中,vectors 段是代码段,只读(实际放置的地址由编 译器的设置决定) .
    ENTRY 伪指令用于指定程序的入口点.就是说程序从下面开始执行.
    Reset 是一个标号. EXPORT Reset 表示外部可以以函数形式调用 Reset(只要声明一下 extern void Reset(void);) .

    下一页

  • 下载地址 (推荐使用迅雷下载地址,速度快,支持断点续传)
  • 免费下载 PDF格式下载
  • 您可能感兴趣的
  • qvod播放器官方下载  txt电子书免费下载  qq下载  小说下载  搜狗输入法下载  pps网络电视官方下载  穿越火线官方下载  快播下载  3gp手机电影下载