首页 CrossWorks for ARM快速入门

CrossWorks for ARM快速入门

举报
开通vip

CrossWorks for ARM快速入门 广州周立功单片机发展有限公司 Tel:(020)38730976 38730977 Fax:38730925 http://www.zlgmcu.com 目 录 第 1章 CrossWorks for ARM快速入门 .....................................................................2 1.1 概述.................................................................

CrossWorks for ARM快速入门
广州周立功单片机发展有限公司 Tel:(020)38730976 38730977 Fax:38730925 http://www.zlgmcu.com 目 录 第 1章 CrossWorks for ARM快速入门 .....................................................................2 1.1 概述...............................................................................................................................2 1.2 安装 CrossWorks for ARM...........................................................................................2 1.2.1 安装前准备.......................................................................................................2 1.2.2 安装步骤...........................................................................................................2 1.2.3 注册...................................................................................................................4 1.3 安装 Luminary_LM3S.hzq ...........................................................................................5 1.4 创建工程.......................................................................................................................6 1.5 使用开发包库函数.....................................................................................................10 1.6 编译链接工程.............................................................................................................11 1.7 调试工程.....................................................................................................................12 1.7.1 连接目标板.....................................................................................................12 1.7.2 设置断点.........................................................................................................12 1.7.3 启动应用程序.................................................................................................13 1.7.4 脱机运行.........................................................................................................14 1 广州周立功单片机发展有限公司 Tel:(020)38730976 38730977 Fax:38730925 http://www.zlgmcu.com 第1章 CrossWorks for ARM快速入门 1.1 概述 CrossWorks 是一套完善的专门针对 ARM7 微处理器而开发的 C 语言开发系统。它包含 ARM GCC C 语言编译器、CorssWorks C 函数库和 CrossStudio 集成开发环境。使用 ARM (WNPJ-ARM-20/ WNPJ-ARM-14)的 Macgraigor Wiggler 或与 JTAG 接口连接的兼容并行 端口,即可以用于开发和调试 ARM7、ARM9、Cortex-M3 内核的微处理器。 1.2 安装 CrossWorks for ARM 1.2.1 安装前准备 将 Rowley.Associates.CrossWorks.for.ARM.v1.6 安装软件拷贝到电脑硬盘,并存放在不 包含中文字符文件路径的文件夹中。该软件不支持中文,在编辑器中也不可以输入中文字符, 只能使用英文输入,并且文件夹的路径也不可以含有中文字符。 注意:不可以通过网络安装。 1.2.2 安装步骤 1. 双击运行软件包中的Setup.exe文件,将弹出如图 1.1所示的窗台。 图 1.1开始运行 Setup.exe 2 广州周立功单片机发展有限公司 Tel:(020)38730976 38730977 Fax:38730925 http://www.zlgmcu.com 2. 点击Next将弹出如图 1.2所示的窗口,然后选择I accept the Agreement。 图 1.2 接受协议 3. 点击Next并选择安装目录如图 1.3所示,注意安装目录不可以使用中文字符。 图 1.3 选择安装路径 3 广州周立功单片机发展有限公司 Tel:(020)38730976 38730977 Fax:38730925 http://www.zlgmcu.com 4. 按照弹出窗口的提示一直点击 Next,最后点击 Install开始安装程序。 5. 安装过程中由于出现中文字符将出弹出如图 1.4所示的窗口,点击No续断安装。类 似的窗口一般会出现两次。 图 1.4 出现中文字符 6. 最后点击 Finish完成安装。 由于在中文操作系统中程序菜单路径“c:\Documents and Settings\All Users\「开始」菜单 \程序”中包含中文字符,所以启动 CrossStudio 软件的快捷键并不在“\「开始」菜单\程序” 路径中建立,需要用户手动建立。 建立快捷键方法:先打开安装软件的文件夹“C:\Program Files\Rowley Associates Limited \CrossWorks for ARM 1.6\bin”,然后选择crossstudio.exe文件点击鼠标右键,在弹出的下拉菜 单中点击“发送到(n)->桌面快捷方式”。桌面将出现如图 1.5所示的图标。 图 1.5快捷键 1.2.3 注册 CrossWorks 需要注册才可以使用其编译器及调试功能,试用版软件可以通过注册获得 30 天的免费无艰制使用。 注册方法:运行CrossWorks软件,在该软件主菜单的“Tools”下拉菜单中点击“License Manager…”,将弹出如图 1.6所示窗口。 4 广州周立功单片机发展有限公司 Tel:(020)38730976 38730977 Fax:38730925 http://www.zlgmcu.com 图 1.6 License 管理 点击上面一个“By Mail”将弹出如图 1.7所示窗口。 图 1.7 发送申请 License E-mail 如果用户电脑已配置 E-mail 服务器可以直点击发送,如果没有配置也可以以相同的收 件人、主题和正文通过 Web 发送请求。E-mail 成功发送后几分钟内将会接收 rowley.co.uk 自动回复的 E-mail,其中附有试用版的 License。 获得License后,点击图 1.6中的“Activate Product”,在弹出的对话窗口中输入License 然后点击“OK”。这样就可以正常使用CrossWorks软件了。 1.3 安装 Luminary_LM3S.hzq Luminary公司为Stellaris系列微处理器提供了完善的开发包,使用该开发包提供的API 函数开发者不需要了解微处理器的外设控制细节即可以使用外设,大大加快了项目的进度。 最新版的开发包可以在http://www.rowleydownload.co.uk/arm/packages/Luminary_LM3S.htm 5 广州周立功单片机发展有限公司 Tel:(020)38730976 38730977 Fax:38730925 http://www.zlgmcu.com 网页上找到。 安装方法:运行CrossWorks for ARM软件,在该软件主菜单的“Tools”下拉菜单中点击 “Install Package…”,将弹出如图 1.8所示窗口。 图 1.8 选择安装开发包 选择需要安装的开发包 Luminary_LM3S.hzq,然后点击 Install。通过点击主菜单的 “Tools”下拉菜单中“Show Installed Packages”,可以看到已安装的开发包。这时已完成 Luminary_LM3S.hzq 开发包的安装。 1.4 创建工程 点击File菜单中的New选项,然后点击New project按钮,将弹出New Project对话框。该 对话框显示一组项目类型和项目模板,如图 1.9所示。 6 广州周立功单片机发展有限公司 Tel:(020)38730976 38730977 Fax:38730925 http://www.zlgmcu.com 图 1.9 新建工程窗口 展开“Luminary Micro LM3S”,然后选择里面的Generic LM3S Board。在点击Templates 方格中的Executable标签来选择所要添加的项目类型;在Name编辑窗口中键入项目名:gpio; 在Location编辑窗口或Browse按钮来决定将项目建于何处;然后点击OK,之后弹出如图 1.10 所示窗口。 图 1.10 通用工程设置 在通用工程设置中选择目标处理器,如选择LM3S102;如果需要输出hex、bin或srec文 件可以修改Additional Output Format选项。其它设置通常使用默认即可,直接点击Finish。在 软件的工程管理器(Project Explorer)出现工程相关文件,如图 1.11所示。 7 广州周立功单片机发展有限公司 Tel:(020)38730976 38730977 Fax:38730925 http://www.zlgmcu.com 图 1.11 工程管理器 用鼠标选择工程管理器的Sourse Files文件夹,然后点击鼠标的右键出现如图 1.12所示的 菜单。通过这个菜单可向当前前工程下添加已有的文件(Add Existing File…)或文件夹(New Folder…),也还可以创建一个新的工程文件(Add New File…)到当前工程。 图 1.12 添加文件到工程 添加一个已有的工程文件或添加一个新的文件是必需的操作,在添加一个文件到工程后 我们就可以在该文件上编写程序。如示例工程中添加一个名为gpio.c文件,如图 1.13所示。 图 1.13 添加新文件到工程 如果需要使用 Luminary_LM3S.hzq 的库函数,所以在这里我们还需要设置一些环境变 量,如设置库函数的头文件路径和设置库存文件路径。 z 设定库函数的头文件路径 Luminary_LM3S.hzq 安装后,这些库的头文件都会在 CrossWorks for ARM 软件所安装 路径下的“\samples\Luminary_Stellaris_Driver_Library\”目录中,如:C:\Program Files\Rowley Associates Limited\CrossWorks for ARM 1.6\samples\Luminary_Stellaris_Driver_Library。以上 路径为绝对路径,CrossWorks for ARM 软件提供了相对路径设置方法: $(SamplesDir)为相关路径的关键词,其代表了 C:\Program Files\Rowley Associates Limited \CrossWorks for ARM 1.6\samples 的相对路径,使用该关键词库函数的头文件路径可 以表示为:$(SamplesDir)\Luminary_Stellaris_Driver_Library。 点击主菜单的Project->Properties…按扭,将弹出工程选项窗口,如图 1.14所示。 8 广州周立功单片机发展有限公司 Tel:(020)38730976 38730977 Fax:38730925 http://www.zlgmcu.com 图 1.14 工程选项 使用鼠标先选择图 1.14中Project窗口下的Solution,如图中的“Solution ‘gpio’(1 project)”, 然后在Configuration下选择Common,这样表示当前设置对当前Solution的各个工程都有效。 在卡片菜单中选择“Pre…”,如图 1.15所示。在图 1.15中的User Include Directories 中输入 驱动库的头文件路径:$(SamplesDir)\Luminary_Stellaris_Driver_Library。 图 1.15 用户头文件路径 z 设置库存文件路径 安装开发包后,库文件 libdriver.a 的路径为:C:\Program Files\Rowley Associates 9 广州周立功单片机发展有限公司 Tel:(020)38730976 38730977 Fax:38730925 http://www.zlgmcu.com Limited\CrossWorks for ARM 1.6\samples\Luminary_Stellaris_Driver_Library\lib\libdriver.a,其 相对路径为:$(SamplesDir) \Luminary_Stellaris_Driver_Library\lib\libdriver.a。 同样,在图 1.14中选择卡片菜单“Linker”,如图 1.16所示。在图 1.16中的Additional Input Files中输入$(SamplesDir)\Luminary_Stellaris_Driver_Library\lib\libdriver.a。 图 1.16 设置库文件路径 1.5 使用开发包库函数 Luminary_LM3S.hzq 开发包提供了 LM3S 系列微处理器外设备的控制 API 函数,使用 这些函数用户不需要理解硬件寄存器的操作。如果用户对那些寄存器感兴趣也可以阅读 Luminary_LM3S.hzq 的源程序。这里以刚建立的 gpio 工程,编写一个通过 GPIO 控制 LED 闪烁的例子,简单介绍 Luminary_ LM3S.hzq 开发包 API 函数的使用。 在以上工程建好后,我们可以在gpio.c文件里编写程序代码,如编写一个控制LED灯闪 亮的程序,如程序清单 1.1所示。 系统起动时使用默认的时钟,起动后通常需要使用 SysCtlClockSet()函数设置系统时钟; 需要使用 GPIO 外设,则需要通过 SysCtlPeripheralEnable()函数使能外设;驱动 LED 则需要 配置 GPIO 的方向,通过 GPIODirModeSet()函数设置;通过 GPIOPinWrite()函数可以设置 GPIO 输入高电平或低电平。 程序清单 1.1 GPIO示例程序 #include "hw_memmap.h" #include "hw_types.h" #include "src/sysctl.h" #include "src/systick.h" #include "src/gpio.h" #define PINS GPIO_PIN_6 void delay(int d) 10 广州周立功单片机发展有限公司 Tel:(020)38730976 38730977 Fax:38730925 http://www.zlgmcu.com { for(; d; --d); } int main(void) { SysCtlClockSet(SYSCTL_SYSDIV_1 | SYSCTL_USE_OSC | SYSCTL_OSC_MAIN | SYSCTL_XTAL_6MHZ); (1) SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB); (2) GPIODirModeSet(GPIO_PORTB_BASE, PINS, GPIO_DIR_MODE_OUT); (3) while (1) { GPIOPinWrite(GPIO_PORTB_BASE, PINS, PINS); (4) delay(200000); (5) GPIOPinWrite(GPIO_PORTB_BASE, PINS, ~PINS); (6) delay(200000); } return 0; } 程序清单 1.1(1) 设置系统时钟,系统 1 分频(也即不分频),直接使用OSC不使 用PLL,使用外部晶振并且外部晶振为 6MHz。 程序清单 1.1(2) 使能PB口的GPIO外设备功能。 程序清单 1.1(3) 设置指定的GPIO口为输出。 程序清单 1.1(4) 设置指定的GPIO口输出高电平。 程序清单 1.1(5) 软件延时。 程序清单 1.1(6) 设置指定的GPIO口输出底电平。 SysCtlClockSet( )和 SysCtlPeripheralEnable( )函数必需包含 sysctl.h 和 systick.h 头文件; 使用 GPIODirModeSet()和 GPIOPinWrite()必需包含 gpio.h 文件;使用开发包的库函数都需要 包含 hw_memmap.h 和 hw_types.h 头文件。关于这些函数的详细说明请阅读《StellaisTM驱动 库用户指南》。 1.6 编译链接工程 编写好的程序需要通过编译链接成目标代码才可以运行。该软件提供了三种编方式:编 译单个文件 、编译链接单个工程 和编译链接 Solution 下的所有工程 。 编译单个文件:选择需要编译的文件,然后点击菜单框上的 图标即可以编译单个文 件。也可以通过点击主菜单中的 Build 下的 Compile 按扭,快捷键 Ctrl+F7。 编译链接单个工程:选择需要编译的工程,然后点击菜单框上的 图标即可以编译所 选中的工程。也可以通过点击主菜单中的 Build 下的 Build 按扭,快捷键 F7。 编译链接 Solution 下的所有工程:点击菜单框上的 图标即可以编译链接所有工程。也 可以点击主菜单中的 Build 下的 Build Solution 按扭,快捷键为 Shif+F7。 11 广州周立功单片机发展有限公司 Tel:(020)38730976 38730977 Fax:38730925 http://www.zlgmcu.com 编译在Output窗口会显示一些编译信息,如果编译正常完成则最后会显示Build complete 如图 1.17所示,出错则出现Build failed。 图 1.17 输出窗口 1.7 调试工程 1.7.1 连接目标板 工程编译通过后就可以通过 JTAG 调试目标硬件,CrossWorks 软件支持多种 JTAG 调试 器,如:Macraigor Wiggler(20 Pin)、Macraigor Wiggler(14 Pin)、USB CrossConnect for ARM、 Segger J-Link 和 USB CrossConnect for AMR-RTCK 等。使用 EasyJTAGE-H 调试器可以选用 Macraigor Wiggler(20 Pin)的驱动。 使用EasyJTAGE-H将目标板(EasyM3-LM3S)与电脑并口连接好,并且给目标板上电。 点击CrossWorks软件上主菜单中的Target->Connect Macraigor Wiggler按扭,连接目标板。连 接成功后在该软件的最下方的状态框将显示器件的ID如图 1.18所示。 图 1.18 连接成功 1.7.2 设置断点 CrossWorks 会一直运行程序,除非遇到了端点。我们将在 main.c 中的 delay 处设置一个 端点。把光标移至 delay 所在的行,然后执行以下步骤: z 在 Build 工具栏,点击 Toggle Breakpoint 按钮。 或者 z 使用按键 F9。 又或者,用户可以直接在对应的那一行的侧槽上双击来进行端点设置,而无需移动光标。 设置完成后如图 1.19所示。 12 广州周立功单片机发展有限公司 Tel:(020)38730976 38730977 Fax:38730925 http://www.zlgmcu.com 图 1.19 设置断点 侧槽会在断点处显示一个符号。Breakpoints 窗口随之更新,以便显示断点在何处设置, 是否设置、禁止或失效。用户所设的断点被储存在与项目关联的会话文件中,也就是说,当 用户退出或重新运行 CrossWorks 时,断点将会被保留。 1.7.3 启动应用程序 现在用户可以执行程序了,只需执行以下任一步骤: z 点击 Debug 菜单中的 Start Debugging 选项。 或者 z 在 Build 工具栏,点击 Start Debugging 按钮。 或者 z 使用键盘按键 F5。 工作区将由 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 Editing(编辑)工作区转为Debugging(调试)工作区。用户可以选择 在这些工作区中显示哪些窗口,并对这些窗口进行独立的管理。CrossWorks把有效的项目加 载到目标,并放置用户所设的断点。点击Debut>Go按扭或 图标全速运行程序。程序在断 点处停止,黄色箭头表示程序被暂停,如图 1.20所示。 图 1.20 断点暂停 用户可以选择Debut>Step Over,使用按键F10,或在Debug工具栏上点击Step Over按钮 来单步运行语句。现在,我们进入下一个函数delay,并跟踪它的执行。进入delay,只需选 择Debug>Step Into,使用按键F11,或者点击Debug工具栏上的Step Into按钮。现在图 1.21显 示已经进入delay函数,并且执行在此处暂停。 13 广州周立功单片机发展有限公司 Tel:(020)38730976 38730977 Fax:38730925 http://www.zlgmcu.com 图 1.21 进入函数内部 用户可以选择 Debug>Run to Cursor 选项使程序执行到指定的语句,或者选择 Debug>Go 使程序重新运行,直到下一个有效的断点。 注意,当使用单步运行时,调试器可能找不到用户所运行的函数的源代码。在此情况下, 调试器将显示应用程序的指令,用户可以退出调试返回源代码或继续在指令代码的基础上进 行调试。还有一些调试器无法显示指令情况,这时程序会弹出对话框告知用户,用户此时应 该退出调试。 1.7.4 脱机运行 使用Luminary_LM3S.hzq开发包创建的工程,在默认的情况下程序下载到芯片的Flash 脱机并不能运行,只能在Cross Studio for ARM集成开发环境下调试运行。如果需要脱机运行, 则只需要在LM3S_Startup.s中定义STARTUP_FROM_RESET宏即可。如程序清单 1.2所示。 程序清单 1.2 定义 STARTUP_FROM_RESET宏 #define STARTUP_FROM_RESET // 定义该宏,程序可脱机运行 .global reset_handler .macro DEFAULT_ISR_HANDLER name= .thumb_func .weak \name \name: 1: b 1b /* endless loop */ .endm .section .vectors, "ax" .code 16 .align 0 .global _vectors _vectors: .word __stack_end__ #ifdef STARTUP_FROM_RESET .word reset_handler #else 14 广州周立功单片机发展有限公司 Tel:(020)38730976 38730977 Fax:38730925 http://www.zlgmcu.com .word reset_wait #endif /* STARTUP_FROM_RESET */ .word Nmi_ISR .word Fault_ISR …. 15 第1章 CrossWorks for ARM快速入门 1.1 概述 1.2 安装CrossWorks for ARM 1.2.1 安装前准备 1.2.2 安装步骤 1. 双击运行软件包中的Setup.exe文件,将弹出如图1.1所示的窗台。 2. 点击Next将弹出如图1.2所示的窗口,然后选择I accept the Agreement。 3. 点击Next并选择安装目录如图1.3所示,注意安装目录不可以使用中文字符。 4. 按照弹出窗口的提示一直点击Next,最后点击Install开始安装程序。 5. 安装过程中由于出现中文字符将出弹出如图1.4所示的窗口,点击No续断安装。类似的窗口一般会出现两次。 6. 最后点击Finish完成安装。 1.2.3 注册 1.3 安装Luminary_LM3S.hzq 1.4 创建工程 1.5 使用开发包库函数 1.6 编译链接工程 1.7 调试工程 1.7.1 连接目标板 1.7.2 设置断点 1.7.3 启动应用程序 1.7.4 脱机运行
本文档为【CrossWorks for ARM快速入门】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_363126
暂无简介~
格式:pdf
大小:481KB
软件:PDF阅读器
页数:0
分类:互联网
上传时间:2012-07-02
浏览量:73