CDS871x内嵌片上FLASH,包括60KB应用程序内存(APROM)和4KB在系统编程 (ISP) 空间(LDROM),可以通过ISP更新。当芯片焊到PCB板子上以后,ISP(In System Programming) 功能使用户能更新应用程序内存。芯片上电以后,CPU从APROM还是LDROM取代码运行,取决于用户配置区Config0中启动选项(CBS)的设置。 FLASH存储器控制器由从机接口,ISP控制逻辑,烧写器接口和FLASH宏接口时序控制逻辑组成。 FLASH存储器控制器框图如下所示(以下是CPU读取指令的地址编码及寻找范围)。
Flash存储器控制器框图
CDS8712为8KB。
CDS871x提供在应用中编程(IAP)功能,运行代码可以在APROM,LDROM和SRAM之间切换而不用复位芯片。用户通过设定CONFIG0中的芯片启动选项 (CBS[1:0]),可以使能IAP功能。
我这里使用的下载方式是厂家提供的MDK下载方式接线采用SWD五线(RESET也可以不连接)接线方式;
SWD是ARM公司提出的另一种调试接口,相对于JTAG接口,使用更少的信号和接口,与JTAG的20个引脚相比,SWD只需要4个(或者5个)引脚,较少的引脚与简便的接线使得SWD模式也备受欢迎,并且这几年SWD下载速度也有了显著的提高,在一些较小的PCB上可以使用它,所用面积小,并且较为简便,数据不易丢失
SWD引脚:
Vref:目标表参考电压信号,用于检测目标板是否供电,直接与目标板VDD相连,并不向外提供输出电压;
GND: 公共地信号;
SWDIO:串行数据输入信号,作为仿真信号的双向数据信号线,建议上拉;
SWCLK:串行时钟输入,作为仿真信号的时钟信号线,建议下拉;
可选择引脚:
SWO:串行数据输出,CPU调试接口可通过SWO输出一些调试信息,可选引脚。
RESET:仿真器输出至目标CPU的系统复位信号;使得仿真器能够在连接器件前对器件进行复位,是可选引脚
这里下载使用了一个ST-LINK V2下载器如下图:
引脚图如下
与开发板预留下载端口依次相连这里复位口(RST)可以不连接也可以下载成功
程序下载首先下载CDS871x的PACK选择芯片为CDS8712首先Use使用ST-Link Debugger
接着点击Settings,进入Cortex-M Target Driver Setup界面,Debug Adapter选择ST-LINK/V2,Target Com选择SW,Clock默认参数就好
进入Flash Download页面可以看到下载位置为APROM Flash(00000000H-0000EFFFH),和CONFIG Flash(00300000H-003001FFH);
接着下载器连接电脑设备管理器出现STM32 STLink证明连接成功
接着点击魔法棒就可以下载了以下为下载成功页面
我在下载后电脑并未和开发板建立串口(com)连接,我总结可能是因为下载器不能正确转接com(因为这个是临时买的说明书没有明确说明这个问题),或者串口程序代码问题,我切换其他例程切换GPIO口高低电平,接上一个蜂鸣器,下载程序后按下复位按钮可以哒哒鸣响说明程序下载正常,针对这个问题我还在排查原因。