牛卧堂MCU技术交流

标题: fmc read [打印本页]

作者: 匿名    时间: 2020-10-20 17:27
标题: fmc read
FMC_Read函数读出来全部是65或65‘A',是咋回事?求大虾相助!

作者: 匿名    时间: 2020-10-21 11:04
请您把相关代码贴一下
作者: 匿名    时间: 2020-10-22 11:16
FMC_Write((uint32_t)&TVTHAVED,0);//TVTHAVED = 0;


FMC_Open();
                SYS_UnlockReg();
                int16_t tmp;
    uint8_t i=0;
    int8_t j=0;
    TVT_Haved =FMC_Read( (uint32_t)&TVTHAVED);

读出来都是255 ' ',没加FMC_Open();时读出来都是65.
作者: nes6502    时间: 2020-10-22 14:17
游客 117.25.106.x 发表于 2020-10-22 11:16
FMC_Write((uint32_t)&TVTHAVED,0);//TVTHAVED = 0;
  1. SYS_UnlockReg(); //1. 要先解锁保护寄存器
  2. FMC_Open();      //2. 打开FMC功能, 后面再进行读写操作

  3. FMC_Write((uint32_t)&TVTHAVED, 0);//TVTHAVED = 0;


  4.     int16_t tmp;
  5.     uint8_t i=0;
  6.     int8_t j=0;
  7.        
  8.     TVT_Haved =FMC_Read( (uint32_t)&TVTHAVED);
复制代码

作者: 匿名    时间: 2020-10-22 17:23
SYS_UnlockReg();
                FMC_Open();
                FMC_ENABLE_AP_UPDATE();
都试过了,FMC_Write之后flash对应地址里的值是对的(KEIL DEBUG里FMC),只是FMC_Read取出来不对。

作者: 匿名    时间: 2020-10-23 10:12
我的以下CLK为啥不行?:
/* Unlock protected registers */
    //SYS_UnlockReg();

    /* Enable clock source */
    CLK_EnableXtalRC(CLK_PWRCTL_HXTEN_Msk);

    /* Waiting for clock source ready */
    CLK_WaitClockReady(CLK_STATUS_HXTSTB_Msk);

    /* If the defines do not exist in your project, please refer to the related clk.h in the Header folder appended to the tool package. */
    /* Set HCLK clock */
    CLK_SetHCLK(CLK_CLKSEL0_HCLKSEL_HXT, CLK_CLKDIV0_HCLK(1));

    /* Set PCLK-related clock */
    CLK->PCLKDIV = (CLK_PCLKDIV_APB0DIV_DIV1 | CLK_PCLKDIV_APB1DIV_DIV1);

    /* Enable IP clock */

    /* Update System Core Clock */
    /* User can use SystemCoreClockUpdate() to calculate SystemCoreClock. */
    //SystemCoreClockUpdate();
                /* Enable RTC module clock */
    CLK_EnableModuleClock(RTC_MODULE);
               
                CLK_EnableModuleClock(EADC_MODULE);
    CLK_SetModuleClock(EADC_MODULE, 0, CLK_CLKDIV0_EADC(0));
                 /* Enable PDMA clock source */
    CLK_EnableModuleClock(PDMA0_MODULE);
                /* Enable TIMER module clock */
    CLK_EnableModuleClock(TMR0_MODULE);
    CLK_SetModuleClock(TMR0_MODULE, CLK_CLKSEL1_TMR0SEL_HXT, 0);
                /* Enable TIMER module clock */
    CLK_EnableModuleClock(TMR1_MODULE);
    CLK_SetModuleClock(TMR1_MODULE, CLK_CLKSEL1_TMR1SEL_HXT, 0);//ssp
                /* Enable TIMER module clock */
    CLK_EnableModuleClock(TMR2_MODULE);
    CLK_SetModuleClock(TMR2_MODULE, CLK_CLKSEL1_TMR2SEL_HXT, 0);
                /* Enable UART module clock */
    CLK_EnableModuleClock(UART0_MODULE);
                /* Select UART module clock source as HXT and UART module clock divider as 1 */
    CLK_SetModuleClock(UART0_MODULE, CLK_CLKSEL1_UART0SEL_HXT, CLK_CLKDIV0_UART0(1));
                /* Enable WDT module clock */
    CLK_EnableModuleClock(WDT_MODULE);
    CLK_SetModuleClock(WDT_MODULE, CLK_CLKSEL1_WDTSEL_LIRC, 0);
    /* Lock protected registers */
    //SYS_LockReg();

debug后出现CLK寄存器错误:
AGDI-WARNING:failed to read memory at 0x40000230一直到0x400002B4
作者: 匿名    时间: 2020-10-23 15:24
游客 117.25.106.x 发表于 2020-10-22 17:23
SYS_UnlockReg();
                FMC_Open();
                FMC_ENABLE_AP_UPDATE();

请参照下列代码写试试看


作者: 匿名    时间: 2020-10-23 15:56
FMC的目前看似是可以,SYS_UnlockReg(); FMC_Open();FMC_ENABLE_AP_UPDATE();要紧挨再FMC段前。但是,读到几条数据之后就跳出楼上的CLK寄存器读取错误,不知道是不是CLK初始化有问题?请大侠帮忙看看。

               
作者: 匿名    时间: 2020-10-27 11:28
ICE COMMAND ERROR SET REGISTER DATA ERROR.
这个要怎么处理?
作者: 匿名    时间: 2020-10-27 13:21
游客 125.77.85.x 发表于 2020-10-27 11:28
ICE COMMAND ERROR SET REGISTER DATA ERROR.
这个要怎么处理?

没连上仿真器,检查一下仿真器硬件连接是否正确
作者: 匿名    时间: 2020-10-27 13:52
用的是M263KI V1.1开发板,看上去连接是很正常的
作者: 匿名    时间: 2020-10-27 14:09
游客 117.25.106.x 发表于 2020-10-23 15:56
FMC的目前看似是可以,SYS_UnlockReg(); FMC_Open();FMC_ENABLE_AP_UPDATE();要紧挨再FMC段前。但是,读到 ...

没测到你说的问题,你在bsp里的FMC_RW范例上改代码测试看看。
作者: 匿名    时间: 2020-10-27 15:54
copy 了范例时钟代码,单步调暂时不会出现不能读寄存器的错误,但是看起来定时器等似乎要HIRC驱动?我只用一个外接的HXT驱动全部,不用PLL不行吗?
另外,我写入flash是一个函数里同时写入几十个参数,再本函数内部读取就可以,但是在另外一个函数读取flash就不行,统一显示255‘’或65‘’,这是为啥?
作者: 匿名    时间: 2020-10-29 16:49
连接正常的,usb连的很紧




欢迎光临 牛卧堂MCU技术交流 (http://nuvoton-mcu.com/) Powered by Discuz! X3.2