找回密码
 注册
搜索
查看: 3305|回复: 4

[讨论] 【武汉华嵌】Jlink+RVDS单步调试 ARM11(S3C6410)裸奔程序

[复制链接]
发表于 2011-9-29 13:49:55 | 显示全部楼层 |阅读模式
本帖最后由 lucklx 于 2015-11-23 11:26 编辑

作者:武汉华嵌技术部

开发平台:XP

目标平台:S3c6410

开发工具:RVDS  J-LINK(V8)


一、搭建开发环境:

1、下载rvds2.2安装程序软件包。
2、解压后,进入RVDS软件包中的Crack文件夹中,运行keygen,用generate产生license file (注意自己的系统时间   最好是真实的当前时间,如果时间比较旧的话,产

生的license file 将不能注册。license file 和系统时间、网卡物理地址、硬盘的序列号有关)
2、安装软件。
3、在安装过程中会出现选择license Wizard     选  Install Wizard   ...   选择 license.dat 目录  
4、拷贝 license.dat 到安装目录下面去。
5、应用补丁注入工具Patch.exe给下边列出的文件注入校验和。(Patch.exe 在RVDS软件包中的Crack文件夹中)
the files need to be patched:
   
  %Install Path%\IDEs\CodeWarrior\CodeWarrior\5.6.1\1592\win_32-pentium\bin\Plugins\License\oemlicense.dll
  %Install Path%\IDEs\CodeWarrior\RVPlugins\1.0\86\win_32-pentium\oemlicense\oemlicense.dll
  %Install Path%\RDI\armsd\1.3.1\66\win_32-pentium\armsd.exe
  %Install Path%\RDI\AXD\1.3.1\98\win_32-pentium\axd.exe
  %Install Path%\RVCT\Programs\2.2\349\win_32-pentium\armasm.exe
  %Install Path%\RVCT\Programs\2.2\349\win_32-pentium\armcc.exe
  %Install Path%\RVCT\Programs\2.2\349\win_32-pentium\armcpp.exe
  %Install Path%\RVCT\Programs\2.2\349\win_32-pentium\armlink.exe
  %Install Path%\RVCT\Programs\2.2\349\win_32-pentium\fromelf.exe
  %Install Path%\RVCT\Programs\2.2\349\win_32-pentium\tcc.exe
  %Install Path%\RVCT\Programs\2.2\349\win_32-pentium\tcpp.exe
  %Install Path%\RVD\Core\1.8\734\win_32-pentium\bin\tvs.exe
  %Install Path%\RVD\Core\1.8\734\win_32-pentium\bin\xry100.dll
  %Install Path%\RVARMulator\ARMulator\1.4.1\206\win_32-pentium\armiss.sdi
  %Install Path%\RVARMulator\ARMulator\1.4.1\206\win_32-pentium\armulate.sdi
  %Install Path%\RVARMulator\ARMulator\1.4.1\206\win_32-pentium\v6armiss.sdi
  %Install Path%\RVARMulator\v6ARMulator\1.4.1\238\win_32-pentium\v6thumb2.sdi
  %Install Path%\RVARMulator\v6ARMulator\1.4.1\238\win_32-pentium\v6trustzone.sdi

到此 RVDS环境完成。

二、接下来就是搭建调试环境了。
这里采用的调试工具是J-LINK。记得要用V8的哦!(V6的能下载程序到SRAM 中,但是不能调试)
1、安装JLink4.22驱动程序  (记得要是JLink4.22的,其它的不保证可以哦!)
2、安装Setup_JLinkARM_V410i
3、插好J-LINK,然后打开 AXD debugger  即AXD debugger v1.31。
Option->Configure Target->Add
Add 选择 JLink4.22 安装目录下的 JLinkRDI.dll
单击 OK 进入 AXD

此时,调试环境已搭建好了,可以开始写第一个裸奔程序了。

三、 在RVDS环境上实现第一个裸奔程序
1、创建工程。 打开 CodeWarrior for RVDS,
  file->new 创建一个程序
       在对话款中选择ARM Executable Image  ,指定工程路径及工程名,设置好后点击确认后创建工程。

2、编辑代码文件。
点击 file选项下面的那个图标(new next file),创建代码编辑文件,在这里编写代码,写完后保存文件。
把刚创建的那个文件添加工程目录上面去。

