开发常见问题

  1. 芯片运行过程中突然复位,是什么原因?

    1. 关注运行过程中的log_error打印信息或者ASSERT-FAILD异常打印信息,若模块传参异常或者运行错误会有类似打印信息。

    2. SDK发布时模式关闭了系统异常复位信息打印,可参考 串口调试 的系统异常信息章节打开功能并查看复位原因。

    3. 系统复位后可以查看PMU的打印信息,可以知道系统是因为什么情况导致的复位。

    常见的PMU复位LOG

    复位打印

    复位描述

    P33_VDDIO_POR_RST

    IOVDD重新上电

    P33_WDT_RST

    看门狗复位

    P33_MCLR_RST

    PA6短按复位

    P33_PPINR_RST

    长按复位

    P33_SOFT_RST

    软复位

  2. 如何排查系统资源使用情况?

    1. 由于AC82N系列芯片,有8通道的input chanel和8通道的output channel。

    2. 可能存在资源使用冲突的情况导致模块工作不正常,此时可以调用gpio_dump接口,把所有的gpio的输入输出资源打印出来查看

  3. 如何理解芯片的key?

    1. 为了保护代理商,防止不同代理之间的串货行为;代理商出货给下游厂商时,会在芯片里面烧录代理商专属的key信息,之后只能用该代理商提供的key和烧录器进行芯片烧录。

    2. 为了防止代码泄密,烧录到芯片flash的代码是经过key文件加密后的密文,芯片执行的时候是先解密在执行。

    3. 只有芯片的key和加密程序的key一致时,该代码才能被烧录到目标芯片正常运行。添加key文件方法

  4. 为什么正常开机PMU的log可以看到,唤醒时PMU的log打印不出来?

    1. 关机之后大部分IO处于锁存状态,在PMU没有解锁之前,IO口的输出状态是不能改变的,所以配置为串口的IO是翻转不了的,只有等到sys_power_init之后,IO解锁完,才能输出状态。

    2. 如果需要查看唤醒时PMU的打印信息,可以选择USBDP或者USBDM作为串口输出。