|
在单片机Flash中运行程序
|
PC机系统配置要求:WIN7-64BIT、WIN10、WIN11 |
调试好的应用程序最终是要烧写到单片机的Flash存贮器中运行的。单片机的Flash存贮器位于 0x0000 开始的 8K 程序空间,而我们调试时的程序存放于 0x2000 开始的 8K 程序空间。所以,由调试工程所产生的指令代码映像是不能直接放在Flash里运行的,需要对工程的设置做一些调整,然后重新编译才行。以下演示,如何将调试工程修改为可正常烧写Flash的工程。 |
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 中运行。当然,这一操作不可避免的会把单片机中的调试代理程序擦除掉。若要重新使用实验板调试程序,需将调试代理程序重新下载到单片机中。下载方法参见:安装调试代理。 |
|
|
|