嵌入式系统教学课件arm处理器编程简介

上传人:cn****1 文档编号:568404049 上传时间:2024-07-24 格式:PPT 页数:13 大小:678KB
返回 下载 相关 举报
嵌入式系统教学课件arm处理器编程简介_第1页
第1页 / 共13页
嵌入式系统教学课件arm处理器编程简介_第2页
第2页 / 共13页
嵌入式系统教学课件arm处理器编程简介_第3页
第3页 / 共13页
嵌入式系统教学课件arm处理器编程简介_第4页
第4页 / 共13页
嵌入式系统教学课件arm处理器编程简介_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《嵌入式系统教学课件arm处理器编程简介》由会员分享,可在线阅读,更多相关《嵌入式系统教学课件arm处理器编程简介(13页珍藏版)》请在金锄头文库上搜索。

1、3.4 ARM处理器编程简介3.4.1 ARM汇编语言的文件格式*.s汇编程序*.cc程序*.h头文件*.inc引入文件3.4.2 ARM汇编语言的语句格式嵌入式系统软件开发流程程序调试调试符号文件调试配置软件功能RAM/ Flash调试Go、Step etc.软件开发步骤断点、标记调试窗口文件类型工程文件工程文件源代码文件源代码文件功能文件功能文件模块、库文件模块、库文件文件类型工程文件工程文件(*.uv2等等)n工程配置文件工程配置文件n用户一般不可更改用户一般不可更改源代码文件源代码文件(*.c、*.cpp、*.setc.)nANSIC语言程序语言程序(*.c)nC+语言程序语言程序(*

2、.C、*.cpp)n汇编语言程序汇编语言程序(*.S)文件类型功能文件功能文件(*.cs、*.map、*.ld)nARM使用的使用的GCC标准文件标准文件n用户参考相关资料并跟据实际硬件编写用户参考相关资料并跟据实际硬件编写模块、库文件模块、库文件(*.lib、*.aetc.)n直接支持的标准库文件直接支持的标准库文件n可由编译软件生成可由编译软件生成链接脚本文件链接脚本文件在系统级别的嵌入式开发中需要使用链接定位文件,该文在系统级别的嵌入式开发中需要使用链接定位文件,该文件描述代码链接定位的有关信息,包括代码段,数据段,件描述代码链接定位的有关信息,包括代码段,数据段,地址段等,链接器必须使

