再上一篇:19.6 GNU C 编译器的内联汇编
上一篇:第20章
主页
下一篇:20.3 使用 UART 输出“Hello World”
再下一篇:20.4 测试示例程序
文章列表

20.2 uVison 使用入门

《Cortex-M3 权威指南》,嵌入式处理器开发教程。

在 RVMDK中附带了很多示例程序,包括 Luminary Micro 的 Stellaris系列的单片机产品, 也包括了 ST的 STM32系列的单片机产品。这些示例都使用了厂家提供的驱动程序库(固件库)。使 用固件库可以免去写代码操作外设寄存器的任务。很容易通过修改示例程序来开发自己的应用程序, 也可以自己从头设计工程,再摘抄一部分示例程序的代码。本章的示例基于 RVMDK v3.03 版,并 且以 Luminary Micro 的 LM3S811 器件为蓝本(目前 RVMDK 已经出了 3.20 版,且作者写本书时 Luminary Micro是唯一的 CM3芯片供应商。目前 ST也出品了 STM32系列的 CM3芯片,预计以后 Atmel, TI, NXP也要提供 CM3芯片——译者注)。
在安装了 RVMDK 后,就可以从开始菜单中启动 uVision 集成开发环境,并且它会打开一个为 传统 ARM处理器而写成的示例。我们可以关掉这个工程,并且通过选择”NewProject”下拉菜单来 新建一个工程:

这里创建了一个名为CortexM3 的文件夹:


接下来为这个工程选择目标器件,在这里选择 LM3S811

RVMDK会询问是否使用缺省的启动代码。这里我们选择 Yes。



现在我们有了只含有一个源文件(Startup.s)的工程了:

接下来,我们要创建一个含有 main函数的 C源程序。 这样就创建了一个文本文件。编辑它的内容,并且存储为 hello.c:

现在,我们要把这个文件添加到 Source Group 1中(右击 Source Group 1)

可以修改目标名“Target 1”和文件组名“Source Group 1”,以使它们更有意义。通过单 击工程的工作区选中它们,过一会再单击即可修改(超过双击判定的最短间隔时间):

选择我们刚刚创建的 hello.c并添加,则工程中就包含了 2个源文件了:

我们还需要设置连接器以定义程序的入口点。通过在“Misc Controls box”中加入 entry

Reset_Handler 来实现。这个选项定义了程序的入口点为 Reset_Handler—— 它可以在

Startup.s中找到(其实在 RVMDK3.20版本中,连接设置有了变化,此时不加也可以——译者注)。

现在我们就可以编译了。如下所示:

也可以使用工具栏来方便地操作:

编译成功后,输出窗口如下显示: