图1

开发工具:Xilinx SDk 14.4(基于Eclipse,ISE suite 14.4组件之一)

开发板:Xilinx ZYNQ-7000 zc702 rev 1.0(注意:这个板子的版本说明也是至关重要的,因为我还发现了rev c版本,比rev 1.0少了个开关)

问题描述:

当对开发板进行Hello_world测试,用SDK通过JTAG对开发板调试,出现以下错误(截图如上)

could not find a ARM device on the board.Please check if the target is in:

1. Split JTAG mode – No operation are possible with ARM DAP

2. Non JTAG bootmode – Bootro may need time to enable DAP.Please try again

Troubleshooting hints:

1. Check whether board is connected to the system properly.

2. In case of zynq board,check whether Digilent/xilinx cable switch settings are correct.

3. If you are using Xilinx Platform cable USB,ensure that status LED is green.

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

由于这款板子是比较新的产品(ZYNQ-7000系类),关于开发基本流程、错误处理等资料比较少(其实更应该说本鸟比较菜),这么一个基本的板子测试都搞不定,最后在赖学长的帮助下,花了一个下午终于解决了,在此对学长表示感谢(浪费了他一下午)!

我犯的一个致命错误是,拿到一个开发板尤其是一个比较复杂的板并且从未涉及到的板子,首要任务就是到官网找相关资料,比如datasheet,userguide等等。userguide等文档很有可能会(如果是正规公司或者说这个公司不坑)一步一步教你如何入手,比如基本开发流程、用到的工具等等,这样会少走好多弯路。

学长从xilinx官网上果然找到了userguide,上面用的开发环境是ISE 14.1 suite 的PlanAhead工具,演示用的板子是Xilinx ZYNQ-7000 zc702 rev c ,本以为这样按部就班,完全按照UG的说明来就可以顺利通过,可是最后仍是出现Unable to connect to ps7_cortexa9错误。我们猜测是不是UG上的板子版本号、PlanAhead版本号与本机上的不同导致的,于是另从官网下载了PlanAhead 14.4的示例,里面用的板子正好是Xilinx ZYNQ-7000 zc702 rev 1.0,于是发现:

图2

用SDK14.4 对板子进行JTAG调试时,对应的开关与跳线设置必须是上图的设置。尤其注意SW16中的四个拨动开关必须同时拨到右侧。SW16可能是开发板的启动设置,datasheet说明如下:

图3

也就是说SW16全是0,才是JTAG调试模式,这样SDK下载.elf文件就不会报错了。

综上:

1、SDK run configuration前,确保开关与跳线如图2中红圈所示;

2、USB UART、JTAG都与PC机相连。

心得:

1、查阅官方文档,开发工具说明

2、相信学长

附件下载http://download.csdn.net/detail/sky_hiter/6410023

附件中的ctt有PlanAhead的开发流程,bd有ZC702的结构图解。

最新文章

  1. js 根据屏幕大小调用不同的css文件
  2. 不一样的猜数字游戏 — leetcode 375. Guess Number Higher or Lower II
  3. reqwest请求api和约束(转载)
  4. webdriver无法打开firefox
  5. [Node.js] Node.js项目的持续集成
  6. Codeforces Round #228 (Div. 2) A. Fox and Number Game
  7. Rhel6-mysql_cluster配置文档
  8. jQuery点击图片弹出放大可拖动图片查看
  9. PHP错误The server encountered an internal error or misconfiguration and was unable to complete your re
  10. CloudStack 使用生态统计
  11. iOS开发——网络编程Swift篇&(四)异步Get方式
  12. ionic获取事件中的对象
  13. 通过程序预览Office文档
  14. SNMP WINDOWS系统的命令行工具下载
  15. 在表格中,th scope="row"和th scope="col"中的scope属性的用法及意义
  16. java的socket通信
  17. String 和 new String
  18. js常见执行方法window.onload = function (){},$(document).ready()
  19. HTML5学习笔记(八):CSS定位
  20. JS中的对象数组

热门文章

  1. IOS7 适配以及向下兼容问题
  2. iOS开发进阶之 UIWebView
  3. 毕业论文endnote使用
  4. java String 怎么看里面有几个指定字符
  5. iOS字符串NSString中去掉空格(或替换为某个字符串)
  6. 创建.NET Core项目
  7. Pascal Analyzer 4 代码分析使用简要说明
  8. ExecuteReader: CommandText 属性尚未初始化
  9. java io学习记录(路径分隔符)
  10. python package的概念