S3C6410裸奔之旅——RVDS2.2编译、仿真、调试过程 LED流水灯

(2012-10-13 23:56:30)

上一讲中安装玩RVDS2.2后,我们一起来体验体验从工程的建立、编译、仿真到调试的快感,come on !

1、打开软件:

打开CodeWarrior,路径:开始->所有程序->ARM-> RealView Developer Suite v2.2-> CodeWarrior for RVDS

打开后如下图:

2、新建OK6410裸机工程:点击:File->New


 弹出新建对话框,如下图:


在Project 选项签中,选择ARM Executable Image。然后在右侧”Project name”设置工程名。例如以HelloArm 作为工程名,点击”Set…”,选择工程存放的目录。如下图:


设置好工程名 和保存路径后,点击确定,这样就完成了新建工程的任务了,如下图:

3、为刚才新建工程添加源代码文件。

  作为例子,这里讲飞凌LED试验中的main.c和init.s这两个文件copy到工程目录下,如下图:


点击在CodeWarrior for RVDS软件中的Project->Add Files

选择init.s 和main.c 文件,然后点击”打开”,如下图:

选择完源代码文件后,会自动弹出下面这个对话框:

Debug为调试版本,含有调试信息,在项目开发过程中用于调试使用,由于含有调试信息,代码尺寸较大。Release为项目开发中使用的正式发布版,不能用于调试,代码尺寸较小。

我们这里只是用来调试,只勾选Debug选项。可两个都勾选,在编译之前可根据需要选择编译为Debug或者Relese版本。

添加完成后,就可以看到main.c 和init.s 包含在工程中了。

4、对工程进行必要的设置。

点开工程的”Targets”选项签,双击”Debug”。


打开设置后如下图:


打开”Language Settings”。打开RealView Assembly”。将右侧” Architecture or Processor”
的下拉菜单改为”ARM1176JZF-S”。


然后点击”RealView Compile” , 将”Architecture or Processor” 的下拉菜单改
为”ARM1176JZF-S”。


点击”Linker”,点击”RealView Linker”,RO Base 下面的文本框中填写”0x50000000”。(可参考S3C6410数据手册)


点击”Opints”选项签,将”Image entry point”中填写0x50000000


点击”Layout”选项签,将”Object/Symbol”中填写init.o。设置完成后点击”OK”

5、编译工程。

选择Debug模式,点击下图红色方框中的编译按钮开始编译整个工程。

编译过程当中,会弹出一个Building 的工程对话框。这个对话框会显示编译当前的状况。


编译完成后, 在工程所在目录的Debug 目录下, 可以看到我们已经编译好的
HelloArm.axf 文件。这个文件可以用JLINK v8 进行仿真。

6、设置AXD1.3.1。

打开AXD1.3.1,在AXD 界面中,打开Option->Configure Target…

在新的对话框中,点击”Add”。

在新弹出的对话框中,找到JlinkARM_V422g 的安装目录(提前安装J-LINK的驱动)。选择”JLinkRDI.dll”,点击”打开”。(不要选择JLinkARM.dll)

这是返回到选择目标的对话框。这是就能看到JLinkRDI 出现在AXD 的目标选项中了。
点击”OK”。

每次选择JLinkRDI.dll 目标后,都会检测到CPU 的型号。由于JLink 的原因,只能识别
出CPU 型号为ARM79_0,而非我们期望的ARM11JZF-S。这个不影响我们的使用。

7、牛刀小试,仿真一下。
打开”File->Load Image…”。


选择HelloArm.axf(使用CodeWarrior生成的调试文件),点击打开。


到下面一步就可以仿真了,你可以进行全速运行、单步运行、设置断点等仿真操作。

到这里,我们的源代码编辑、编译、仿真就完成了一个完整的过程,接下来,就可以开始体验我们的S3C6410神奇的裸奔了,^_^ 。

在这里预祝大家裸奔愉快,坚持就是胜利!

