在使用过程中,直接调用官方提供的API(mx66l51235f.h),但是在MX66L51235FInit(ui32SysClock);初始化时配置不过,一直停留在Reset_handler段
程序断如下,不知道哪里有问题,望高手点拔。
uint32_t ui32SysClock;
uint8_t pUiMx66Data[32]={1};
uint8_t* pstring;
//
// Run from the PLL at 120 MHz.
//
// ui32SysClock = MAP_SysCtlClockFreqSet((SYSCTL_XTAL_25MHZ |
// SYSCTL_OSC_MAIN | SYSCTL_USE_PLL |
// SYSCTL_CFG_VCO_480), 120000000);
ui32SysClock = SysCtlClockFreqSet(SYSCTL_OSC_INT | SYSCTL_USE_PLL | SYSCTL_CFG_VCO_320,
40000000);
//
// Configure the device pins.
//
PinoutSet();
MX66L51235FInit(ui32SysClock);
MX66L51235FSectorErase(0);
MX66L51235FRead(0x00, pUiMx66Data, sizeof(pUiMx66Data));
MX66L51235FPageProgram(0x00, pUiMx66Data, sizeof(pUiMx66Data));
MX66L51235FRead(0x100, pUiMx66Data, sizeof(pUiMx66Data));
xyz549040622:
ui32SysClock = MAP_SysCtlClockFreqSet((SYSCTL_XTAL_25MHZ | SYSCTL_OSC_MAIN | SYSCTL_USE_PLL | SYSCTL_CFG_VCO_480), 120000000);
这句应该才是TM4C129x的时钟初始化吧,怀疑你的那句初始化时钟不成功。换这个试试
Maka Luo:
ui32SysClock = SysCtlClockFreqSet(SYSCTL_OSC_INT | SYSCTL_USE_PLL | SYSCTL_CFG_VCO_320,40000000);
仿真看看uiSysClock 得到的值是否是120MHz, 配置MCU系统时钟后,马上读取,可能导致其晶振未稳定的时候,就获取其值导致偏差。
解决方法,在此之间加入一个100cycle delay 看看。
Lianjie Lin
在使用过程中,直接调用官方提供的API(mx66l51235f.h),但是在MX66L51235FInit(ui32SysClock);初始化时配置不过,一直停留在Reset_handler段
程序断如下,不知道哪里有问题,望高手点拔。
uint32_t ui32SysClock; uint8_t pUiMx66Data[32]={1}; uint8_t* pstring; // // Run from the PLL at 120 MHz. // // ui32SysClock = MAP_SysCtlClockFreqSet((SYSCTL_XTAL_25MHZ | // SYSCTL_OSC_MAIN | SYSCTL_USE_PLL | // SYSCTL_CFG_VCO_480), 120000000);
ui32SysClock = SysCtlClockFreqSet(SYSCTL_OSC_INT | SYSCTL_USE_PLL | SYSCTL_CFG_VCO_320, 40000000); // // Configure the device pins. // PinoutSet();
MX66L51235FInit(ui32SysClock);
MX66L51235FSectorErase(0);
MX66L51235FRead(0x00, pUiMx66Data, sizeof(pUiMx66Data));
MX66L51235FPageProgram(0x00, pUiMx66Data, sizeof(pUiMx66Data)); MX66L51235FRead(0x100, pUiMx66Data, sizeof(pUiMx66Data));