azeng 发表于 2015-5-2 23:01:38

新唐的M058固件库里居然有这种低级bug...

劳动节闲在家,翻腾出不久前买的新唐M058SSAN评估板,用固件库写了个demon,居然百试不得运行,进仿真,发现卡在 SYS_UnlockReg(); 这个函数里,函数内容如下:    while(SYS->REGWRPROT != SYS_REGWRPROT_REGPROTDIS_Msk)
    {
      SYS->REGWRPROT = 0x59;
      SYS->REGWRPROT = 0x16;
      SYS->REGWRPROT = 0x88;
    }
之后进一步发现,官方居然把SYS->REGWRPROT这个寄存器偏移地址弄错了,难怪不行。

找到原因之后修改这个函数的内容如下:        register uint32_t reg_addr, nmb1, nmb2, nmb3;
       
        reg_addr = 0x50000100;
        nmb1 = 0x59;
        nmb2 = 0x16;
        nmb3 = 0x88;
               
        __ASM("STR nmb1, ");
        __ASM("STR nmb2, ");
        __ASM("STR nmb3, ");

流水灯欢快的跑了起来,哈哈,哈哈哈~

PS:鄙视下新唐。

fghfguytu 发表于 2015-5-2 23:14:09

楼主用是的那个版本的库呀?

azeng 发表于 2015-5-2 23:18:49

fghfguytu 发表于 2015-5-2 23:14
楼主用是的那个版本的库呀?

刚从官网下的,应该是最新的,这是一个注释:/**************************************************************************//**
* @file   adc.c
* @versionV3.00
* $Revision: 3 $
* $Date: 15/04/08 5:58p $
* @brief    ADC driver source file
*
* @note
* Copyright (C) 2014 Nuvoton Technology Corp. All rights reserved.
*****************************************************************************/

farfar 发表于 2015-5-3 08:38:57

貌似新塘的芯片淘寶上都很少,不知道這是什麽情況。
樓主現在玩的咋樣了?新塘的芯片好用嗎?

sddp001 发表于 2015-5-3 09:59:42

新唐的库版本感觉乱乱的,M0片子挺好用的,没有RTC有点腰疼

azeng 发表于 2015-5-3 14:18:33

farfar 发表于 2015-5-3 08:38
貌似新塘的芯片淘寶上都很少,不知道這是什麽情況。
樓主現在玩的咋樣了?新塘的芯片好用嗎? ...

没啥特别的感觉,因为内核都一样,好处就是可以直接接5V。

mypc16888 发表于 2015-5-3 15:13:05

新唐的库有事是有点问题,同感

bart 发表于 2015-5-4 00:58:54

去听一个新唐讲座,送了一个开发板。打开附带的CD一看,连gerber都拼错了。这种态度就别指望能出什么好东西了。
页: [1]
查看完整版本: 新唐的M058固件库里居然有这种低级bug...