打印
[Kinetis]

使用KE02问题,请大家指点一下,谢谢

[复制链接]
1707|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhlraix|  楼主 | 2015-8-28 10:25 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
利用demo程序,中的GPIO_Demo
1.启动后编译,出现警告,暂时不理会     GPIO_PTH7_MASK = (1<<31),   /*!< GPIO Pin PTH7 bit mask */
根据野火的启动分析:


2.找到了start.C函数.void start(void){          /*Disable the watchdog timer but enable update */   WDOG_DisableWDOGEnableUpdate();   #ifndef __GNUC__ #ifndef KEIL         /*Copy any vector or data sections that need to be in RAM */         common_startup();#endif#endif         /*Jump to main process */         main();         /*No actions to perform after this so wait forever */         while(1);}------看到只是关闭了看门狗,然后就调用main().int main (void){   /* Perform processor initialization */   sysinit();    while (1);}---这是main()函数---调用sysinit();void sysinit (void){   SIM_ConfigType  sSIMConfig ={{0},0};   ICS_ConfigType  sICSConfig = {0};   /* initialize the Pass/Fail counts to 0 */    global_pass_count= 0;   global_fail_count = 0; #if defined(TRIM_IRC)       /* if not trimmed, do trim first */   ICS_Trim(ICS_TRIM_VALUE);#endif    /*     * Enable SWD pin, RESET pin     */   /*     * NOTE: please make sure other register bits are also write-once and    * need add other bit mask here if needed.    */#if defined(SPI0_PINREMAP)           sSIMConfig.u32PinSel |= SIM_PINSEL_SPI0PS_MASK;#endif#if defined(OUTPUT_BUSCLK)    sSIMConfig.sBits.bEnableCLKOUT= 1;      /* output bus clock if enabled*/#endif#if defined(DISABLE_NMI)   sSIMConfig.sBits.bDisableNMI = 1;#endif   #if !defined(CPU_KE04)    /* make sure clocks to peripheral modules are enabled */   sSIMConfig.u32SCGC |= SIM_SCGC_SWD_MASK | SIM_SCGC_FLASH_MASK |                         SIM_SCGC_UART0_MASK |SIM_SCGC_UART1_MASK |                          SIM_SCGC_UART2_MASK         ;   #else   sSIMConfig.u32SCGC |= SIM_SCGC_SWD_MASK | SIM_SCGC_FLASH_MASK |                         SIM_SCGC_UART0_MASK                          ;   #endif   #if !defined(CPU_KE02)   /* bus clock divided by 2 */   sSIMConfig.u32CLKDIV |= SIM_CLKDIV_OUTDIV2_MASK;                              #endif   SIM_Init(&sSIMConfig);                   /* initialize SIM */#if defined(XOSC_STOP_ENABLE)      sICSConfig.oscConfig.bStopEnable = 1;   /*  enabled in stop mode */   #endif          #if defined(CRYST_HIGH_GAIN)       sICSConfig.oscConfig.bGain = 1;          /* high gain */      #endif    #if (EXT_CLK_FREQ_KHZ >=4000)   sICSConfig.oscConfig.bRange = 1;           /* high range */#endif   sICSConfig.oscConfig.bEnable = 1;          /* enable OSC */   sICSConfig.u32ClkFreq = EXT_CLK_FREQ_KHZ;#if    defined(USE_FEE)       sICSConfig.u8ClkMode = ICS_CLK_MODE_FEE;    #elif defined(USE_FBE_OSC)   sICSConfig.u8ClkMode = ICS_CLK_MODE_FBE_OSC;    #elif defined(USE_FEE_OSC)      sICSConfig.u8ClkMode = ICS_CLK_MODE_FEE_OSC;      #endif        ICS_Init(&sICSConfig);   /*initialize ICS */   /* initialize UART for printing */   UART_InitPrint();                       #if     defined(PRINT_SYS_LOG)   print_sys_log();#endif } -----根据之前看到的**,这是时钟的初始化,到这里,就完成了,然后到main()初始化的工作 以下是我的问题,有几点不明白,请高手帮忙解答一下1.      sysinit这个函数,如果我用其他名称替换,自己写一个函数初始化时钟,IO等行不,就放在main();2.      以下条件编码,XOSC_STOP_ENABLE需要自己用define定义吗?还是如何,谢谢#if defined(XOSC_STOP_ENABLE)      sICSConfig.oscConfig.bStopEnable = 1;   /*  enabled in stop mode */   #endif3.      我的警告是什么意思?谢谢大家,因为之前没有接触这个,一直是8位机,现在开始做电机程序,所以请多指教

野火启动分析.png (186.05 KB )

野火启动分析.png

相关帖子

沙发
zhlraix|  楼主 | 2015-8-28 10:25 | 只看该作者
贴上的代码乱了。。。。。。

使用特权

评论回复
板凳
FSL_TICS_Jeremy| | 2015-8-28 10:42 | 只看该作者
zhlraix 发表于 2015-8-28 10:25
贴上的代码乱了。。。。。。

根据你的问题:
1. 初学者不建议修改工程的启动流程,当然你可以在KE02经过sysint()时钟模式后,再次在main中配置时钟模式的,这个由你自己决定
2. XOSC_STOP_ENABLE这应该在个宏定义吧,应该可以由开发者设置具体的值的

使用特权

评论回复
地板
cowboy2014| | 2015-8-28 21:56 | 只看该作者
感觉是启动部分修改的有些问题

使用特权

评论回复
5
史迪威将军| | 2015-8-29 16:05 | 只看该作者
程序单步运行一下,看看和自己想要的有什么不一样

使用特权

评论回复
6
diy2060| | 2017-5-29 23:26 | 只看该作者
FSL_TICS_Jeremy 发表于 2015-8-28 10:42
根据你的问题:
1. 初学者不建议修改工程的启动流程,当然你可以在KE02经过sysint()时钟模式后,再次在ma ...

你好请问XOSC_STOP_ENABLE是定义什么的,我也是刚用ke02很多不明白的地方

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

21

主题

79

帖子

1

粉丝