52+Nand 编译hello_world 工程烧录后,上电后无log
根本原因是:
软件默认配置为使用32768的RTC时钟晶体,如果要节省这个32768时钟,硬件上不贴,软件上需要配置如下:关掉32768晶体,采用内部RC10K时钟当作RTC时钟源;
#define LXT_DISABLE 1
#define LXT_LP_CYCLE 200
//默认配置为采用32768晶体作为RTC时钟源,如果32768没有启动成功,就会assert,
由于assert太早,uart的log还没有准备好,表现出来就看不到任何log,但是可以通过jlink,ozone,SifliUsartServer,AssertDumpUart.exe这些工具,都能找到这个assert代码位置,
#ifndef LXT_DISABLEHAL_PMU_EnableXTAL32();if (HAL_PMU_LXTReady() != HAL_OK)HAL_ASSERT(0); //默认配置为采用32768晶体作为RTC时钟源,如果32768没有启动成功,就会assert// RTC/GTIME/LPTIME Using same low power clock sourceHAL_RTC_ENABLE_LXT();
#endif
用SifliUsartServer 看到assert如下:
要找到该assert,还是需要用到t32marm.exe工具,FAQ和SDK文档都又介绍如何使用,请从思澈SiFli官网wiki查找对应方法:
思澈选型手册 - SiFli-Wiki v1.0 文档