[TOC] ### REDEME #### [芯片供应商资源网](http://www.essemi.com/index/product/detail?id=897) #### [环境搭建](./doc/环境搭建.md) #### 笔记 - ES8P5066时钟树[ES8P5066_Datasheet_C V1.1.pdf-38页](file:///D:/Download/ES8P5066_Datasheet_C V1.1.pdf) ``` ES8P5066的大小:64kFlash,4K的SRAM program size:单位字节(1K=1024Byte) code:falsh大小 RO-data:程序定义的常量,存储在FLASH中(const) RW-data:已经被初始化的变量,存储在SRAM中 ZI-data:未被初始化的变量,存储在SRAM中(没有初始化,默认初始化0) 外设时钟与芯片系统时钟相同(芯片参考手册132页) 定时器的时钟源选择:Pclk=芯片的系统时钟 T16N_PRECNT 设置初始值为0即可 T16N_CNT0 计数器的数值 T16N_MAT0/1/2/3 占空比 T16N_TOP0 计数器的最大值 T16N0OUT0/1 在那个引脚上输出 芯片配置字位于 FLASH 存储器的 INFO0 信息区,用户可在 ISP 编程时进行设置 学习一款新的芯片,首先要搞清楚他的时钟树,其次搭建环境先跑提供的demo工程 用到的无非就是GPIO以及各种外设(串口,定时器等),具体外设的学习方法首先搞清楚时钟是多少,从哪里来, ``` #### 芯片编程注意事项 ``` 1.由于系统控制寄存器的访问操作会影响整个芯片的运行状态,为避免误操作导致芯片运行不正常,芯片提供系统设置保护寄存器 对时钟的选择的时候需要进行写保护关闭 SCU_RegUnLock() ; SCU_RegLock() ; 写保护开启(防止) 2.对于中断标志寄存器写1清零: T16N0->IF.Word = (uint32_t)0x01; 3.GPIO的使用: GPIO 端口输出电平位操作寄存器 GPIO_PADATABSR、GPIO_PBDATABSR、GPIO_PADATABCR、GPIO_PBDATABCR、GPIO_PADATABRR、GPIO_PBDATABRR 不能进行与或操作,只能按 word 写入。 GPIO 端口输出电平操作时建议用上述寄存器而不是端口寄存器(GPIO_PADATA 和GPIO_PBDATA), 以避免读-修改-写情况的发生 系统中未使用和未封装出来的 GPIO 端口建议设置为输出固定电平并悬空,若设置为输入则不可悬空,须加上拉或下拉电阻接到电源或地。 ``` #### 位带操作 ``` 优点操作简单,可防止符寄存器的脏写 ``` #### 参考资源 | 资源名称 | 简介 | | ------------------------------------------------------------ | ------------------------------ | | [ES8P5066_res - AN054_应用笔记_Cortex-M0+HardFault诊断 V1.0.zip](http://192.168.1.3:3000/manufacturer_eastsoft/ES8P5066_res/src/branch/master/AN054_应用笔记_Cortex-M0+HardFault诊断 V1.0.zip) | 芯片异常介绍 | | [AN142_应用笔记_ES8P5066%20V1.0.pdf](./doc/AN142_应用笔记_ES8P5066%20V1.0.pdf) | 开发环境的搭建以及开发注意事项 | | [ES8P5066_Datasheet_C%20V1.1%20(3).pdf](./doc/ES8P5066_Datasheet_C%20V1.1%20(3).pdf) | 芯片参考手册 | | [AN049_用户手册_HRSDK通用MCU开发套件 V1.9.pdf](./doc/AN049_用户手册_HRSDK通用MCU开发套件 V1.9.pdf) | 开发板原理图 | | [ES8P5066底层驱动库及例程包.zip](./doc/ES8P5066底层驱动库及例程包.zip) | 官方例程 | #### 配置字 ``` 使用ESBurner软件进行配置字的设置 注意:先将Falsh进行擦除,配置好以后电机确定就可将配置字烧录到falsh中 在进行调试完成后将配置字(DEBUG禁止) IWDTRL IWDT 计数溢出时间约 2s MRSTN 选择MRSTN下载器必须五线 PWRTEN 上电延时时间(140ms) BORVS 低压复位 DEBUG 出厂的时候禁止 IWDTINTEN 独立看门狗使能位(只在硬件使能的时候有效) IWDTEN 独立看门狗软件使能还是硬件使能 WWDTEN 窗口看门狗软件使能 GBRDP 读保护等级(我感觉出厂等级设置为2) ``` 配置字设置(设备->配置字) ![](markdown.assets/REDEME.assets/image-20220210155735269.png) 下载器引脚 ![image-20220210134152870](markdown.assets/REDEME.assets/image-20220210134152870.png) #### IWDT看门狗的设置 ``` 1.选择软件使能(配置字默认软件使能不用进行修改) 2.软件进行初始化开门狗并使能 3.当计数到0时,窗口计数器+1, 4.当窗口计数为“2”的时候,产生中断 5.当窗口计数器为“4”的之前没有进行喂狗操作,产生复位 6.对 IWDT_INTCLR 寄存器进行任意写操作,IWDT 中断标志位 均被清零,计数器重载 IWDT_LOAD 寄存器值,继续递减计 数 ``` #### 功能流程图 ![image-20220210185354288](markdown.assets/REDEME.assets/image-20220210185354288.png) #### 问题 ``` KEIL 识别不到芯片 解决:使用Esburner软件,点击设备,点击确定(理论上芯片部分应该选择对应的,但是使用同类型的ES8P型号的芯片也可以,原因不明) 分析原因可能是下载器的问题 ``` ![](REDEME.assets/image-20220208125715234.png) ![](REDEME.assets/image-20220208125851838.png)