芯唐M0,错误的时钟操作会锁死吗?答,不会,详细见内。
本帖最后由 appleboy 于 2016-6-25 11:54 编辑如下入的小板我拍了10个,一直没时间玩,现在想用一下,链接了JLINK,可以正常下载程序,当我的代码下载过之后,就再也无法链接JLINK了,连续测试2片都如此,
是不是我的代码配置错了某些寄存器呀?如果是STM32这种情况下只要是让代码运行前进行链接就可以了,但是这个芯唐怎么就无法链接呢?
即便控制复位端口也无效,救不活了?
感谢解答问题的热心网友,
使用NU LINK就好了
正确的配置如下
SYS_UnlockReg();
/* Enable IRC22M clock */
CLK->PWRCON |=CLK_PWRCON_IRC22M_EN_Msk;
/* Waiting for IRC22M clock ready */
CLK_WaitClockReady(CLK_CLKSTATUS_IRC22M_STB_Msk);
/* Switch HCLK clock source to*/
CLK->CLKSEL0 &= ~CLK_CLKSEL0_STCLK_S_Msk;
CLK->CLKSEL0 |=CLK_CLKSEL0_STCLK_S_Msk;
/* Enable IP clock */
CLK->APBCLK |= CLK_APBCLK_UART_EN_Msk; // UART Clock Enable
/* Select IP clock source */
CLK->CLKSEL1 &= ~CLK_CLKSEL1_UART_S_Msk;
CLK->CLKSEL1 |=CLK_CLKSEL1_UART_S_Msk; // Clock source from external 12 MHz or 32 KHz crystal clock
/* Update System Core Clock */
/* User can use SystemCoreClockUpdate() to calculate PllClock, SystemCoreClock and CycylesPerUs automatically. */
SystemCoreClockUpdate();
http://www.amobbs.com/forum.php?mod=viewthread&tid=5644242&highlight=%E5%B0%8F%E6%9D%BF
void SYS_Init(void)
{
/*---------------------------------------------------------------------------------------------------------*/
/* Init System Clock */
/*---------------------------------------------------------------------------------------------------------*/
/* Unlock protected registers */
SYS_UnlockReg();
/* Enable IRC22M clock */
CLK->PWRCON &= ~CLK_PWRCON_IRC22M_EN_Msk;
CLK->PWRCON |=CLK_PWRCON_IRC22M_EN_Msk;
/* Waiting for IRC22M clock ready */
CLK_WaitClockReady(CLK_CLKSTATUS_IRC22M_STB_Msk);
/* Switch HCLK clock source to XTAL */
CLK->CLKSEL0 &= ~CLK_CLKSEL0_HCLK_S_Msk;
CLK->CLKSEL0 |=CLK_CLKSEL0_HCLK_S_Msk;
/* Enable IP clock */
CLK->APBCLK |= CLK_APBCLK_UART_EN_Msk; // UART Clock Enable
/* Select IP clock source */
CLK->CLKSEL1 &= ~CLK_CLKSEL1_UART_S_Msk;
CLK->CLKSEL1 |=CLK_CLKSEL1_UART_S_Msk; // Clock source from external 12 MHz or 32 KHz crystal clock
/* Update System Core Clock */
/* User can use SystemCoreClockUpdate() to calculate PllClock, SystemCoreClock and CycylesPerUs automatically. */
SystemCoreClockUpdate();
/*---------------------------------------------------------------------------------------------------------*/
/* Init I/O Multi-function */
/*---------------------------------------------------------------------------------------------------------*/
/* Set P1 multi-function pins for UART1 RXD and TXD*/
SYS->P1_MFP &= ~(SYS_MFP_P12_Msk | SYS_MFP_P13_Msk);
SYS->P1_MFP |=(SYS_MFP_P12_RXD | SYS_MFP_P13_TXD);
/* Lock protected registers */
SYS_LockReg();
} 不会锁死的,但是最好用nulink玩这个东西。 配置成外部时钟了还玩啥? marshallemon 发表于 2016-6-25 09:50
配置成外部时钟了还玩啥?
我焊接了外部晶振,现象依旧 第三个又报废了
SYS_UnlockReg();
/* Enable IRC22M clock */
CLK->PWRCON &= ~CLK_PWRCON_IRC22M_EN_Msk;
CLK->PWRCON |=CLK_PWRCON_IRC22M_EN_Msk;
/* Waiting for IRC22M clock ready */
CLK_WaitClockReady(CLK_CLKSTATUS_IRC22M_STB_Msk);
/* Switch HCLK clock source to*/
CLK->CLKSEL0 &= ~CLK_CLKSEL0_STCLK_S_Msk;
CLK->CLKSEL0 |=CLK_CLKSEL0_STCLK_S_Msk;
/* Enable IP clock */
CLK->APBCLK |= CLK_APBCLK_UART_EN_Msk; // UART Clock Enable
/* Select IP clock source */
CLK->CLKSEL1 &= ~CLK_CLKSEL1_UART_S_Msk;
CLK->CLKSEL1 |=CLK_CLKSEL1_UART_S_Msk; // Clock source from external 12 MHz or 32 KHz crystal clock
/* Update System Core Clock */
/* User can use SystemCoreClockUpdate() to calculate PllClock, SystemCoreClock and CycylesPerUs automatically. */
SystemCoreClockUpdate(); NUC 的没有NULINK,起动初始化前一定要延时1-2秒;
不会锁死,不过好像只能用NULINK上电解锁,我遇到过 mcu5i51 发表于 2016-6-25 10:26
NUC 的没有NULINK,起动初始化前一定要延时1-2秒;
不会锁死,不过好像只能用NULINK上电解锁,我遇到过 ...
谢谢,提供了重要信息了,我换NULINK看看 不会被锁的,把RST脚连上,重新烧程序 wmm20031015 发表于 2016-6-25 11:15
不会被锁的,把RST脚连上,重新烧程序
JLINK链接RST也不行,必须用NULINK 新唐的M0还是不错的。 LVmcu 发表于 2016-6-25 12:23
新唐的M0还是不错的。
谈不到不错吧,刚出的时候我申请了一块板子,拿到手就放下了,一放就是好几年
主要问题就是芯片热,这么热的芯片功耗小不了的,也许几年过去了,有所改进了吧!
但是也没看到其亮点在哪 appleboy 发表于 2016-6-25 12:33
谈不到不错吧,刚出的时候我申请了一块板子,拿到手就放下了,一放就是好几年
主要问题就是芯片热,这么 ...
我是这2年开始用的,主要就是PWM和AD功能能和现有设备的5V匹配,至于你说的发热问题没发现过。 LVmcu 发表于 2016-6-25 12:38
我是这2年开始用的,主要就是PWM和AD功能能和现有设备的5V匹配,至于你说的发热问题没发现过。 ...
说到点子上了,5V是兼容的优势
原来的芯片功耗很大的,现在确实没有明显温升了。 M051我一直jlink没碰到过锁死的情况 ysu_er 发表于 2016-6-25 15:22
M051我一直jlink没碰到过锁死的情况
你一定是很精通这颗芯片,我不了解,而且也没看手册,直接就改了一下时钟,改成外部,内部都不能使用的状态了
用NULINK擦除后,我现在也是用JLINK来调试了,一切正常,只要记得不弄错时钟JLINK就没事,一旦弄错了时钟非NULINK不可,STM32还能通过复位呀,或者BOOT呀进行JLINK链接前的操作,这个芯唐你是怎么弄都不行,就得上独家的NULINK 这个小板我也拍了一些,改天有空根据楼主的经验也试试。
页:
[1]