ADS下通过jlink v8调试easyARM2103

合集下载

EasyARM2104开发套件快速入门

EasyARM2104开发套件快速入门

EasyARM2104开发套件快速入门ADS 集成开发环境是ARM 公司推出的ARM核处理器集成开发工具成熟版本为ADS1.2Ö§³ÖÈí¼þµ÷ÊÔ¼°JTAG 硬件仿真调试C++源程序可以在Windows98本文将简单介绍使用ADS1.2建立工程并提供几个软件仿真的工程操作实例EasyJTAG 仿真器的安装与使用开始->CodeWarrior for ARM Developer SuiteÆô¶¯ADS1.2 IDE 如图1所示图1 启动ADS1.2 IDE点击New…图2 New 对话框选择工程模板为ARM可执行映象或Thumb然工程模板项目存放路径后在Project name°´Å¥¼´¿É½¨Á¢ÏàÓ¦¹¤³Ì1.2 建立文件建立一个文本文件New Text File图3µã»÷File)注意当然FileFiles即可弹出选择相应的源文件(可按着Ctrl 键一次选择多个文件)´ò¿ªProject来添加源文件File 5所示图4 在项目窗口中添加源文件New Text File图5 Select files to add…对话框1.4 编译连接工程如图6所示为项目窗口中的图标按钮编译连接它们从左至右分别为输出文件设置 同步修改日期Synchronize Modification Dates则在Touch栏标记Debug 启动AXD进行调试(快捷键为F5)²¢Ö±½ÓÔËÐгÌÐò²é¿´ºÍÅäÖÃÏîÄ¿ÖÐÔ´ÎļþµÄÐÅÏ¢图6 项目窗口中的图标按钮点击即可进行项目的地址设置如图7所示ARM Linker Language Settings图7 DebugRel Settings窗口对于简单的软件调试MakeÈô±àÒë³ö´í±à¼-´°¼´»áʹÓùâ±êÖ¸³öµ±Ç°³ö´íµÄÔ´´úÂëÐÐÄú¿ÉÒÔÔÚ图8 编译连接输出窗口如图9所示若打上图9 项目窗口中Make操作1.5 打开旧工程点击Open…单击FilesÔÚ¹¤³Ì´°¿ÚÖеã»÷¼´¿ÉÆô¶¯AXD进行调试(也可以通过OptionsÈçͼ10所示Target项中只有两项 图10 Choose Target窗口选择仿真驱动程序后File加载ELF格式的可执行文件调试观察窗口工具条如图12所示条如图13所示图11 运行调试工具条全速运行(Go)停止运行(Stop)单步运行(Step In)Step In命令将进入该函数 单步运行(Step)单步运行(Step Out)运行到光标(Run To Cursor)设置断点(Toggle BreakPoint)图12 调试观察窗口工具条打开寄存器窗口(Processor Registers)打开观察窗口(Processor Watch)打开变量观察窗口(Context Variable)打开存储器观察窗口(Memory)打开反汇编窗口(Disassembly)图13 文件操作工具条加载调试文件(Load Image)重新加载文件(Reload Current Image)ËùÒÔͨ³£Ê¹ÓÃReload实现复位(直接更改PC寄存器为零也可以)3 工程应用实例3.1 寄存器相加我们可以先看一个简单的ARM汇编程序程序结构及基本风格2节TEST1.S; 功能使用ARMulate软件仿真调试AREA Example1,CODE,READONLY ; 声明代码段Example1ENTRY ; 标识程序入口CODE32 ; 声明32位ARM指令START MOV R0,#0 ; 设置参数MOV R1,#10LOOP BL ADD_SUB ; 调用子程序ADD_SUBB LOOP ; 跳转到LOOPADD_SUBADDS R0,R0,R1 ; R0 = R0 + R1MOV PC,LR ; 子程序返回END ; 文件结束第1ʹÓÃ第4行声明一个代码段第5行标识程序入口第6行声明32位ARM指令第7±êºÅÒª¶¥¸ñÊéд(如START而指令不能顶格书写它会把返回地址(即下一条指令的地址)存到LR½«LR的值装入PC即可返回目的在于增强程序的可读性)编辑好文件后保存为TEST1.SÈô±àÒëÁ¬½ÓûÓгö´íÔËÐгÌÐòÇ°ÏÈ´ò¿ªRegisters窗口使用单步运行程序在进入ADD_SUB子程序后R14(即LR)寄存器值为0x0000800C图14 程序TEST1.S运行结果图3.2 变量访问ARM的LDR/STR指令用于对内存变量的访问外围部件的控制操作等等则实现程序跳转功能对变量NumCount进行加1操作TEST2.S; 功能使用ARMulate软件仿真调试NumCount EQU 0x40003000 ; 定义变量NumCountAREA Example2,CODE,READONLYENTRYMAIN LDR R0,=NumCount ; 使用LDR伪指令装载NumCount的地址到R0 LDR R1,[R0] ; 取出变量值ADD R1,R1,#1 ; NumCount=NumCount+1STR R1,[R0] ; 保存变量值HALT B HALTEND程序中先使用EQU定义NumCount 为0x40003000伪指令将NumCount的32位地址值装入R0¼Ó1操作后使用STR指令进行存储或使用LDRB STR指令 B HALT B .ÉèÖù۲ìµØַΪ0x40003000还可以更改该地址上的内容为0ÔËÐнá¹ûÈçͼ15所示图15 程序TEST2.S运行结果图3.3 GPIO设置ARM的LDR/STR指令用于对内存变量的访问外围部件的控制操作等等则实现程序跳转功能对GPIO的控制寄存器进行设置操作TEST3.S; 功能IOSET寄存器进行设置; 说明即设置值STR R1,[R0,#0x0C] ; IODIR=0x00FFFF00IOSET的地址为0xE0028004B .END程序中使用了前索引偏移的STR指令实现寄存器的设置程序中用到了MOV R1,#0x00F00000¶øMOV指令只能装载8位图立即数设置观察地址为0xE0028000使用单步运行程序0xE0028004(IOSET寄存器)的值图16 程序TEST3.S运行结果图3.4 程序散转ARM的LDR/STR指令用于对内存变量的访问外围部件的控制操作等等则实现程序跳转功能使用LDR进行查表TEST4.S; 功能使用ARMulate软件仿真调试NumCon EQU 0x40003001 ; 定义变量NumCnAREA Example4,CODE,READONLYENTRYMAIN LDR R0,= NumConLDRB R2,[R0] ; 取得跳转控制变量值MOV R2,R2,LSL #2 ; 功能号乘上4²¢ÌøתNOPFUN_TAB DCD FUN_SUB0 ; 跳转表DCD FUN_SUB1DCD FUN_SUB2DCD FUN_SUB3; 各功能分支FUN_SUB0 B MAINFUN_SUB1 B MAINFUN_SUB2 B MAINFUN_SUB3 B MAINEND程序中使用将查表所得到的值存入PC即实现跳转当执行这条指令时其PC值已经指向前2条指令处运行程序前先打开Memory窗口显示方式Size为8Bitͨ¹ýÐÞ¸Ä0x40003001(NumCon)的值实现各分支(由于程序没有防错功能运行结果如图17所示图17 程序TEST4.S运行结果图4 LPC2100系列ARM7微控制器工程模板在第1节介绍新建立工程时使用各个模板建立的工程如ARM 可执行映象或Thumb ARM指令交织的代码)ÎÒÃǶ¨ÒåÁË6个工程模板片内RAM起始地址0x40000000Ä£°åÖаüº¬ÁËLPC2100系列ARM7微控制器的起动文件STARTUP.S模板还包含了LPC2100系列ARM7微控制器的头文件(如分散加载描述文件(如mem_c.scf)等等操作如图18和图19所示以后就可以直接使用工程模板了图18 选择拷贝的文件和目录图19 复制文件目录4.2 使用LPC2100专用工程模板建立工程启动ADS1.2 IDE File即弹出New对话框所以在工程模板栏中多出几项工程模板选项图20 增加的工程模板其中asm for lpc21xx无操作系统时部分C代码编译为ARM指令Thumb Executable Image for lpc21xx所有C代码均编译为ARM指令的µC/OS-II工程模板Thumb Executable Image for UCOSII(for lpc21xx)ʹÓõC/OS-II时如图21所示为使用ARM Executable Image for lpc21xx 工程模板建立的一个工程DebugInRAM它们的配置如表1所示可以直接使用即可模板是按片内RAM为16K字节设计的mem_b.scf和mem_c.scf)比如0x40006000表1 LPC2100专用工程模板target system配置target system 分散加载描述文件 调试入口点地址 C优化等级 应用说明 DebugInRAM mem_b.scf 0x40000000 Most 片内RAM调试模式程序在片内FLASH中RelInFLASH mem_a.scf 0x00000000 Most 片内FLASH工作模式图21 用LPC2100专用工程模板建立的工程5 EasyJTAG仿真器的安装与应用EasyJTAG仿真器是广州周立功单片机发展有限公司开发的LPC2100系列ARM7微控制器的JTAG仿真器支持单步采用ARM公司提出的标准20脚JTAG仿真调试接口其驱动程序可在网站下载获得图22 EasyJTAG仿真器实物外观5.1 安装EasyJTAG仿真器首先如C:\Program Files\ARM\ADSv1_2\BIN½øÈëAXD调试环境OptionsÈçͼ10所示添加仿真器的驱动程序点击注意文件夹选项(O)...隐藏文件并将仿真器JTAG口接头插入EasyARM2104开发实验板的J6在AXD调试环境, 打开Configure Target...框中选择点击进入在在ADS1.2 IDE环境中按F5或Debug图标按钮即可直接进入AXD´¦Àí·½·¨Êǵã»÷È»ºóÔÚе¯³öµÄLoad Session窗口中点击若进入AXD后File菜单项无效时Options点击再点击LoadImage…图23 session文件错误提示注意如图24所示项确定退出File加载调试文件图24 Fatal AXD错误提示片内外设的寄存器观察System Views即可打开LPC2100系列ARM7微控制器的片内外设寄存器窗口所以在片内外设寄存器窗口中不能找到使用存储器观察窗口(Memory)来实现进入AXD调试环境Optionsµã»÷½øÈëÔÚ然后确定退出将会擦除FLASH并下载代码到FLASH中Not Erase FlashÒª½«³ÌÐòÏÂÔص½Ð¾Æ¬µÄFLASH中(即固化程序)¹Ì»¯³ÌÐò¿Éͨ¹ýÁ½ÖÖ·½Ê½ÊµÏÖÓû§¾ùÒªÏÈÉèÖñàÒëÁ´½ÓµÄµØÖ·±ÈÈçʹÓÃLPC2100专用工程模板时其分散加载描述文件mem_a.scf如程序清单5所示ROM_LOAD为加载区的名称存放程序代码表示加载区起始地址为0x00000000ROM_EXEC描述了执行区的地址空间大小与加载区起始地址其中Startup.o为Startup.s的目标文件)变量区IRAM的起始地址为0x40000000接着放置其它文件的变量(即* (+RW,+ZI))由于ARM的堆栈一般采用满递减堆栈放置描述为stack.o (+ZI)LPC2105改为0x40008000{stack.o (+ZI)}}6.1 使用JTAG接口下载使用JTAG接口下载程序到FLASH是需要JTAG仿真器的支持这样就可以使用这一功能将程序下载到FLASH中然后编译链接若用户所选择的是EasyJTAG仿真器调试仿真器的配置设置中的"FLASH"项选择"Erase Flash when need")Ö»ÒªÄã¼ÓÔص÷ÊÔÓ³ÏñÎļþEasyJTAG仿真器即把程序下载到指定的FLASH空间可以通过串口进行程序下载打开项目的DebugRel Settings窗口如图25图25 设置Post-linker在ARM formELF项中设置输出文件类型也可指定目录如图26图26 生成文件设置生成HEX文件后并将实验板上的ISP(JP1)跳线短接并设置串口晶振频率项单位为kHz)等图27 LPC210x ISP软件设置设置好参数后读取芯片ID号ReadPart ID Successfully! ·ñÔòÊ×ÏÈ°´EasyARM2104开发实验板上的RST键复位 图28 复位LPC210x提示连接成功后然后在Filename项中输入要下载的HEX文件全名程序固化后重新复位系统即可运行程序0x0000001c地址上的指令机器码)32位累加和为零。

Jlink调试mini2440

Jlink调试mini2440

JLINK调试友善之臂mini2440/micro2440一、准备工作1、USB线连接JLINK V8;2、将JLINK上的JTAG线连接到mini2440/micro2440开发板;3、将mini2440/micro2440开发板的启动模式(开关S2)切换到norflash启动模式;4、连接直连串口线;5、打开超级终端;6、打开电源开关。

二、调试步骤如下:1、打开J-Link GDB Server软件,软件打开后提示如下信息,则表示连接成功。

2、打开目录F:\ARMprj\mini2440\myled下的myled工程文件,该文件是ADS1.2下开发。

初始化文件库文件库文件包含头文件主函数,也就是我们要修改的3、编译文件,点击Project->make选项或者直接单击快捷方式编译单击编译快捷方式编译调试信息:0 表示没有错误,如果提示错误信息,程序上有问题1表示警告,这个一般没关系2表示显示信息4、在程序编译没有问题后,下一步就要进入调试了,单击菜单Project->Debug 或者单击进入调试界面,在AXD界面,单击菜单Options->Configure Target...,弹出如下界面:1、选中…\jlinkARM_v412\jlinkRDI.dll2、单击Configure按钮,对JLINK进行配置5、对JLINK进行配置,打开Init选项把2440的配置文件加载进来,该文件位于E:\J-link\脚本文件\s3c2440.setup下,如图所示:5、单击菜单Target->Connet ,连接开发板开始装载工程文件,如图所示:单击按钮,将2440配置加载进来 记得勾选 完成以上步骤后,点确认退出单击OK 退出6、加载工程成功后,单击菜单Execute->Go 或单击按钮,全速运行,一般主函数入口地址都设有断点,全速运行可以直接进入到主函数里,如图所示:提示找到CPU 内核和ID 号7、至此JLINK调试mini2440/Micro2440完成。

Jlink 调试

Jlink 调试

如何使用Jink 调试 Mini INS/GPS本文档主要解决以下问题:1. Mini INS/GPS的SWD仿真接口的定义2. Jlink 仿真器如何连接SWD仿真接口3. 如何使用Jflash 下载目标HEX格式文件4. 如何使用J link 仿真和调试程序为了方便用户调试姿态解算程序,Mini INS /GPS 提供了SWD 调试接口。

它只需要4个引脚就可以仿真和调试STM32F 的程序。

1. SWDIO 数据通信引脚2. SWDCLK 时钟引脚3. GND 公共地,需要与仿真器的地连接在一起4. VCC 3.3V 电源,有的仿真器用于检测目标芯片是否已上电。

以下是SWD 仿真接口在Mini INS/GPS 板子上的位置和引脚定义Mini INS /GPS 的SWD 调试接口双色状态指示LEDSWD 调试接口Jlink 仿真器的接口SWD 接口Jlink 仿真器J-Link是SEGGER公司为支持仿真ARM内核芯片推出的JTAG仿真器。

配合IAR EWAR,ADS,KEIL,WINARM,RealView等集成开发环境支持所有ARM7/ARM9/ARM11内核芯片的仿真,通过RDI接口和各集成开发环境无缝连接,操作方便、连接方便、简单易学,是学习开发ARM最好最实用的开发工具。

Jlink 是分版本的,只有Jlink V6 或者更高版本的Jlink 才支持SWD 接口目前市面上的大都是Jlink V8版本,这是完美支持SWD 调试的注意:SWD 数据SWD 时钟目标板电压目标板GND只需连接其中一个就可Mini Jlink 与模块的连线图如下Mini Jlink 的应用Mini Jlink 功能:1.支持SWD调试,支持STM32F系列单片机的仿真2.只需要三条线,就可以进行芯片的下载程序和仿真操作 大大减少IO连接3.兼容 JLink的SWD调试部分。

特别提示:Mini Jlink并不向目标板提供电源,在编程和仿真时,目标板必须自行连接电源Jlink 与 Mini IMU 的SWD接口连接如何使用 Jflash 将已编译好的Hex下载到STM32单片机JFlash是Jlink驱动安装时就已经安装好,专门用于写处理器Flash数据的。

EasyARM2103嵌入式开发平台

EasyARM2103嵌入式开发平台
LQFP48和PLCC44的小型封装, 使得LPC2103系列ARM满足苛刻空 间要求。特别适合于将小型化作为 主要要求的应用。
➢ LPC2103系列芯片新亮点
更高速度
高达70MHz的内核速度
1、内置PLL倍频功能,将内核频率升至70MHz。 2、嵌入高速Flash,拥有128位宽度存储器接口和独特
64 KB
32 KB 16 KB
8 KB
4 KB
2 KB
LPC2470 LPC2460 LPC2220 LPC2880
LPC2210 LPC2290
LPC2132 LPC2142 LLPPCC22110033 LLPPCC22113311 LLPPCC22114411
LLPPCC22110022
LPC2106
与高级51系列单片机相比,LPC2103系列具有极高的 性/价比优势。尤其是LPC2101与单片机价格相差无几。
EasyARM2103开发平台
EasyARM2103开发板是广州周立功公司面向在校师生而研 发的一款嵌入式开发套件,具有极高的性价比,配套提供详细的 教材和大量完整的设计方案,适用于学习、竞赛和毕业设计多层 次开发。
捕获比较计数器常用于记录脉冲个数,可用于制作数字频 率计, 在工业控制和自动化系统中,常用于记录涡轮传感器的 脉冲数,从而计算出流量。LPC2103定时器具有多路32位的捕 获通道。当输入信号跳变时可取得定时器的瞬时值,也可选择捕
获事件产生中断。
➢ 功能特性
定时器/计数器
EasyARM2103的定时器
LPC2138 LPC2148
LPC2888
LLPPCC22110011
0KB
8KB
16KB
32KB

HelloM3_JLINK V8固件烧录指导

HelloM3_JLINK V8固件烧录指导

J-LINK V8 固件烧录指导1J-LINK V8固件烧录指导J-LINK 是使用过程中,如果内部固件意外损坏或丢失,请参考下面操作步骤说明,重新烧录JLINK固件。

1.1安装固件烧录软件请ATMEL官方网址下载AT91-ISP下载软件。

软件下载地址:/dyn/products/tools_card.asp?tool_id=3883在打开的网页中,下载下图中红色框所示软件。

安装下载好的Install AT91-ISP v1.13.exe软件双击Install AT91-ISP v1.13.exe运行,选择默认设置,安装好以后,桌面上生成如下两个图标。

1.2擦除芯片并进入编程模式打开JLINK 外壳,见到JLINK内部电路如下图所示。

A = ERASEB = TST使用USB线连接JLINK与PC机,以提供JLINK工作电源。

短接图中A的两个过孔约5秒。

断开A位置的两个过孔的短接。

然后拔掉JLINK与P C 间的USB线(注意先后顺序)。

短接图中,B处的两个过孔。

使用USB线连接JLINK与PC机,至少超过10秒后,拔掉USB线,停止给JLINK供电(说明:请确保此过程中,图中B处一直处于可靠的端接状态)。

断开图中B处的短接。

1.3更新固件双击桌面上的SAM-PROG v2.4图标,运行SAM-PROG v2.4烧录软件,按下图所示进行设置。

将JLINK V8通过USB线与PC机连接。

此时,SAM-PROG v2.4软件中的Write Flash 按钮将变为有效。

(注意,先打开SAM-PROG v2.4再连接JLINK 与PC机)。

点击Write Flash 按钮,烧录固件,待烧录完成后,Active Connection:将变为1。

拔掉JLINK与PC机之间的USB线。

至此,JLINK V8的固件已经更新完毕,正常情况下,连接电脑与JLINK V8时,JLINK V的指示灯将闪烁,然后常绿。

请参照JLINK V8用户手册说明,使用JLINK V8进行调试仿真。

ADS实验调试方法

ADS实验调试方法

图 3 :ARM Link 的 Options 设置 Options 中的 Image entry point 表示映像的入口点 (地址) , boot.o(boot) 表示系统从目标
文件 boot.o 中 boot 段开始运行。
图 4: ARM Link 的 Layout 设置 在 Layout 中, Place at beginning of image 下的 Object/symbol 表示目标文件,Section 表 示目标文件中的代码段。这与 Options 中的 Place at beginning of image 相同。 2、执行 ProjectMake ,也可以直接用快捷键 F7 进行编译、连接生成映像文件。如图 5 所示,执行后,会出现编译、连接后的结果,如图 6 所示。
图 30 :中断调试 2、执行 Go,让系统运行起来,之后再停止下来,我们可以看到程序进入等待中断 的状态。如图 31 所示:
图 31 :进入等待中断状态 3、在中断服务子程序里面设置断点,如图 32 所示:
图 32 :设置断点 4 、再执行 Go,让系统运行起来,当通过按键产生中断后,系统就会跳到中断服务子程 序里面执行,并停止在断点处。如图 33 所示:
图 9 : Execute 下拉列表命令 下面我们分别执行各个命令: Go :让系统运行,执行结果如图 10 所示:
图 10:运行 Go
Stop:停止系统的运行,如图 11 所示。
图 11:运行 Stop 当运行 Stop 命令后,光标就会停在运行到的地方。 Step In:进入函数体内执行。如图 12 所示,表示还没有进入之前,图 13 表示进入后的 运行情况。
图 22:处理器属性 清除掉 Vector cath 和 Semihosting ,如图 23 所示:

ads+jlink和keil+jlink调试环境配置 .

ads+jlink和keil+jlink调试环境配置 .

ads1.2 and jlinkv81.安装ads1.2和jlink驱动Setup_JLinkARM_V408i.exe安装ads1.2时,最后在100%时如果持续时间长,耐心等一下吧。

没有等待而点了cancel,则之后就不好重装了。

2.将线连好:pc的usb口连到jlink的usb口,jlink的jtag口连到板子的jtag口。

由于我的jlink的jtag口20pin而板子jtag口10pin,所以中间用一个转接小板转接了一下将板子的flash开关在nor或nand均可,将板子上电,在开始里打开jlink gdb server,应该会出现下图,恩,jlink没坏3.确保TQ2440_Test工程的路径中不存在中文,/detail/songqqnew/3636198在TQ2440_Test中双击TQ2440_Test.mcp,出现点击debug,弹出axd窗口如下,(貌似还弹出了load session的窗口,关闭了就行)4.在axd中点击configure target弹出下图add 一个文件JLinkRDI.dll,默认在C:\Program Files\SEGGER\JLinkARM_V408i,添加后如下图然后点configure,然后在弹出的窗口中点确定,然后点OK5.在axd中点击configure interface,弹出串口,在session file标签页配置script脚本文件init_sdram.txt,路径中不要中文init_sdram.txt内容如下[cpp]view plaincopyprint?1.Setmem 0x53000000 0x00000000 322.Setmem 0x4A000008 0xFFFFFFFF 323.Setmem 0x4A00001C 0x000007FF 324.Setmem 0x53000000 0x00000000 325.Setmem 0x56000050 0x000055AA 326.Setmem 0x4C000014 0x00000007 327.Setmem 0x4C000000 0x00FFFFFF 328.Setmem 0x4C000004 0x00061012 329.Setmem 0x4C000008 0x00040042 3210.Setmem 0x48000000 0x22111120 3211.Setmem 0x48000004 0x00002F50 3212.Setmem 0x48000008 0x00000700 3213.Setmem 0x4800000C 0x00000700 3214.Setmem 0x48000010 0x00000700 3215.Setmem 0x48000014 0x00000700 3216.Setmem 0x48000018 0x0007FFFC 3217.Setmem 0x4800001C 0x00018005 3218.Setmem 0x48000020 0x00018005 3219.Setmem 0x48000024 0x008E0459 3220.Setmem 0x48000028 0x00000032 3221.Setmem 0x4800002C 0x00000030 3222.Setmem 0x48000030 0x00000030 32然后确定,然后关闭axd,6.然后在ads中再次点击debug,如果此时弹出的画面是如下,就再次执行一下第4 5步,貌似因为之前的配置没被保存7.然后在ads中再次点击debug,如果此次弹出的画面如下,即要求定位到2440init.s文件,那就找到到ads工程源码中的这个文件,点击打开点击打开之后,应该就可以出现以下窗口接下来点击go或按F5 等调试就可以了在操作过程中,点击debug后如果又出现一些问题,那么就执行一下configure interface 或configure target/**************************************************************************************************** *******************************************************************/keil4 and jlinkv81.安装keil4 和jlink驱动Setup_JLinkARM_V408i.exe2.打开keil4,新建一个工程,名为test3.在接下来的框中选择samsung的s3c2440a芯片,如下4.在接下来的框中选择是,使用官方启动脚本,如下5.配置板子target:debug:Ext_RAM.ini是手动在工程目录建立的文件,其内容如下[cpp]view plaincopyprint?1./******************************************************************************/2./* Ext_RAM.INI: External RAM (SDRAM) Initialization File*/3./******************************************************************************/4.// <<< Use Configuration Wizard in Context Menu >>>//5./******************************************************************************/6./* This file is part of the uVision/ARM development tools.*/7./* Copyright (c) 2005-2008 Keil Software. All rights reserved.*/8./* This software may only be used under the terms of a valid, current,*/9./* end user licence from KEIL for a compatible version of KEIL software */10./* development tools. Nothing else gives you the right to use this software. */11./******************************************************************************/12.13.14.FUNC void SetupForStart (void) {15.16.// <o> Program Entry Point17. PC = 0x30000000;18.}19.20.21.FUNC void Init (void) {22.23. _WDWORD(0x4A000008, 0xFFFFFFFF); // Disable All Interrupts24.25. _WDWORD(0x53000000, 0x00000000); // Disable Watchdog Timer26.27. // Clock Setup28. // FCLK = 300 MHz, HCLK = 100MHz, PCLK = 50 MHz29. _WDWORD(0x4C000000, 0x0FFF0FFF); // LOCKTIME30. _WDWORD(0x4C000014, 0x0000000F); // CLKDIVN31. _WDWORD(0x4C000004, 0x00043011); // MPLLCON32. _WDWORD(0x4C000008, 0x00038021); // UPLLCON33. _WDWORD(0x4C00000C, 0x001FFFF0); // CLKCON34.35. // Memory Controller Setup forSDRAM36. _WDWORD(0x48000000, 0x22000000); // BWSCON37. _WDWORD(0x4800001C, 0x00018005); // BANKCON638. _WDWORD(0x48000020, 0x00018005); // BANKCON739. _WDWORD(0x48000024, 0x008404F3); // REFRESH40. _WDWORD(0x48000028, 0x00000032); // BANKSIZE41. _WDWORD(0x4800002C, 0x00000020); // MRSRB642. _WDWORD(0x48000030, 0x00000020); // MRSRB743.44. _WDWORD(0x56000000, 0x000003FF); // GPACON: Enable Address lines for SDRAM45.}46.47.48.// Reset chip with watchdog, because nRST line is routed on hardware in a way49.// that it can not be pulled low with ULINK50.51._WDWORD(0x40000000, 0xEAFFFFFE); // Load RAM addr 0 with branchto itself52.CPSR = 0x000000D3; // Disable interrupts53.PC = 0x40000000; // Position PC to start of RAM54._WDWORD(0x53000000, 0x00000021); // Enable Watchdog55.g, 0 // Wait for Watchdog to resetchip56.57.Init(); // Initialize memory58.LOAD .\test.axf INCREMENTAL // Download program59.SetupForStart(); // Setup for Running60.g, main // Goto Main上面倒数第三行是需要改动的,在本例中是test.axf。

实验四、GPIO输出实验-流水灯

实验四、GPIO输出实验-流水灯

实验四:GPIO 输出控制实验一、实验目的1. 掌握LPC21XX 专用工程模板的使用;2. 掌握EasyJTAG 仿真器的安装和使用;3. 能够在EasyARM21XX 开发板上运行第一个程序(无操作系统);4. 熟悉LPC2000 系列ARM7 微控制器的GPIO 控制。

二、实验设备硬件:PC 机一台、EasyARM2103 开发板一套软件:Windows98/XP/2000 系统,ADS 1.2 集成开发环境三、实验内容控制EasyARM2103 开发板上的LED闪烁形成流水灯效果。

四、实验预习要求仔细阅读《EasyARM2103》手册第4 章的内容,熟悉GIPO的设置。

仔细阅读《EasyARM2103》第 2 章的内容,了解EasyARM2103 开发板的硬件结构,注意LED灯的相关控制电路。

仔细阅读《EasyARM2103》第 3 章的内容,了解ADS 1.2 集成开发环境、LPC2200 专用工程模板、EasyJTAG 仿真器的应用。

五、实验原理如何在EasyARM2103 上运行第一个程序。

安装ADS 1.2 (PC)了解ADS 1.2 (PC)连接EasyJTAG 仿真器和EasyARM2103 开发板(硬件)安装EasyJTAG 驱动程序(PC)添加工程模板(PC)用工程模板建立第一个工程(PC)仿真调试第一个工程(PC+硬件)说明:(PC) ----------------属于在PC 机上操作,即软件的操作(硬件) --------------属于开发板硬件操作(PC+硬件) --------属于在PC 机上进行软件操作,硬件上要连接或跳线操作六、实验步骤1. 连接EasyJTAG 仿真器和EasyARM2103 开发板,然后安装EasyJTAG 仿真器的驱动程序(若已经安装过,此步省略)。

2. 为ADS1.2 增加LPC2103 专用工程模板(若已增加过,此步省略)。

3. 启动ADS 1.2,使用ARM Executable Image for lpc2103 工程模板建立一个工程BeepCon_C。

【原创】Jlink在ADS下的配置说明及常见问题解决办法

【原创】Jlink在ADS下的配置说明及常见问题解决办法

【原创】Jlink在ADS下的配置说明及常见问题解决办法Jlink在ADS下的配置说明及常见问题解决办法Zhaoxj参考⽂档:*1、TQ2440开发板使⽤⼿册V3.2_20121203.pdf2、JLINK ADS 2440.pdf注:1、本说明是针对S3C2440⽽写的。

其他的配置基本⼀样,就是型号要改。

我会在⽂章中说明,反正出现的问题都差不多。

2、针对裸板开发及笔记本的J-Link与开发板的连接及配置的⼀些问题进⾏总结跟解决。

裸机下开发软件⽤的是ARM Developer Suitev1.2(ADS)。

3、重点在于JLink 的配置问题上,把我遇到的问题说明,欢迎补充!最近搞了好⼏天的J-Link调试,找开发板的技术也没解决。

在⽹上找了好多⼈家的经验。

把⾃⼰⼀步⼀步的问题都解决了。

其实还是卡在了最后⼀步上,⽹上也搜不到这样的问题,估计也是偶然性的问题,最后算是凭着运⽓搞定了吧。

⽆⽐欣喜。

我想对S3C2440⽤ADS开发及J-Link调试下的⼀些注意点做⼀下总结,也希望对看到的⼈有所帮助。

欢迎分享!⼀、编译源代码、⽣成bin软件:ADS1.2 很简单,没什么要注意的。

最后破解⼀下就可以。

装完后在开始菜单下有⼀个ARM Developer Suite v1.2⽬录,打开,我们⽤的是⾥⾯的第⼀AXD Debugger(AXD)跟第⼆个CodeWarrior for ARM Developer Suite(IDE),IDE就是源代码编译⽣成bin的。

1、 IDE相关配置a、新建⼯程,选可执⾏镜像。

再新建或直接添加代码。

代码的管理也很简单。

*b、建好的⼯程下有⼀个***.mcp(mcp是⼯程名,以后直接打开它即可,也可以直接拖拽)的窗⼝,点击DebugRel Setting(我们这⾥默认的是DebugRel,⽣成的bin⽂件也在那⾥⾯)在弹出的设置对话框⾥做如下设置:1、 Target->Target Setting要改Post-Linker(ARM fromELF)2、Language Setting ⾥都改成ARM920T,其他型号的内核也做相应的改动。

嵌入式- JLINK实验手册-ADS篇-V1.1

嵌入式- JLINK实验手册-ADS篇-V1.1

嵌入式家园培训JLINK实验手册---ADS篇一 uart 串口实验实验内容:使用JLINK+ADS,跳线设置此时从NandFlash启动,使用AXD将程序下载到NandFlash 0x0地址,,实现在线调试。

实验步骤:1.先不要接上硬件2.安装JLink驱动:windows\Setup_JLinkARM_V402.exe是JLink的驱动安装程序程序,直接运行即可;3.硬件连接,上电。

4.安装USB转串口驱动:5.“windows\CDM 2.04.14”里是USB转串口的驱动程序,检测到"USB Serial Port"新硬件时,指定驱动程序的查找路径为这个目录即可。

6.配置AXD:1)点击 Options->Configure Interface…2) AXD下需要加载一个SDRAM初始化文件。

