最近一直在开发ARM系统的JTAG调试器,这是个不小的工程,有很多事要做。更准确的说,这个工作从去年4月份就开始了,当时是探索道路,做可行性验证,可谓是第一轮努力。
春节前开始的是最后一轮努力,在做产品化的工作,这涉及到要开发一个小的电路板,上面包含一个ARM M系列的微处理器,任务是实现ARM公司的SWD协议,访问目标系统。
我们把这个小的嵌入式系统取名为Nano Target Probe,简称NTP,中文名为“挥码枪”,指挥01010这样的二进制码流之意。
因为大家都知道的原因,最近一两年一直有个芯片缺货的问题,几乎整个IT业都受到影响。前些天和INTEL的老同事聊天,就连以生产芯片为主业的INTEL都受到影响,因为INTEL也需要其它公司的芯片。
于是乎,本来十几元的STM32已经涨到从百元到几百元不等。
但涨价也没有办法,该上的项目还是要上。
长话短说,选定了一块开发板之后,我们开始为M核的“挥码枪”准备软件。ARM的处理器分为A、R、M三大系列,A系列最强大,是可以跑Linux或者Android这样的操作系统的,M系列最弱,不支持虚拟内存,主频一般不到100M Hz,内存和外存一般也比较小。我们为挥码枪选择的M核最大频率为72MHz。
简单来说,格蠹在做的就是用M核的挥码枪来调试A核的GDK8。
软件编译和刷到“挥码枪”后,下一步是要调试了,委托硬件公司设计的板子还没有回来,为了赶时间,我们只好自己在开发板上搭一些电路。有些电路容易搭,只要用杜邦线连上就可以了,但是下面这个电路却难倒格蠹的软件小伙伴了。
简单说