S3C6410裸奔之旅——RVDS2.2编译、仿真、调试过程 LED流水灯---转的的更多相关文章

  1. 裸奔的智能插座:博联Broadlink SP2/SP mini的分析、破解

    https://www.jianshu.com/p/028b10bc3dd1 智能设备的联动通常采用IFTTT的方式,但这种方式受限于官方软件提供的功能.想要自主地灵活控制,需要有官方SDK,或知道协 ...

  2. 记一次MongoDB裸奔

    导言 大意失荆州,裸奔的 MongoDB 被黑了.虽然并不是什么非常重要的数据,但也给自己敲响的一个警钟.虽然我们平时不容易接触到数据安全,但我们在开发,部署项目的时候,一定要养成良好的安全意识. 根 ...

  3. (转)裸奔的后果!一次ssh被篡改的入侵事件

    裸奔的后果!一次ssh被篡改的入侵事件 原文:http://blog.51cto.com/phenixikki/1546669 通常服务器安全问题在规模较小的公司常常被忽略,没有负责安全的专员,尤其是 ...

  4. 裸奔着造房子——对政府禁止采购Win8系统的一些看法

    前段时间有消息称政府招标的项目将禁止使用Win8系统,原因是Win8系统的安全架构将有利于暴露敏感信息给微软,而微软的老子是美利坚,老子想要知道什么,儿子当然不敢不从.因此Win8也被打入冷宫,微软多 ...

  5. 裸奔的支付X聊天,你还敢用吗?

    - 语音消息 使用HTTP明文传输,没有任何加密措施,使用域名为up-mayi.django.t.taobao.com,从报文中可以看出,语音消息是以文件形式在网络中传输的,下图为一次语音的发送传输过 ...

  6. PJzhang:如何在裸奔的年代找到一些遮羞布

    猫宁!!! 很久以前的一篇,搬过来. 我一直在“裸奔”,而且很久了,只是不太愿意承认. 想起了“皇帝的新装”,好奇何种经历和灵感让安徒生写出了如此精彩的故事. 一次百度了一个商品,不久接到了大规模电话 ...

  7. 跟我一起学.NetCore之WebApi接口裸奔有风险(Jwt)

    前言 撸码需谨慎,裸奔有风险.经常在一些技术交流群中了解到,还有很多小伙伴的项目中Api接口没有做任何安全机制验证,直接就裸奔了,对于一些临时项目或是个人小项目还好,其余的话,建议小伙伴们酌情考虑都加 ...

  8. 网骗欺诈?网络裸奔?都是因为 HTTP?

    先跟大家讲个故事,我初恋是在初中时谈的,我的后桌的后桌.那个时候没有手机这类的沟通工具,上课交流有三宝,脚踢屁股.笔戳后背以及传纸条,当然我只能是那个屁股和后背,还不是能让初恋踢到的后背. 但是说实话 ...

  9. 裸奔mysql

    centos 7 下裸奔mysql # vim /etc/my.cnf在[mysqld]的段中加上一句:skip-grant-tables例如:[mysqld]datadir=/var/lib/mys ...

随机推荐

  1. linux中怎么查看ip地址

    命令 ifconfig 可以查看当前主机的ip地址: 如果要手动更改ip地址. 可以输入命令cd /etc/sysconfig/network 在这个目录下会有 类似于ifcfg-@@的文件. 可以用 ...

  2. USB学习笔记连载(十二):USB描述符

    USB设备是端口,接口,配置的集合,USB协议是以各种USB描述符来表征USB设备的功能.计算机通过这些描述符来获得USB设备的功能. USB描述符包括: USB标准设备描述符,USB集线器描述符.H ...

  3. 【转】【MySQL】Mysql模糊查询like提速优化

    在使用msyql进行模糊查询的时候,很自然的会用到like语句,通常情况下,在数据量小的时候,不容易看出查询的效率,但在数据量达到百万级,千万级的时候,查询的效率就很容易显现出来.这个时候查询的效率就 ...

  4. Android WiFi 扫描流程分析(wpa_supplicant选择网络)

    扫描流程 1.如果之前就已经有相关记录,优化扫描,扫描记录部分的频率信道. 2.如果1中的扫描没有结果,清除黑名单中的进行选择. 3.如果2中没有结果,进行所有频率的信道进行扫描 相关log参考: h ...

  5. substitute 命令与 global 命令

    他们是很强大的EX命令: substitute的格式: :[range]s[ubstitute]/{pattern}/{string}/{flags} 其中的patttern 指的是正则表达式的匹配: ...

  6. JUnit断言

    在本节中,我们将介绍一些断言方法.所有这些方法都受到 Assert 类扩展了java.lang.Object类并为它们提供编写测试,以便检测故障.下表中有一种最常用的断言方法的更详细的解释. 断言 描 ...

  7. tpshop商品属性表关系

    TPshop 里面的商品属性, 首先看看TPshop商品详情中的属性介绍, 纯展示给用户看的. 再来tpshop看看商品列表帅选页面的属性,可以根据属性帅选不同的商品 再来看看tpshop后台属性管理 ...

  8. 嵌入式开发之makefile---交叉编译静态库和动态库的生成和调用

    c和cpp 混合的动态库生成: $(LIBSO): $(COBJS) $(CPPOBJS) $(CPP) -shared -o $@ $^ $(LIBS) ////////////////////// ...

  9. ZooKeeper在分布式应用中的作用

    作者:陈叶皓(携程邮轮研发部软件架构师) 是不是要在标题的“作用”之前加上“重要”两个字,我犹豫了一下,zookeeper提供的功能是如此的重要,以至于如果你在应用中不使用它,早晚也会在你的应用中去实 ...

  10. log4net按照不同的【LEVEL】级别输出到不同文件

    Log4net按照不同级别写入多个日志文件 2012-02-08 15:06 by Fred-Xu, ... 阅读, ... 评论, 收藏, 编辑 在一个Web应用项目中,我使用了Fluent NHi ...