放开那个鸡腿

  • 2018-12-29
  • 发表了主题帖: LPC1768 UCOSII 移植到IAR8.3环境下,编译没有问题,运行卡死到创建第一个任务函数...

    之前程序是在KEIL5环境下的,运行没有问题; 现在改到IAR8.30环境,配置后编译,有3个告警,如下标黑; Warning[Pa082]: undefined behavior: the order of volatile accesses is undefined in this statement 因为这个是变量相关的,没有处理 //system_LPC17xx.c文件 void SystemCoreClockUpdate (void)            /* Get Core Clock Frequency      */ {   /* Determine clock frequency according to clock register values             */   if (((LPC_SC->PLL0STAT >> 24) & 3) == 3) { /* If PLL0 enabled and connected */     switch (LPC_SC->CLKSRCSEL & 0x03) {       case 0:                                /* Int. RC oscillator => PLL0    */       case 3:                                /* Reserved, default to Int. RC  */         SystemCoreClock = (IRC_OSC *                           ((2 * ((LPC_SC->PLL0STAT & 0x7FFF) + 1)))  /                           (((LPC_SC->PLL0STAT >> 16) & 0xFF) + 1)    /                           ((LPC_SC->CCLKCFG & 0xFF)+ 1));         break;       case 1:                                /* Main oscillator => PLL0       */         SystemCoreClock = (OSC_CLK *                           ((2 * ((LPC_SC->PLL0STAT & 0x7FFF) + 1)))  /                           (((LPC_SC->PLL0STAT >> 16) & 0xFF) + 1)    /                           ((LPC_SC->CCLKCFG & 0xFF)+ 1));         break;       case 2:                                /* RTC oscillator => PLL0        */        SystemCoreClock = (RTC_CLK *                           ((2 * ((LPC_SC->PLL0STAT & 0x7FFF) + 1)))  /                           (((LPC_SC->PLL0STAT >> 16) & 0xFF) + 1)    /                           ((LPC_SC->CCLKCFG & 0xFF)+ 1));         break;     }   } else {     switch (LPC_SC->CLKSRCSEL & 0x03) {       case 0:                                /* Int. RC oscillator => PLL0    */       case 3:                                /* Reserved, default to Int. RC  */         SystemCoreClock = IRC_OSC / ((LPC_SC->CCLKCFG & 0xFF)+ 1);         break;       case 1:                                /* Main oscillator => PLL0       */         SystemCoreClock = OSC_CLK / ((LPC_SC->CCLKCFG & 0xFF)+ 1);         break;       case 2:                                /* RTC oscillator => PLL0        */         SystemCoreClock = RTC_CLK / ((LPC_SC->CCLKCFG & 0xFF)+ 1);         break;     }   } //---------------------------------------------------------------------------------- 下载运行后,前边初始化时没有问题的,每次运行到下边标黑处就卡死了 int main(void) {          BSP_Init ();          BSP_Start ();          OSInit();                   Timer0_Init();                   OSTaskCreate(LEDON, (void *)0, &stkLEDON[sizeof(stkLEDON)/4-1], 5);          OSTaskCreate(LEDOFF, (void *)0, &stkLEDOFF[sizeof(stkLEDOFF)/4-1], 4);          OSStart(); } 卡死到下边标黑处 //startup_LPC177x_8x.s文件         PUBWEAK HardFault_Handler         SECTION .text:CODE:NOROOT:REORDER(1) HardFault_Handler         B HardFault_Handle 有如下提示: Fri Dec 28, 2018 17:15:45:    A precise data access error has occurred (CFSR.PRECISERR, BFAR) at data address 0x40034000.

  • 2018-10-12
  • 加入了学习《Altera SoC Demo现场演示》,观看 ubuntu + uCOS-II展示双核ARM Cortex-A9的强大处理能力

  • 加入了学习《Altera SoC Demo现场演示》,观看 风河VxWorks演示

  • 加入了学习《Altera SoC Demo现场演示》,观看 在Linux上运行PCIe

  • 2018-06-19
  • 回复了主题帖: 求无线防冲撞机制!!!!!!

    andy93762 发表于 2018-6-16 07:53 我也在找这方面的资料
    有没有方向啊

  • 2018-06-15
  • 发表了主题帖: 求无线防冲撞机制!!!!!!

    除了TI-MAC,有没有别的无线防冲撞机制,最好是简单易用的,或者自己简单的防冲撞机制

  • 2018-06-01
  • 回复了主题帖: MSP430FR6972 进入LPM3模式 SMCLK仍然处于激活状

    确定进了,有仿真

  • 发表了主题帖: MSP430FR6972 进入LPM3模式 SMCLK仍然处于激活状

    如题,进入LPM3后  SMCLKOFF并没有被置位,如果在进入LPM3前强制置位SMCLKOFF功耗反而还会增加不知道是什么原因

  • 2018-05-29
  • 回复了主题帖: MSP430FR6972 看门狗不能重新启动程序

    qwerghf 发表于 2018-5-29 17:12 不能这么操作,WDT_ARST_1000是以ACLK作为看门狗时钟的
    现在我是用WDTCTL = WDT_ARST_1000; 选择ALCK做看门狗时钟,不喂狗,时间到,死机,程序不能重新启动;另外时钟源也被改变了,这个改变不知道是什么导致的 用WDTCTL = WDT_ARST_1000; 喂狗,能清零计数,同时保证看门狗时钟源不变;这样程序可以正常运行

  • 发表了主题帖: MSP430FR6972 看门狗不能重新启动程序

    使用WDTCTL = WDT_ARST_1000;设置了看门狗,主循环里WDTCTL = WDT_ARST_1000;喂狗,程序正常工作;当把主循环喂狗去掉,程序死掉,没有重启,WDTCTL时钟源由ACLK变为默认的SMCLK了,不明白为什么不重新启动

  • 回复了主题帖: 看看怎么写MSP430看门狗程序

    使用WDTCTL = WDT_ARST_1000;设置了看门狗,主循环里WDTCTL = WDT_ARST_1000;喂狗,程序正常工作; 当把主循环喂狗去掉,程序死掉,没有重启,WDTCTL时钟源由ACLK变为默认的SMCLK了,不明白为什么不重新启动

  • 2018-05-15
  • 发表了主题帖: SX1212载波侦听 冲突检测

    如题,这个是要用到某个寄存器位,在发射前先读取一下,再视情况而定么? 求大神!!!!!

  • 2018-04-04
  • 回复了主题帖: MSP430FR6972编译出错,提示Error[e16]: Segment DATA20_ID (size: 0x19e align: 0x1)

    本帖最后由 放开那个鸡腿 于 2018-4-4 09:05 编辑
    qwerghf 发表于 2018-4-4 08:56 cy_index是怎么定义的,看看产生什么影响
    一个计数标志;问题已经解决了,内存配置比较细致,确实是溢出了,修改下配置范围就好了

  • 2018-04-03
  • 发表了主题帖: MSP430FR6972编译出错,提示Error[e16]: Segment DATA20_ID (size: 0x19e align: 0x1)

    感觉应该不是内存溢出,只要我把先列程序第三行注释掉就没问题,那怕是再定义个1K的数组 求大神搭救? _EINT(); while(cy_index != 0){;} //while(cy_index != 1119){;} _DINT() ; IAR编译器 错误提示如下: Error[e16]: Segment DATA20_ID (size: 0x19e align: 0x1) is too long for segment definition. At least 0x4 more bytes needed. The problem occurred while processing the segment placement command  "-Z(CONST)DATA20_C,DATA20_ID,CODE_ID=9400-FE70,10040-13FFF", where at the moment of placement the available memory ranges were "CODE:13e66-13fff"    Reserved ranges relevant to this placement:    9400-942f            CSTART    9430-9973            ISR_CODE    9974-fe6f            CODE    fe70-fe70            DATA20_C    10000-136c3          CODE    136c4-13fff          DATA20_C

最近访客

< 1/1 >

统计信息

已有141人来访过

  • 芯币:480
  • 好友:1
  • 主题:22
  • 回复:84
  • 课时:--
  • 资源:1

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言