AXD下-->Option->Config Interface->session file->run configuration script。

点击“浏览”,找到SDRAM初始化配置文件,我在这里制作了adsconfigfile.txt,读者也可以自行制作初始化文件。

3)点击AXD下-->Option->Config Target…4)点击Add,添加 C:\Program Files\SEGGER\JLinkARM_V402\JLinkRDI.dll并点中JLinkRDI.dll(注意一定要用鼠标点击下JLinkRDI.dll),接着点击OK5)点击AXD下-->Option->Config Processor…6)去掉Semihosting前面的小勾,然后单击OK7、点击AXD下-->File>Load Image…,加载编译成功的axf映像文件:uart.axf8、运行调试,这样这样,就可以在超级终端,任意输入一个字母,而在超级终端上显示的为:输入字母的后面一个字母。

JLINK V8 固件修复指导

JLINK V8 固件修复指导

JLINK V8 固件修复指导JLINK V8 使用过程中,如果自身固件意外失效,参考本文档,重新恢复固件,就可以了。

至于为什么会丢失固件,我们已经有了一点经验,比如,JLINK V8,您打开jcommander后,提示升级固件,此时选择不升级,在命令行中操作一下jlink(例如,设置power on命令对外供电)。

此时再打开一个mdk的工程,在mdk中也会提示您升级固件,此时选择升级。