3、用该文件对整个系统的代码做正地址段等,链接器必须使用该文件对整个系统的代码做正确的定位,该文件称为链接脚本文件(确的定位,该文件称为链接脚本文件(* *.ld)SECTIONS. = 0x0C000000;Image_RO_Base = .;.text : *(.text) ;Image_RO_Limit = .;Image_RW_Base = .;.data : *(.data) ;.rodata : *(.rodata) ;Image_ZI_Base = .;.bss : *(.bss) ;Image_ZI_Limit = .;Image_RW_Limit = .;_bss_start_

4、= .;_bss_end_ = .;_EH_FRAME_BEGIN_ = .;_EH_FRAME_END_ = .;PROVIDE (_stack = .);end = .;_end = .;.debug_info0 : *(.debug_info) .debug_line0 : *(.debug_line) .debug_abbrev0 : *(.debug_abbrev) .debug_frame0 : *(.debug_frame) 赋当前地址,可能为赋当前地址,可能为RAM或或Flash的访问地址的访问地址只读区域基地址,启动程序中使用的符号只读区域基地址,启动程序中使用的符号代码段,

5、在这里标识开始放置程序代码代码段,在这里标识开始放置程序代码只读区域长度,启动程序中使用的符号只读区域长度,启动程序中使用的符号读写区域基地址,启动程序中使用的符号读写区域基地址,启动程序中使用的符号数据段数据段, 程序中已初始化的全局变量放在该段程序中已初始化的全局变量放在该段只读数据段,程序中静态全局变量等固定值放在该段只读数据段,程序中静态全局变量等固定值放在该段清零区域基地址清零区域基地址, 启动程序中使用的符号启动程序中使用的符号包含未初始化的全局可用数据包含未初始化的全局可用数据, 如未初始化全局变量如未初始化全局变量清零区域长度清零区域长度, 启动程序中使用的符号启动程序中使用的

6、符号读写区域基长度读写区域基长度, 启动程序中使用的符号启动程序中使用的符号调调试试信信息息链接文件示例链接文件示例int A1;int A2 =5;const int A3 = 10;void main()int A4;register int A5;A4 = A3;.text:*(.text);代码段,在这里标识从代码段,在这里标识从0开始放置程序代码开始放置程序代码.rodata:*(.rodata);只读数据段,程序中静态全局变量等固定值放在该段只读数据段,程序中静态全局变量等固定值放在该段.data:*(.data);数据段数据段,程序中已初始化的全局变量放在该段程序中已初始化的全局

7、变量放在该段.bss:*(.bss);包含未初始化的全局可用数据包含未初始化的全局可用数据,如未初始化全局变量如未初始化全局变量变量变量A1作为未初始化的变量将保存在作为未初始化的变量将保存在 .bss 段中段中变量变量A2 作为已初始化的变量将保存在作为已初始化的变量将保存在 .data 段中段中常量常量A3保存在只读数据断保存在只读数据断 .rodata 段中段中main函数对应的代码保存在函数对应的代码保存在 .text 段中段中局部变量局部变量A4当程序执行到当程序执行到main函数时函数时存放在存放在main函数对应的函数栈中函数对应的函数栈中寄存器变量寄存器变量A5直接保存在直接保

8、存在ARM的一个寄存器中的一个寄存器中在集成环境与目标连接时、软件调试过程中以及目标板在集成环境与目标连接时、软件调试过程中以及目标板复位后,有时需要集成环境自动完成一些特定的操作,复位后,有时需要集成环境自动完成一些特定的操作,比如复位目标板、清除看门狗、屏蔽中断寄存器、存储比如复位目标板、清除看门狗、屏蔽中断寄存器、存储区映射等。这些操作可以通过执行一组命令序列来完成,区映射等。这些操作可以通过执行一组命令序列来完成,保存一组命令序列的文本文件称为保存一组命令序列的文本文件称为命令脚本文件命令脚本文件(* *.cs.cs)命令脚本文件中各行以命令脚本文件中各行以“;”号开始作为注释内容,分

9、号开始作为注释内容,分号前是一条命令。凡是可以在调试命令窗口使用的命令,号前是一条命令。凡是可以在调试命令窗口使用的命令,都可以在脚本文件中使用,包括执行脚本文件命令都可以在脚本文件中使用,包括执行脚本文件命令“SCRIPTSCRIPT”调试命令列表调试命令列表BKPTCLEAR 清除断点清除断点BKPTDATA 设置数据断点设置数据断点BKPTINST 设置指令断点设置指令断点BKPTLIST 断点列表断点列表DISASM 反汇编反汇编DOWNLOAD 文件下载文件下载GO 执行程序执行程序HELP 显示帮助信息显示帮助信息MEMREAD 存储区读存储区读MEMWRITE 存储区写存储区写R

10、EFRESH 刷新窗口刷新窗口REGLIST 寄存器列表寄存器列表REGREAD 寄存器读寄存器读REGWRITE 寄存器写寄存器写RESET 复位目标设备复位目标设备SCRIPT 执行脚本文件执行脚本文件STEP 单步执行程序单步执行程序STOP 停止执行程序停止执行程序SYMBOL 载入符号文件载入符号文件MEMWRITE存储区写存储区写语语 法:法: memwrite e 地址地址 数值数值 说说 明:明: 向存储区指定地址写入数值向存储区指定地址写入数值 地址地址 要写入数值的存储区地址要写入数值的存储区地址 数值数值 待写数值待写数值 选选 项:项: -e 大印第安方式写入大印第安方式写入 示例:示例: memwrite 0x1000 0x5A 向地址向地址0x1000处写入数值处写入数值0x5A memwrite -e 0x2000000 0x22334455 等效于等效于memwrite 0x2000000 0x55443322命令脚本文件命令脚本文件示例

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号