《micro2440开发》第六章:micro2440 ADS单步调试总结

2024-03-15 14:48

本文主要是介绍《micro2440开发》第六章:micro2440 ADS单步调试总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

====================================================================================================================================

一、CodeWarrior使用

打开ADS程序下的CodeWarrior for ARM Developer Suite:

1.File菜单下New选项:选择ARM Executable Image,Project name和Location自己填写;eg:Project name写myled,Location选择c:\work\myled。

2.单击右键Add File添加相关源程序;eg:2440init.s、2440lib.c、2440slib.s和main.c。

3.编译和链接工程设置,Edit菜单的DebugRel Setting选项:

Target Settings中;Post-linker选ARM fromELF,其他默认。//即armlink连接器生成的是axd调试器用的axf文件(axf和elf格式基本相同);还需要通过fromelf转换工具、生成直接烧录flash的bin格式。

ARM Assembler中;Architecture or Processor选ARM920T,其他默认。  //配置ARM汇编编译器。

ARM Linker中;Simple image下RO Base选0x3000 0000,其他默认。  //配置ARM连接器将程序装载到0x3000 0000、也就是内存中运行。

ARM fromELF中;Output file name选myled.bin,其他默认。  //formelf格式转换还需转elf至bin。

4.编译和链接:Project菜单下的make选项。

结果:生成C:\work\myled\myled_Data\DebugRel\myled.bin和C:\work\myled\myled_Data\DebugRel\myled.axf。

5.Project菜单下Debug选项调出AXD Debugger。

二、AXD使用

打开ADS程序下的AXD Debugger:

1.如前边文章的《Jlink设置》:《micro2440开发》第五章:micro2440 JLINK配置。

2.Execute菜单下Go选项。

3.注意ARM79_0 raise an excption,cause:The processor was reset,解决方法:

Options菜单下的Configure Interface选项下的Session File子选项,Run Configuration Scrit打勾、并选择config.ini的路径;内容如下:

setmem 0x53000000, 0x00000000,       32
setmem 0x4a000008, 0xffffffff,       32
setmem 0x4a00001c, 0x00007fff,       32
setmem 0x48000000, 0x2212d110,       32
setmem 0x48000004, 0x00000f40,       32
setmem 0x48000008, 0x00002e50,       32
setmem 0x4800000c, 0x00002e50,       32
setmem 0x48000010, 0x00002e50,       32
setmem 0x48000014, 0x00002e50,       32
setmem 0x48000018, 0x00002e50,       32
setmem 0x4800001c, 0x00018005,       32
setmem 0x48000020, 0x00018005,       32
setmem 0x48000024, 0x00960542,       32
setmem 0x48000028, 0x00000032,       32
setmem 0x4800002c, 0x00000030,       32
setmem 0x48000030, 0x00000030,       32

原因,存储器控制器未初始化。

这篇关于《micro2440开发》第六章:micro2440 ADS单步调试总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/812322

相关文章

Android开发中gradle下载缓慢的问题级解决方法

《Android开发中gradle下载缓慢的问题级解决方法》本文介绍了解决Android开发中Gradle下载缓慢问题的几种方法,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、网络环境优化二、Gradle版本与配置优化三、其他优化措施针对android开发中Gradle下载缓慢的问

Rust格式化输出方式总结

《Rust格式化输出方式总结》Rust提供了强大的格式化输出功能,通过std::fmt模块和相关的宏来实现,主要的输出宏包括println!和format!,它们支持多种格式化占位符,如{}、{:?}... 目录Rust格式化输出方式基本的格式化输出格式化占位符Format 特性总结Rust格式化输出方式

使用Go语言开发一个命令行文件管理工具

《使用Go语言开发一个命令行文件管理工具》这篇文章主要为大家详细介绍了如何使用Go语言开发一款命令行文件管理工具,支持批量重命名,删除,创建,移动文件,需要的小伙伴可以了解下... 目录一、工具功能一览二、核心代码解析1. 主程序结构2. 批量重命名3. 批量删除4. 创建文件/目录5. 批量移动三、如何安

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

基于Python开发PPTX压缩工具

《基于Python开发PPTX压缩工具》在日常办公中,PPT文件往往因为图片过大而导致文件体积过大,不便于传输和存储,所以本文将使用Python开发一个PPTX压缩工具,需要的可以了解下... 目录引言全部代码环境准备代码结构代码实现运行结果引言在日常办公中,PPT文件往往因为图片过大而导致文件体积过大,

Python中连接不同数据库的方法总结

《Python中连接不同数据库的方法总结》在数据驱动的现代应用开发中,Python凭借其丰富的库和强大的生态系统,成为连接各种数据库的理想编程语言,下面我们就来看看如何使用Python实现连接常用的几... 目录一、连接mysql数据库二、连接PostgreSQL数据库三、连接SQLite数据库四、连接Mo

使用C/C++调用libcurl调试消息的方式

《使用C/C++调用libcurl调试消息的方式》在使用C/C++调用libcurl进行HTTP请求时,有时我们需要查看请求的/应答消息的内容(包括请求头和请求体)以方便调试,libcurl提供了多种... 目录1. libcurl 调试工具简介2. 输出请求消息使用 CURLOPT_VERBOSE使用 C

Git提交代码详细流程及问题总结

《Git提交代码详细流程及问题总结》:本文主要介绍Git的三大分区,分别是工作区、暂存区和版本库,并详细描述了提交、推送、拉取代码和合并分支的流程,文中通过代码介绍的非常详解,需要的朋友可以参考下... 目录1.git 三大分区2.Git提交、推送、拉取代码、合并分支详细流程3.问题总结4.git push

使用DeepSeek API 结合VSCode提升开发效率

《使用DeepSeekAPI结合VSCode提升开发效率》:本文主要介绍DeepSeekAPI与VisualStudioCode(VSCode)结合使用,以提升软件开发效率,具有一定的参考价值... 目录引言准备工作安装必要的 VSCode 扩展配置 DeepSeek API1. 创建 API 请求文件2.

Kubernetes常用命令大全近期总结

《Kubernetes常用命令大全近期总结》Kubernetes是用于大规模部署和管理这些容器的开源软件-在希腊语中,这个词还有“舵手”或“飞行员”的意思,使用Kubernetes(有时被称为“... 目录前言Kubernetes 的工作原理为什么要使用 Kubernetes?Kubernetes常用命令总