那么这个jlink的固件就100%挂掉了,只能恢复。

分析了一下原因,是同一个jlink有多个进程在操作,此时就有可能会冲突了。

1. 安装固件烧录软件(该软件win7不能正常工作)解压Install AT91-ISP v1.13.rar 后,运行Install AT91-ISP v1.13.exe 进行安装。

2. 打开JLINK V8外壳,按下图操作3. 严格按顺序操作,使芯片进入编程状态3.1 用USB线连接JLINK与PC,为JLINK 供电3.2 可靠短接,图中“ERASE”处的两个过孔,保持30秒3.3 断开“ERASE”处的短接3.4 拔掉JLINK与PC间的USB线3.5 可靠短接,图中“TST”处的两个过孔(3.6-3.8操作时,该处一直处于短接状态)3.6 用USB线连接JLINK与PC,为JLINK 供电(不要放开“TST”处短接)3.7 保持30秒(不要放开“TST”处短接)3.8 拔掉JLINK与PC间的USB线(不要放开“TST”处短接)3.9 至此,断开“TST”处的短接按照以上顺序操作后,jlink的主芯片,将可以被编程了。

4.为此时的jlink安装驱动此时把JLINK通过USB线与电脑相连,初次使用时,需要安装驱动,驱动位置如下:C:\Program Files\ATMEL Corporation\AT91-ISP v1.13\sam-ba 2.9\drv如果安装路径不同,注意选择一下5、打开烧录软件6、看图,按顺序操作注意选择所要的烧写的bin文件点击烧写等待烧写完成,箭头中的“1”表示正在进行,完成后,会变成“0”OK,完成了,此时JLINK应该红灯长亮,点击“EXIT”退出此时重新插拔jlink,就能正确找到了,使用中还是要注意,是否有多进程操作jlink的情况,如果您能复现固件丢失情况,请及时联系我们,谢谢。

