本帖最后由 kevinrliu 于 2015-10-29 13:32 编辑
通过手环专用下载调试线将JLINK,串口模块与手环连接(都有丝印标注,对应连接即可)。将JLINK与串口模块插上电脑的USB口。
阅读软件:http://pan.baidu.com/s/1o6ELGCE
二、实验及现象
解压串口调试助手.zip,位于目录:.. 3_相关软件。运行解压文夹中的SecureCRT.exe。端口选择可以右击“我的电脑”点击“管理”,在弹出“计算机管理”对话框中选择“设备管理器”,在右边点击“端口”,就可以看到是哪个COM口,如下图所示: 参数设置为波特率为115200,数据位为8,无奇偶校验,停止位为1,流控制都不选,如下图所示: 打开KEIL,打开工程Board_Test.uvproj,位于目录:.. 0_从这里开始2_板子资源检测测试代码Board_Test。 DA14580内部只有OTP(只支持一次性烧写程序)以及SRAM,所以在用Keil调试程序时,只能使用DEBUG调试,掉电之后程序消失。 DEBUG时的一些配置:右击工程,选择Options forTarget ‘Full_emb_cortex_M0’,在弹出的对话框中选择Debug标签。选择右边的use,然后在后面选择J-LINK/J-Trace Cortex,点击后面的Settings,如下图所示:
点击Settings之后弹出的对话框中,选择SW,插入与开发板正确连接的Jlink之后,右边SW Device会有显示,如下图红框所示: 点击编译,编译完成后点击DEBUG,然后点击全速运行。如下图所示: 可以看到串口调试助手打印出相关信息,根据信息提示进行对应的实验操作,如下图所示: 输入0,串口助手显示提示,进行GPIO实验,会看到流水灯,一会就停止。每个实验结束后重新显示主菜单,如下图所示: 输入1,则启动定时器,LED3(红灯)开始闪烁,闪烁10次之后停止定时器,如下图所示: 输入2,进行ADC实验,将模数转换的值通过串口打印在电脑上(可通过调节可调电阻改变电压值),如下图所示: 输入3,进行I2C实验,读取加速度与角速度的值,并显示在串口调试助手上,如下图所示: 输入4,进行SPI读写实验,DA14580会将00~ff这256字节的数据写入到片外flash中(该flash与DA14580之间通过SPI口进行连接),然后DA14580会将写入到flash中的数据通过SPI口重新读出来,如果读出的数据也为00~ff,若是则说明读写正常,同时显示Flash的相关信息,如下图所示:
三、程序下载
为了方便反复烧写程序,并保证掉电不丢失,手环开发板外挂了片外FLASH存储器。我们使用官方提供的SmartSnippets软件,可以很方便的将代码烧写到片外FLASH中。 3.1 下载烧写软件 进入官方社区(support.dialog-semiconductor.com/forum),在右边点击Create new account进行注册,如下图所示: 按要求填写内容即可,邮箱重要,因为会通过邮箱激活,有可能时间比较长。 如果注册成功,使用账户登录后,就可以看到“Software”选项,点击进入,如下图所示: 进入新的页面,点击Tools选项,然后看到Smart Snippets等相关文件,根据自己的电脑(32位或者64位)选择下载即可,如下图所示: 3.2 Smart Snippets的安装 该软件安装需要安装JAVA的运行环境jre,具体的安装过程可以见视频教程,视频链接为:v.qq.com/page/f/9/4/f0152xvm094.html。 3.3 Jlink_SPI_FLASH下载 开发板中自带的是SPI接口的Flash芯片W25X20CL,为官方测试指定的一款芯片。也可以接I2C接口的EEPROM芯片(需要使用官方指定的几款芯片),两者的下载方法类似。相比于EEPROM,Flash的功耗更低,加载速度更快,Flash只需202.2ms,而EEPROM需要3.18秒。我们以板子上SPI接口的Flash通过Jlink下载为例进行讲解。 打开SmartSnippets,点击下方的New新建工程,如下图所示: 输入工程名如TEST,在Project Description中输入工程描述(可不输入),点击Save保存,如下图所示: 选择刚新建的工程TEST,选择JTAG,在下方“123456”前打钩(插上Jlink之后才会有显示),在右边选择DA14580-01,最后点击Open,打开工程,如下图所示: 打开工程之后选择点击左方Flash图标,打开SPI FlashProgrammer标签,如下图所示: 在Select File to download处点击Browse载入需要下载的HEX文件,下方会提示相关信息,如下图所示: 在Offset in Flash memory(HEX)处使用默认不输入,在Flash memory size(HEX,in Bytes)输入FALSH的大小,之后点击Connect进行连接,下方会提示下载固件成功,表示连接正常,之后Read 32KB、Burn、Erase、Erase Sector按钮可用,如下图所示: 点击Burn进行烧写,会弹出对话框,我们选择YES使程序可加载,如下图所示: 选择YES之后,程序开始下载,下载完成后,下方提示相关信息,并将前32K的数据读取出来。如果前32K有数据,或者前面烧写过程序,则需要先点击Erase进行擦除,如下图所示:
阅读软件:http://pan.baidu.com/s/1o6ELGCE
|