欣欣学习网,老工程师带你学习单片机技术,欢迎来坐坐。
首  页 | 学习NIOSII | 学习C51 | 学习CPLD | 51+CPLD实验板 | | | MY-RTOS

 实验板首页
 安装QuartusII软件
 安装USB-Blaster驱动
 安装CH340C驱动
 安装Keil uVision软件
 运行Hello World例程
 新建Keil uVision工程
 在Flash中运行程序
 恢复CPLD中的出厂逻辑
 安装调试代理程序
 硬件架构分析
 实现LCD驱动接口
 实现数码管驱动接口
 实现4x2键盘接口
 使用ADC采集拟量
 使用EEPROM保存数据
 使用UART通信
 红外遥控信号解码
 用作USB转232/485
 相关软件与文档


在单片机Flash中运行程序


PC机系统配置要求:WIN7-64BIT、WIN10、WIN11

调试好的应用程序最终是要烧写到单片机的Flash存贮器中运行的。单片机的Flash存贮器位于 0x0000 开始的 8K 程序空间,而我们调试时的程序存放于 0x2000 开始的 8K 程序空间。所以,由调试工程所产生的指令代码映像是不能直接放在Flash里运行的,需要对工程的设置做一些调整,然后重新编译才行。以下演示,如何将调试工程修改为可正常烧写Flash的工程。

在体验这一演示之前,要做好以下准备:

1、在你的电脑上已安装有 Keil uVistion 软件。安装方法参见 安装 Keil C51 软件

2、在你的电脑上已安装好 CH341C 的驱动程序。安装方法参见 安装 CH341C 驱动挰序

3、实验板的 CPLD 出厂逻辑未被更改。如已更改,需先行恢复,方法参见 恢复CPLD的出厂逻辑

1.

点击 这里 下载 Hello World 范例工程。该工程是一个调试工程,我们来修改它的设置,然后将生成的 HEX 文件烧写到单片面的Flash里运行。

2.

解压后,双击 Hello World 文件夹里的 demo.uvproj 工程文件,由 Keil uVision5 打开该工程。

3.

右键点击 [Project] 窗口的 [APP] 条目。在弹出的菜单上,点击 [Options for Target 'APP'...] 命令。

3.

选中 [Target] 页。将 [Eprom #1][Start] 参数修改为 0x0000

4.

选中 [C51] 页。将 [Interrupt vector address] 设置更改为 0x0000

5.

选中 [Output] 页。勾选 [Create HEX File] 选项。然后点击 [OK] 按钮,退出对话框。

6.

[Project] 窗口里,依次点开 [APP][SRC] 条目,然后双击 STARTUP.A51 文件,将其打开。拖动滚动条,找到 ?C_STARTUP 标号。将这一标号的上一行的 CSEG AT 0x2000 改成 CSEG AT 0x0000,然后保存。

7.

[Project] 窗口里,右键点击 [APP] 条目,在弹出的菜单上点击 [Rebuild all target filrs] 命令,重新编译工程。

8.

Hello World 文件夹下的 Objects 文件夹下,会有一个名为 demo.HEX 文件生成。可用 ISP 工具软件将该文件下载到单片机的Flash里运行。使用 ISP 工具软件下载 HEX 文件到单片机Flash中的方法,参见:安装调试代理

以上各步展示了如何将程序烧写到单片机的 Flash 中运行。当然,这一操作不可避免的会把单片机中的调试代理程序擦除掉。若要重新使用实验板调试程序,需将调试代理程序重新下载到单片机中。下载方法参见:安装调试代理




管理员信箱: stonewayqi@hotmail.com

欣 欣 学 习 网

粤ICP备2023138008号