ADS下利用JLINK调试

ADS下利用JLINK调试

ARM + JLINK进行程序调试Author:KLData :2012-4-12一、设置AXD1.配置ARM Debugger 选项,选用AXD(默认)。

2.打开Segger的J-Link GDB Server Jtag,若jlink已链接上cpu,则会弹出如图所示界面,否则检查jtag链接情况。

3.打开工程,编译程序,配置链接选项等等。

然后点击debug按钮,弹出AXD的界面。

4.配置一下AXD中的Target和Interface选项,配置一次就可以了,以后不用了。

Target中加上JlinkRDI.dll,在Jlink的安装目录中。

Interface中配置一下初始化脚本,在configure interface中的Session Files中,选上Run Configuration Script, 并选择你的初始化脚本,具体格式看帮助,这里贴出s3c2410a的初始化脚本,就是初始化sdram,等。

然后确定。

Init.ini内容:Setmem 0x53000000 0x00000004 32Setmem 0x4A000008 0xFFFFFFFF 32Setmem 0x4A00001C 0x000007FF 32Setmem 0x4C000014 0x00000003 32Setmem 0x4C000004 0x000A1031 32Setmem 0x48000000 0x22111110 32Setmem 0x48000004 0x00000700 32Setmem 0x48000008 0x00000700 32Setmem 0x4800000C 0x00000700 32Setmem 0x48000010 0x00000700 32Setmem 0x48000014 0x00000700 32Setmem 0x48000018 0x00000700 32Setmem 0x4800001C 0x00018005 32Setmem 0x48000020 0x00000700 32Setmem 0x48000024 0x008E0459 32Setmem 0x48000028 0x000000b2 32Setmem 0x4800002C 0x00000030 32Setmem 0x48000030 0x00000030 325.重新打开AXD,就可以看到初始化过程了,然后就可以调试了。

