📄 readmecomment.txt
字号:
实验例程 MDK工程的基本文件组织结构:
工程名
|----Startup 启动代码 (STR71x.S),请注意最好使用例程所带的启动代码,
| MDK自动生成的启动代码需要修改才可使用于实验箱上。
|----Common 公用代码
|
|----Source 用户源代码
|
|----Script 脚本文件(调试文件int,分散加载文件sct等)
|
|----ReadMe 工程说明文档
===========================================================================================
开发板跳线设置:
如果在片上Flash运行:
JP1:2、3短接
如果在片上RAM运行:
JP1:1,2短接
JP2:1,2短接
JP3:2、3短接
工程的Option设置:
Device下选择STMicroelectronics_STR711FR2;
Target下设置 on-chip IROM1: 0x40000000,0x40000 Startup
on-chip IRAM1: 0x20000000,0x80000
Output下设置文件夹为当前目录下的/obj;
Listing下设置文件夹为当前目录下的/lst;
C/C++和ASM下在includ path 文本框中将common目录所在路径加入;
Linker下设置Scatter File,如果在RAM中运行则选择"RuninRAM.SCT",
如果在FLash中运行则选择"RuninFLash.SCT"(这两个文件均在common目录下);
请注意在Script文件组下添加这两个文件时必须指定其为文本文件,而不是汇编语言文件.
Debug下选择 use Simulator则可在PC上进行软件仿真;
选择 use ULINK ARM Debugger则进行目标板联机调试;
选择 Run to main 则程序自动运行到main()函数后暂停,须点击Run按钮或按F5键程序才继续运行。
在Initialization文本框中可加入调试命令脚本文件,以帮助调试.在FLash中运行,请加入RunInFlash.ini,在RAM中运行请加入RunInRam.ini。(这两个文件均在common目录下);
Utilities下选择 ULINK ARM Debugger,点击setting按钮设置烧写参数
RAM for Algorithm 设置Start: 0x20000000,Size 0x800
Programming Algorithm选择 STR71x Bank 0 Flash,STR71x Bank 1 Flash
=============================================================================================
调试命令文件(INI)用于使用软件仿真和联机测试时,以下是几个常用的命令,用户可以根据调试需要来写自己的调试命令文件.
pc=0xC000000
令PC指向0xC000000处;(例程在RAM中运行时可指向0x20000000,如果在Flash中运行则指向0x40000000)
map 0x01c00000, 0x02000000 read write
指定某段存储区域的属性为可读,可写,可执行;
Go startaddr, stopaddr
程序从startaddr开始执行,到stopaddr处停止;起始地址都可以缺省. 也可用函数名表示地址例如 G , main
==============================================================================================
分散加载文件(sct)用于加载映像文件到存储空间中,MDK可根据存储设置自动生成,复杂应用程序则需要自行编写.
以下是在RAM中运行程序的SCT文:
LR_IROM1 0x20000000 { ; load region
ER_IROM1 0x20000000 0x00080000 { ; load address = execution address
*.o (RESET, +First)
.ANY (+RO)
}
RW_IRAM1 0x20080000 0x00080000 { ; RW data
.ANY (+RW +ZI)
}
}
以下是在Flash中运行程序的SCT文件:
LR_IROM1 0x40000000 { ; load region
ER_IROM1 0x40000000 0x00040000 { ; load address = execution address
*.o (RESET, +First)
.ANY (+RO)
}
RW_IRAM1 0x20000000 0x00040000 { ; RW data
.ANY (+RW +ZI)
}
}
============================================================================================
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -