NXP

MPC5744p中关于No source available for "0x1000000" 的处理

2019-07-12 11:49发布

本帖为个人原创,初始nxp-mpc5744p,新手上路,采用的是一块官网的开发板(DEVKIT-MPC5744)
DEVKIT-MPC5744
官网给出的例程中有关于can通信的调试,再开发板上调试运行没出现问题,串口可以打印hello(can的模式设为回环模式loopback)。在自己调试的过程中重新建立工程,初始化CAN _0(can_0带有高速CAN的收发器,具体电路如下所示)  常遇到No source available for "0x1000000" 的错误,网上查了大量的资源,基本上都没有给出明确的修改方案。花费一晚上的时间,分享给大家:只需改动如下配置即可:官网源代码: void peri_clock_gating (void) {
  MC_ME.RUN_PC[0].R = 0x00000000;  /* gate off clock for all RUN modes */
  MC_ME.RUN_PC[1].R = 0x000000FE;  /* config. peri clock for all RUN modes */ #if !(DEVKIT)
  MC_ME.PCTL79.B.RUN_CFG = 0x1; //FlexCAN 0: select peripheral config RUN_PC[1]
  MC_ME.PCTL204.B.RUN_CFG = 0x1; //LINFlexD_0: select peripheral config RUN_PC[1]
#else
  MC_ME.PCTL77.B.RUN_CFG = 0x1; //FlexCAN 2: select peripheral config RUN_PC[1]
  MC_ME.PCTL91.B.RUN_CFG = 0x1; //LINFlexD_1: select peripheral config RUN_PC[1]
#endif
#if !LOOPBACK
  MC_ME.PCTL78.B.RUN_CFG = 0x1; //Repeat for FlexCAN 1 if no loopback feature
#endif
} 如果想初始化CAN_0及LINFlexD_1:,将上面代码替换为如下即可: void peri_clock_gating (void) {
  MC_ME.RUN_PC[0].R = 0x00000000;  /* gate off clock for all RUN modes */
  MC_ME.RUN_PC[1].R = 0x000000FE;  /* config. peri clock for all RUN modes */   MC_ME.PCTL79.B.RUN_CFG = 0x1; //FlexCAN 0: select peripheral config RUN_PC[1]
  MC_ME.PCTL91.B.RUN_CFG = 0x1; //LINFlexD_1: select peripheral config RUN_PC[1] } 可能以上方法只能解决一部分问题,在学习的过程中遇到类似的问题,欢迎大家共同交流!