jlink的使用方法

jlink的使用方法

jlink的使用方法JLink是Segger公司开发的一款用于嵌入式系统的调试和仿真工具。

它是一种硬件和软件的解决方案,可用于调试和烧录各类微控制器,如ARM和Cortex-M系列。

在本文中,我将详细介绍JLink的使用方法,并提供一些常见问题的解决方案。

一、JLink的配置要使用JLink进行调试和仿真,首先需要进行一些基本的配置。

以下是配置JLink所需的步骤:1.安装JLink软件和驱动程序:在Segger官方网站上下载JLink软件并进行安装。

安装完成后,选择适合您的操作系统的驱动程序进行安装。

2.连接JLink调试器:将JLink调试器连接到电脑的USB接口上。

在连接之前,确保JLink调试器已插入目标设备上的JTAG或SWD接口。

3.配置调试选项:打开JLink软件,并选择目标设备的型号和调试接口类型。

您可以在菜单栏上的“文件”选项中找到这些选项。

4.配置调试连接:选择正确的调试连接选项,如JTAG或SWD。

您还可以选择连接速度和其他调试选项。

5.配置目标设备:选择目标设备的工作电压、频率等参数。

这些参数应与目标设备的规格书相匹配。

通过上述步骤配置JLink之后,您就可以开始使用JLink进行调试和仿真。

