软件延时导致C6678复位 - TMS320C6678 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3640|回复: 1

软件延时导致C6678复位

[复制链接]

32

主题

97

帖子

2049

积分

金牌会员

Rank: 6Rank: 6

积分
2049
发表于 2016-7-30 10:42:38 | 显示全部楼层 |阅读模式
     本渣渣最近在调C6678的IPC中断程序,想用一个简单的延时函数来延一下时,可是每当我一调用它的时候就发现核0重启,额,,,其实也不能说叫重启,就是某一段代码重复运行,重复的代码恰好在我调用的这个延时函数的前面。
    下面是我写的延时函数:
  1. void delay_us(unsigned int us)
  2. {
  3.         unsigned int i;
  4.         for( ; us>0;us--)
  5.                 for(i=109;i>0;i--);
  6. }
  7. //delay_ms(1);  实测1.004ms  在1GHz的主频下
  8. void delay_ms(unsigned int ms)
  9. {
  10.         for( ; ms>0;ms--)
  11.                 delay_us(1000);
  12. }
复制代码
   然后我在下面的这段代码里调用了它:
  1. void Wake_up_other_core(void)
  2. {
  3.         int *IpcGr0;
  4.     int i;

  5.         IpcGr0  = (int*)0x02620240;
  6.         /*warning:when running on no-boot mode,core0~core7 must all be connected to the target*/
  7.         for(i = 1;i < CORE_NUM_6678;i++)     //core0 sent ipc interrupt to
  8.         {
  9.                 delay_ms(2000);
  10.           *(IpcGr0+i) = (*(IpcGr0+i)) | 0x00000001;
  11.         }
  12. }
复制代码
下面的是主函数:
  1. void main(void)
  2. {
  3.         System_init();

  4.         UART_Interact_with_PC();                                              //使用DMA发送方式,如果每次发送时查询DMA是否发送完成容易卡死
  5.         GPIO_init();
  6. //        delay_ms(10);

  7.         KeyStone_UART_write(string1, sizeof(string1), 0);     // 使用串口0向PC发送核0启动完毕信息

  8.         Wake_up_other_core();                                                              //唤醒其它7个辅助核
  9.         while(1)
  10.         {
  11. //                        GPIO15_TOGGLE ;
  12. //                        delay_ms(1);
  13.                         //TSC_delay_us(1);
  14.         }
  15. }
复制代码
每次运行到Wake_up_other_core(); 时,KeyStone_UART_write(string1, sizeof(string1), 0); 这个函数就被重复调用了,因为我在串口助手上接收到了我要发送到内容,但是正常的情况下只会发送一次,现在是重复发送。哦,对了我的串口是使用的DMA方式发送的,会不会是哪里有冲突?
回复

使用道具 举报

3

主题

852

帖子

3538

积分

创龙

Rank: 8Rank: 8

积分
3538
发表于 2016-8-3 18:40:18 | 显示全部楼层
建议设置断点,然后进行单步调试
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|嵌入式开发者社区 ( 粤ICP备15055271号

GMT+8, 2024-4-19 07:27 , Processed in 0.036751 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

快速回复 返回顶部 返回列表