3、配置编译选项。
点击工程目录上面的 Debug setting 选项。
需要设置的选项有
1、 Language Setting 下面的 RealView Asse..。
在对话框下的 Target选项  点击Architecture or 选项的下拉框 选择ARM1176JZF-S(这是 S3c6410 的处理器内核)
        2、 Language Setting 下面的 RealView comp...
在对话框下的 Target选项  点击Architecture or 选项的下拉框 选择ARM1176JZF-S
        3、 Linker   下面的 RealView Linker
  在 Output 选项中 linktype 中的 simple, 设置 simple image 中的R0 Base 为 0x00  RW Bage 为 0x800。
4、Debugger 下面的RealView Debu...  选择调试环境AXD
5、Debugger 下面的RealView Runner  选择调试环境AXD

其它的设置可以暂且不管。

4、点击 Make 编译编辑的程序。
5、点击 debug 调试程序。

代码例子:
AREA  start,CODE,READONLY
ENTRY
_start
  LDR     R0,  =0x7F008834              ; 设置按键接口为输入模式
  MOV    R1, #0x00
  STR     R1, [R0]
  LDR     R0, =0x7F008820          ;  设置led 灯接口为输出模式
  LDR     R1, =0x00001111
  STR     R1, [R0]
  LDR     R0, =0x7F008824             ;设置led 的初始状态为灭
   MOV    R1, #0x00000000
  STR     R1, [R0]
  
  LDR     R0, =0x7F0080A0            ;设置蜂鸣器接口为输出模式
  LDR     R1, =0x40000000
  STR     R1, [R0]
  LDR     R0, =0x7F0080A4           ;设置蜂鸣器的初始状态为不鸣叫状态
  LDR     R1, =0x00
  STR     R1, [R0]
  
main_loop
  LDR       R0, =0x7F008834               ; 读取按键的状态
  LDR       R2, [R0]
  MVN       R1, R2
  AND       R1,R1,#0x0F
  LDR       R0, =0x7F008824              ; 控制led 输出
  STR       R1, [R0]
  MOV      R3,#0x00
  
  CMP      R1, #0x01                          ;判断是否有按键按下 鸣有的话蜂鸣器
MOVEQ   R3, #0x08000
CMP      R1, #0x02
MOVEQ   R3, #0x08000
CMP      R1, #0x04
MOVEQ   R3, #0x08000
CMP      R1, #0x08
MOVEQ   R3, #0x08000

LDR       R0, =0x7F0080A4
    STR       R3, [R0]
  B          main_loop
END

更多技术文章敬请关注:武汉华嵌-嵌入式培训专家,国内领先的嵌入式服务机构,   
http://www.embedhq.org
发表于 2012-6-22 12:28:39 | 显示全部楼层
裸机不容易啊
点评回复

使用道具 举报

52RD网友  发表于 2014-12-11 15:09:41
更多嵌入式技术博文分享 请直接访问 武汉华嵌官网
发表于 2015-1-16 15:59:46 | 显示全部楼层
mark。
点评回复

使用道具 举报

 楼主| 发表于 2015-11-23 11:20:52 | 显示全部楼层
本帖最后由 lucklx 于 2015-11-23 11:28 编辑

华嵌嵌入式Linux+android就业班

本课程培养周期为全日制18周(4.5个月), 总课时为720学时,课程目标包括:
    1. 精通linux操作系统使用;
    2. 精通linux下C、数据结构;
    3. 精通嵌入式linux高级应用开发,如IO、进程、线程、网络、数据库编程等;
    4. 熟练运用C++语言和Qt 进行GUI开发;
    5. 熟练掌握ARM处理器平台及其接口硬件开发;
    6. 掌握嵌入式Linux内核裁减移植及内核调试技巧;
    7. 掌握嵌入式Linux下 Bootloader的编写方法;
    8. 精通嵌入式Linux下常用接口的驱动开发;
    9. 精通java、Android应用开发;
    10. 掌握嵌入式实际项目案例开发流程
    11. 职业素质培养:如简历制作、面试技巧、职场心得、模拟面试

课程详情请直接访问华嵌官网
点评回复

使用道具 举报

 楼主| 发表于 2016-6-15 14:39:20 | 显示全部楼层
华嵌暑期Android速成班-两人同行一人免单!
详情活动请到武汉华嵌官网了解
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-11-26 10:58 , Processed in 0.045458 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表