二、JLink的调试功能JLink具有强大的调试功能,可以帮助开发人员诊断和解决嵌入式系统中的问题。

以下是一些常见的JLink调试功能:1.断点调试:使用JLink可以设置断点,在程序执行到特定的代码行时暂停执行,以便开发人员检查程序状态和变量值。

2.单步调试:JLink支持单步调试功能,可以逐条执行程序,并在每个代码行上暂停执行,以便开发人员检查程序的执行流程。

3.变量监视:JLink可以监视变量的值,以便开发人员可以实时查看变量的值,并在程序运行时进行调试。

4.内存查看:JLink可以查看目标设备的内存内容,包括程序代码、数据和堆栈信息等。

这对于分析内存泄漏和其他相关问题非常有帮助。

用JLink(V8)__AXD烧...

用JLink(V8)__AXD烧...

确定打开后,会自动打开如下图中所示的 2440init.s 文件。按 F5 或在菜单栏中点 ExecuteGo,运行之。
结果会自动弹出下面的对话框,注意红框中的文字是要求用户找到名为 u2440mon.c 的 文件并打开。
-9-
u2440mon.c 在本人笔记本电脑上源码压缩包解压缩后的路径是: F:\飞凌(FL)2440\Bootloader\源码\2440BOOT_V5.1_FL\src\u2440mon.c
-7-
找到 2440init.s 文件并打开后,如下图。按 F5 或在菜单栏中点 ExecuteGo,运行之。
运行 2440init.s 几秒钟后,按 Shift + 2440init.s 运行。 此时,这个 2440init.s 关闭与否都没关系。
F5 或在菜单栏中点 ExecuteStop,停止
-2-
图中红色小板是三口转接板。 注意: 记得要在上图红框所示 USB 插口 (在开发板电源插孔旁边) 与笔记本电脑之间连 USB 线。 但不必在烧写 BootLoader 时就连上。 二、基本过程 1、先利用 JLink 将 BootLoader 烧写到开发板上。 2、 BootLoader 烧写成功后, 开发板断电, 并将 JLink 与开发板的连接断开。 这点很重要。 不熟悉的人或初学者常常在这一步发生问题。 3、开发板重启,将 USB 线与开发板连接。 4、先下载 WinCE6.0 操作系统——开发板使用手册等资料上说,下载 WinCE6.0 之前, 要先将 Linux 的文件系统擦除!一定要记得这个提示。否则先下载了 Linux 操作系统之后,再 下载 WinCE6.0 操作系统时,就会出问题,而且还不知道为什么! ! ! 注意: 这里“操作系统”是指 Linux = 内核 + 文件系统; 或 WinCE6.0 = 内核 + EBoot 本人没有试过只下载了 Linux 内核而没有下载其文件系统时, 下载 WinCE6.0 操作系统的 后果。上面的提示没包括 Linux 内核在内,那么这样做应该没问题吧。 5、然后下载 Linux 操作系统。 注意:随板光盘上有 2.6.12 和 2.6.28 两个内核,区别只在于触摸屏驱动不同。在开发板 光盘上的文件夹 Linux2.6.12 和文件夹 Linux2.6.28 里有说明。 而且在文件夹 Linux2.6.12 中有 zImage1 和 zImage2 两个内核映像文件,分别适用于 不同尺寸的触摸屏。 本人开发板是 3.5 寸的触摸屏。 所以选用文件夹 Linux2.6.12 中 zImage1 和 qte_touch.yaffs 来下载。这样可以保证下载成功后,初次启动 Linux 时,在 QTopia 下对 触摸屏校准一次性通过。

JLINK在ADS下调试心得

JLINK在ADS下调试心得

JLINK在ADS下调试心得前两天一个客户用jlink在ADS来调试LPC2148总报错,这个错误我之前在调试LPC2200的时候也碰到过,后来在醇酒兄的指导下问题解决了,在这谢谢醇酒兄。

发贴和大家分享一下。

1、在AXD下添加JLINK选择Options下面的Config T arget,如下图所示:JLINK_ADS_1.jpg单击Add按钮,添加jlinkRDI.dll(确保你已经安装了segger公司提供的驱动程序,本说明安装的为3.80a),如下图所示:JLINK_ADS_2.jpg添加完成后,如下图所示:JLINK_ADS_3.jpg2、配置JLINK接上面,添加完成后,点击Configure,出现JLINK设置对话框,我们这里主要是选择我们要调试的处理器,如下图所示:JLINK_ADS_4.jpg选择完成后,点击确定完成设置。

如果JLINK已经和开发板连接好,并上电后,log信息里面会出现JLINK连接处理器的信息,如下图所示:JLINK_ADS_5.jpg3、调试添加JLINK并配置完成后,即可开始调试。

开始调试后,一旦我们单步或者设置断点调试,我们会碰到这样的问题,如下图所示:JLINK_ADS_6.jpg结果无法调试,要解决这个问题,我们需要修改下ADS的设置,选择Options下面的Configure Processor,如下图所示:JLINK_ADS_7.jpg出现如下所示对话框:JLINK_ADS_8.jpg将Semihosting前面的勾去掉即可解决问题,如下图所示:JLINK_ADS_9.jpg点击OK,退出AXD,重新Debug,这次就可以任意单步或者设置断点了JLINK_ADS_12.jpg。

