《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

相关文章

Qt实现网络数据解析的方法总结

《Qt实现网络数据解析的方法总结》在Qt中解析网络数据通常涉及接收原始字节流,并将其转换为有意义的应用层数据,这篇文章为大家介绍了详细步骤和示例,感兴趣的小伙伴可以了解下... 目录1. 网络数据接收2. 缓冲区管理(处理粘包/拆包)3. 常见数据格式解析3.1 jsON解析3.2 XML解析3.3 自定义

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

利用Python调试串口的示例代码

《利用Python调试串口的示例代码》在嵌入式开发、物联网设备调试过程中,串口通信是最基础的调试手段本文将带你用Python+ttkbootstrap打造一款高颜值、多功能的串口调试助手,需要的可以了... 目录概述:为什么需要专业的串口调试工具项目架构设计1.1 技术栈选型1.2 关键类说明1.3 线程模

Python实现图片分割的多种方法总结

《Python实现图片分割的多种方法总结》图片分割是图像处理中的一个重要任务,它的目标是将图像划分为多个区域或者对象,本文为大家整理了一些常用的分割方法,大家可以根据需求自行选择... 目录1. 基于传统图像处理的分割方法(1) 使用固定阈值分割图片(2) 自适应阈值分割(3) 使用图像边缘检测分割(4)

Windows Docker端口占用错误及解决方案总结

《WindowsDocker端口占用错误及解决方案总结》在Windows环境下使用Docker容器时,端口占用错误是开发和运维中常见且棘手的问题,本文将深入剖析该问题的成因,介绍如何通过查看端口分配... 目录引言Windows docker 端口占用错误及解决方案汇总端口冲突形成原因解析诊断当前端口情况解

使用Python开发一个带EPUB转换功能的Markdown编辑器

《使用Python开发一个带EPUB转换功能的Markdown编辑器》Markdown因其简单易用和强大的格式支持,成为了写作者、开发者及内容创作者的首选格式,本文将通过Python开发一个Markd... 目录应用概览代码结构与核心组件1. 初始化与布局 (__init__)2. 工具栏 (setup_t

Spring Shell 命令行实现交互式Shell应用开发

《SpringShell命令行实现交互式Shell应用开发》本文主要介绍了SpringShell命令行实现交互式Shell应用开发,能够帮助开发者快速构建功能丰富的命令行应用程序,具有一定的参考价... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定义S

Python通过模块化开发优化代码的技巧分享

《Python通过模块化开发优化代码的技巧分享》模块化开发就是把代码拆成一个个“零件”,该封装封装,该拆分拆分,下面小编就来和大家简单聊聊python如何用模块化开发进行代码优化吧... 目录什么是模块化开发如何拆分代码改进版:拆分成模块让模块更强大:使用 __init__.py你一定会遇到的问题模www.

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

使用Python自建轻量级的HTTP调试工具

《使用Python自建轻量级的HTTP调试工具》这篇文章主要为大家详细介绍了如何使用Python自建一个轻量级的HTTP调试工具,文中的示例代码讲解详细,感兴趣的小伙伴可以参考一下... 目录一、为什么需要自建工具二、核心功能设计三、技术选型四、分步实现五、进阶优化技巧六、使用示例七、性能对比八、扩展方向建