搞芯片的要是不会tcl真的有点说不过去,虽然严格上我并不算是搞芯片的,但是tcl还是有必要了解一下的,因为FPGA里面还是要用到很多tcl脚本的。下面我们就根据一个具体的例子来看看tcl是怎么读取二进制文件的。先看需求现在我们要把一个二进制的文件通过tcl读取并转换成一个列表,二进制文件通常是我们程序生成的一个bin文件,转换成列表之后可以用于更新Memory或者仿真等操作。程序编写都说Go...
我的代码我做主
搞芯片的要是不会tcl真的有点说不过去,虽然严格上我并不算是搞芯片的,但是tcl还是有必要了解一下的,因为FPGA里面还是要用到很多tcl脚本的。下面我们就根据一个具体的例子来看看tcl是怎么读取二进制文件的。先看需求现在我们要把一个二进制的文件通过tcl读取并转换成一个列表,二进制文件通常是我们程序生成的一个bin文件,转换成列表之后可以用于更新Memory或者仿真等操作。程序编写都说Go...
最近发现了一个非常不错的下载电子书的网站www.iamtxt.com,里面电子书资源非常丰富,常见的电子书在里面基本都能找的到,并且电子书资源都是用户自己上传的,所以版权方面能稍微好一些。另外,这个网站下载资源是需要积分的,不过积分基本每天签到就能够用,每天签到的两个积分就可以下载一本书。其实还是很人性化的,想下书的时候签到下一本就好了,书一次不要下太多,否则都不会看,这个一直都是真理。好了...
在之前的文章中我们介绍了一种PR之后直接获取ROM mmi信息的一个脚本,mmi脚本可以用于修改FPGA生成Bit的ROM初始化数据,这种技术在MCU的验证中非常重要,因为往往在测试MCU ROM代码的时候,我们就需要这种重新Load程序的方式。相比于动则十几个小时生成Bit的时间,我们直接修改bitfile则会快很多。虽然之前脚本中已经有生成MMI的功能,可以直接找出芯片ROM在FPGA内...
前一篇文章我们介绍了DAP的基本原理,并介绍了通过DAP访问系统内存的方式,这篇文章着重介绍一下怎么通过DAP控制ARM CORE的运行状态,以及如何读取和更改CORE的通用寄存器。对于一般程序调试,获取通用寄存器的状态是比较重要的一种调试手段,读取这些通用寄存器的状态的前提是CORE必须处于HALT状态,否则这个寄存器的值是一直变化的,我们也就无法获取一个比较准确的值。另外对这些寄存器的值...
ARM的调试是基于DAP实现的,ARM的调试端口一般要实现以下一些功能:更改处理器的状态读取处理器状态设定调试事件,比如搞个断点什么的强制处理器进入或者离开Debug状态查看当前处理器是不是在Debug状态追踪程序执行状态DAP的基本结构一般DAP的结构如下图所示:Debug Port(DP)是直接和外部接口的,可以通过JTAG和SWD两种形式实现。Access Port(AP)是位于DP和...