JLINK V8用户手册

JLINK V8用户手册

J-link用户指南版本:R R e v3.420009-820J-LINK用户手册nk A R M J T A G仿真器简介一、 J-L i nkJ-Link是SEGGER公 司为支持仿真ARM内核芯片推 出的JTAG仿真 器 。

配 合IAR EWARM , ADS , KEIL , WINARM , RealView 等集成开发环境支持所有ARM7/ARM9 内核芯片的仿真,通过 RDI 接口和各集成开发环境无缝连接,操作方便、连接方便、简单易学,是学习开发 ARM 最好最实用的开发工具。

k AR R M主要特点Lin n k AJ-Li*IAR EWARM集成开发环境无缝连接的JTAG仿真器*支持所有ARM7/ARM9内核的芯片,以及cortex M3,包括Thumb模式*支持 ADS,IAR,KEIL,WINARM,REALVIEW等几乎所有的开发环境*下载速度高达 ARM7:720kB/s,ARM9:550kB/s,通过DCC最高可达 800 kB/s cortex M3 SWD 180kB/s*最高JTAG速度12 MHz*目标板电压范围 1.2V-5V*自动速度识别功能*监测所有JTAG信号和目标板电压*完全即插即用*使用USB电源(但不对目标板供电)*带USB连接线和20芯扁平电缆*支持多JTAG器件串行连接*标准20芯JTAG仿真插头*选配14芯JTAG仿真插头*带J-Link TCP/IP server,允许 通过TCP/IP网络使用J-LinkJ-Link支持ARM内核* ARM7TDMI(Rev 1)* ARM7TDMI(Rev 3)* ARM7TDMI-S(Rev 4)* ARM720T* ARM920T* ARM926EJ-S* ARM946E-S* ARM966E-S* Cortex-M3* ARM1136JF-S* ARM1136J-S* ARM1136T2-S* ARM1156TS-S* ARM1156T2F-S* ARM1176JZ-S* ARM1176JZF* ARM1176JZF-SLINK 驱动安装二、J-LINK安装驱动很简单,只要直接安装即可,默认安装,一路点击NEXT即 可:安装完成后,请插入JLINK/JLINK硬件,然后系统提示发现新硬件,请选择手动指定驱动程序位置,然后将驱动程序位置指向到JLINK驱动软件的安 装目录下的Driver文 件夹,驱动程序就在改文件夹下。

JLINK v8命令集

JLINK v8命令集

JLINK v8命令集JLINK v8命令集Available commands are:有效的命令如下:(本人简单翻译了一下如有错误还请指出,谢谢各位网友)----------------------f Firmware info(显示固件信息)h halt(暂停CPU)g go(运行)Sleep Waits the given time (in milliseconds). Syntax: Sleep <delay>(睡眠多少毫秒)s Single step the target chip(单步调试目标芯片)st Show hardware status(显示硬件状态)hwinfo Show hardware info(显示硬件信息)mem Read memory. Syntax: mem <Addr>, <NumBytes> (hex)(读内存)mem8 Read 8-bit items. Syntax: mem8 <Addr>,<NumBytes> (hex)(读内存8字节)mem16 Read 16-bit items. Syntax: mem16 <Addr>,<NumItems> (hex)mem32 Read 32-bit items. Syntax: mem32 <Addr>, <NumItems> (hex)w1 Write 8-bit items. Syntax: w1 <Addr>, <Data>(hex)(写内存8字节)w2 Write 16-bit items. Syntax: w2 <Addr>, <Data> (hex)(读内存16字节)w4 Write 32-bit items. Syntax: w4 <Addr>, <Data> (hex)(读内存32字节)wm Write test words. Syntax: wm <NumWords>is Identify length of scan chain select register ms Measure length of scan chain. Syntax: ms <Scan chain>mr Measure RTCK react time. Syntax: mrq Quit(推出)qc Close JLink connection and quit(关闭jlink连接,并退出)r Reset target (RESET)(重启目标)rx Reset target (RESET). Syntax: rx<DelayAfterReset>(延时重启)RSetType Set the current reset type. Syntax: RSetType <type>Regs Display contents of registers(显示寄存器信息)wreg Write register. Syntax: wreg <RegName>,<Value>(写继承器)SetBP Set breakpoint. Syntax: SetBP <addr> [A/T][S/H](设置断点)SetWP Set Watchpoint. Syntax: <Addr> [R/W] [<Data> [<D-Mask>] [A-Mask]](设置监视点)ClrBP Clear breakpoint. Syntax: ClrBP <BP_Handle>(清除断点)ClrWP Clear watchpoint. Syntax: ClrWP <WP_Handle>(清楚监视点)VCatch Write vector catch. Syntax: VCatch <Value> loadbin Load binary file into target memory.(下载bin 文件到目标内存)Syntax: loadbin <filename>, <addr>savebin Saves target memory into binary file.(保存BIN文件)Syntax: savebin <filename>, <addr>,<NumBytes>SetPC Set the PC to specified value. Syntax: SetPC <Addr>(设置PC(r15)寄存器)le Change to little endian mode(设置成小端模式)be Change to big endian mode(设置成大端模式)log Enables log to file. Syntax: log <filename> unlock Unlocks a device. Syntax: unlock <DeviceName> Type unlock without <DeviceName> to get a listof supported device names.nRESET has to be connected---- CP15 ------------rce Read CP15. Syntax: rce <Op1>, <CRn>, <CRm>, <Op2>(读CP15)wce Write CP15. Syntax: wce <Op1>, <CRn>, <CRm>, <Op2>, <Data>(写CP15)---- ICE -------------Ice Show state of the embedded ice macrocell (ICE breaker)ri Read Ice reg. Syntax: ri <RegIndex>(hex)wi Write Ice reg. Syntax: wi <RegIndex>,<Data>(hex)---- ETM -------------etm Show ETM statusre Read ETM reg. Syntax: re <RegIndex>we Write ETM reg. Syntax: we <RegIndex>,<Data>(hex)es Start trace---- ETB -------------etb Show ETB statusrb Read ETB register. Syntax: rb <RegIndex>wb Write ETB register. Syntax: wb <RegIndex>, <Data>(hex)---- TRACE -----------TAddBranch TRACE - Add branch instruction to trace buffer. Paras:<Addr>,<BAddr>TAddInst TRACE - Add (non-branch) instruction to trace buffer. Syntax: <Addr>TClear TRACE - Clear bufferTSetSize TRACE - Set Size of trace bufferTSetFormat TRACE - SetFormatTSR TRACE - Show Regions (and analyze trace buffer) TStart TRACE - StartTStop TRACE - Stop---- SWO -------------SWOSpeed SWO - Show supported speedsSWOStart SWO - StartSWOStop SWO - StopSWOStat SWO - Display SWO statusSWORead SWO - Read and display SWO dataSWOShow SWO - Read and analyze SWO dataSWOFlush SWO - Flush data---- File I/O --------fwrite Write file to emulatorfread Read file from emulatorfshow Read and display file from emulatorfdelete Delete file on emulatorfsize Display size of file on emulator---- Test ------------thg Run go/halt 1000 timests Run step 1000 timestestwspeed Test download speed. Syntax: testwspeed [<Addr> [<Size>]]testrspeed Test upload speed. Syntax: testrspeed [<Addr> [<Size>] [<NumBlocks>]]testcspeed Test CPU speed. Syntax: testcspeed [<RAMAddr>]---- JTAG ------------Config Set number of IR/DR bits before ARM device. Syntax: Config <IRpre>, <DRpre>speed Set JTAG speed. Syntax: speed<freq>|auto|adaptive, e.g. speed 2000,speed ai Read JTAG Id (Host CPU)wjc Write JTAG command (IR). Syntax: wjc<Data>(hex)wjd Write JTAG data (DR). Syntax: wjd<Data32>(hex), <NumBits>(dec)RTAP Reset TAP Controller using state machine (111110)wjraw Write Raw JTAG data. Syntax: wjraw<NumBits(dec)>, <tms>, <tdi>rt Reset TAP Controller (nTRST)---- JTAG-Hardware ---c00 Create clock with TDI = TMS = 0c Clock0 Clear TDI1 Set TDIt0 Clear TMSt1 Set TMStrst0 Clear TRSTtrst1 Set TRSTr0 Clear RESETr1 Set RESET---- Connection ------usb Connect to J-Link via USB. Syntax: usb <port>,where port is 0..3ip Connect to J-Link ARM Pro or J-Link TCP/IP Server via TCP/IP.Syntax: ip <ip_addr>---- Configuration ---si Select target interface. Syntax: si<Interface>,where 0=JTAG and 1=SWD.power Switch power supply for target. Syntax: power <State> [perm],where State is either On or Off. Example: power on permwconf Write configuration byte. Syntax: wconf<offset>, <data>rconf Read configuration bytes. Syntax: rconf usbaddr Assign usb address to the connected J-Link: Syntax: usbaddr = <addr>ipaddr Show/Assign IP address and subnetmask of/to the connected J-Link.gwaddr Show/Assign network gateway address of/to the connected J-Link.dnsaddr Show/Assign network DNS server address of/tothe connected J-Link.conf Show configuration of the connected J-Link. ecp Enable the J-Link control panel.calibrate Calibrate the target current measurement. selemu Select a emulator to communicate with,from a list of all emulators which are connected to the hostThe interfaces to search on, can be specified Syntax: selemu [<Interface0><Interface1> ...]ShowEmuList Shows a list of all emulators which are connected to the host.The interfaces to search on, can be specified. Syntax: ShowEmuList [<Interface0><Interface1> ...]----------------------NOTE: Specifying a filename in command linewill start J-Link Commander in script mode.几个常用命令:usb--------连接目标板r----------重启目标板halt-------停止cpu运行的程序loadbin----加载可执行的二进制文件g----------跳到代码段地址执行s----------单步执行(调试用)setpc-----设置pc寄存器的值(调试用)setbp-----设置断点Regs-------读寄存器组织wreg-------写寄存器mem--------读内存w4---------写内存power off mmu---关闭mmu,这个对于裸板调试很重要w4 cpsr,0x0000001f------切换到系统模式speed------设置jtag的传输速率rce 0,c0,c0,0-----设置cp15寄存器的第1个寄存器为0。

