在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
芯片精品文章合集(500篇!) 创芯人才网--重磅上线啦!
查看: 7093|回复: 5

[原创] powerpc,mpc8313平台e300核,模运算出现溢出?

[复制链接]
发表于 2010-6-29 18:20:17 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
各位达人:
本人在mpc8313开发板上写程序,系统引导起来后,特意设置成:没有mmu,不使用cache,不开中断,不开异常初始化,相当于裸板程序。
因为我们的操作系统,发现了一个bug,在系统里,进行模运算,发现模运算一段时间后,出现溢出。
程序如下:

     unsigned long msr=0;
    unsigned long b=0;
    unsigned long i,j,k=0;
    unsigned char s[100][100];
    unsigned long xer=0x0;
    unsigned long hid2=0x0;
    unsigned long moshu=0x0;
   powerpc_disable_int(); //关中断
    unlock_ram_in_cache();
    disable_dcache();//禁止掉数据cache,此时指令cache没有开,所以相当于指令cache没有作用。
    while(1)
    {        
        for(i=0;i<100;i++)
        {        
            for(j=0;j<100;j++)
            {        
                s[j] +=0;
            }        
        }        
        k++;
        __asm__ __volatile__ ("mfmsr %0":"=r" (msr);
        __asm__ __volatile__ ("sync";   
        __asm__ __volatile__ ("isync";

        k=get_tbus();//获取时间的一个随机函数
        b = k%100+ 27;
         if((b>127)||(b<27))
        {        
            printf("shit stop\n";
            printf("error %x,%x\n",b,k);
            b = k%100+ 27;
            printf("err again? %x,%x\n",b,k);
            while(1)
            {        
            }        
        }   

    }      
最后居然运行3小时后,会进入到进入到if分支里,出现了溢出,b的值打印是一个很大的值班,不在27-127范围内??
所以想请教下大家,是编译器问题吗(gcc),还是我的powerpc平台的初始化和系统的链接脚本之类的有问题?
头像被屏蔽
发表于 2010-7-13 15:47:22 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2011-1-6 10:55:39 | 显示全部楼层
请问系统引导是用bootloader引导的么?
发表于 2011-1-31 12:18:30 | 显示全部楼层
什么编译工具链?
 楼主| 发表于 2011-2-22 12:33:34 | 显示全部楼层
此问题已经解决,原因是,我的系统调度恢复时,没有把浮点处理恢复,另外,保存的R2-R4状态恢复也出现了问题。
发表于 2014-10-30 10:24:41 | 显示全部楼层
有希望大热了啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-22 14:00 , Processed in 0.045620 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表