KeilMDK3.8+JLinkV8+Mini2440开发板leds点灯程序调试过程

KeilMDK3.8+JLinkV8+Mini2440开发板leds点灯程序调试过程

KeilMDK3.8+JLinkV8+Mini2440开发板leds点灯程序调试过程最近刚入手了JLink V8, 开始到网上找资料学习, 发现说的都不是很全面, 现整理一下加上我的一些注释, 希望对新手入门有所帮助. 本文为原创,如有转帖请注明出处!1.准备工作•Jlink与开发板连接, 驱动安装完毕(我安装的版本是V4.08l).•Keil MDK 3.8安装完成.2.新建工程•为工程选择设备Samsung/S3C2440A•会有一个对话框问你是否复制默认启动代码到项目中, 选NO(网上其他资料说MDK为2440自带例程启动代码有问题,所以我们用自己的启动代码)•添加源文件S3C2440.S, led.c•3.设置工程•Target页设置(3个地址要写对,数清楚位数)•Linker页选择我们自己的链接脚本,也可以用默认选项•keil_led.sct文件, 其地址与Target页里的数值一一对应,如果Target页里修改了,这里也要相应做更新,后面的Ext_RAM.ini里对应的地址也需要调整•Debug页设置选中J-LINK/JTRACE,初始化脚本使用Ext_RAM.ini初始化脚本Ext_RAM.ini, 比较关键的一个点是SetupForStart函数里PC的值,如果你的程序载入的内存SDRAM地址是0x30000000(与我们在Target页里的ROM1对应),在函数里要把值设为0x30000000.如果要直接下载到SRAM运行,需要修改PC为0x0(Nand 模式)或0x0x40000000(NorLand)模式. 还有对新手比较需要注意的是Load .keil_led.axf命令文件名一定要与Output页里设置的输出路径一致,不然调试无法开始_WDWORD(0x4C000008, 0x00038021); // UPLLCON_WDWORD(0x4C00000C, 0x001FFFF0); // CLKCON// Memory Controller Setup for SDRAM_WDWORD(0x48000000, 0x22000000); // BWSCON_WDWORD(0x4800001C, 0x00018005); // BANKCON6_WDWORD(0x48000020, 0x00018005); // BANKCON7_WDWORD(0x48000024, 0x008404F3); // REFRESH_WDWORD(0x48000028, 0x00000032); // BANKSIZE_WDWORD(0x4800002C, 0x00000020); // MRSRB6_WDWORD(0x48000030, 0x00000020); // MRSRB7_WDWORD(0x56000000, 0x000003FF); // GPACON: Enable Address lines for SDRAM}// Reset chip with watchdog, because nRST line is routed on hardware in a way// that it can not be pulled low with ULINK_WDWORD(0x40000000, 0xEAFFFFFE); // Load RAM addr 0 with branch to itselfCPSR = 0x000000D3; // Disable interruptsPC = 0x40000000; // Position PC to start of RAM•Utilities页设置(记得取消Update Target before Debugging, 这个是写flash的,以后在高级调试中会用到)4.开始调试通过Project-Build T arget菜单编译整个项目,通过Debug菜单开始调试程序, 开始你的ARM调试之旅吧.。

10-JLINK-ARM-OB使用手册

10-JLINK-ARM-OB使用手册

0、JLINK-ARM-OB使用手册
《零死角玩转STM32》系列的配套程序使用的是MDK开发环境,在开发环境中的下载配置是使用JLINK-V8,JLNIK-V8如下图所示,如果购买的仿真器是JLINK-V8的朋友,则不用修改工程的配置,即可根据教程的方法来下载。

如果是购买了JLINK-ARM-OB的朋友,JLINK-ARM-OB采用三线下载,体积更小,速度可达5M,固件不易丢失,比现在市面上的大块头JLINK-V8更稳定,野火在这里强烈推荐大家使用。

购买了JLINK-ARM-OB的朋友,如果使用《零死角玩转STM32》的配套程序的话,则需要重新配置下MDK的下载模式。

具体步骤如下:
1、将JLINK-ARM-OB连接电脑和开发板(接开发板中的SWD接
口)。

在使用JLINK-ARM-OB仿真器之前请先安装JLINK驱动,JLINK驱动在光盘目录下的安装软件文件夹里面。

2、修改MDK的下载配置,改为SWD(即JLINK-ARM-OB)下载模
式,速率可设置为2M,当设置为5M时,速率最快。

Options for Target ->Debug->Settings->Port->SWD
Max Clock-> 2MHZ
注意:当用JLINK-ARM-OB连接上电脑和开发板,且修改MDK的下载设置时,可能会提示升级固件库,此时点击是即可。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档