3511|5

2

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

加密使MEGA8跑飞? [复制链接]

在MEGA8中使用以下方式调用函数,如果加密模式设置为APP(用户区)可读,则单片机工作正常,如果设置为不可读,单片机执行 SApp_Init 或 SApp_SetupPrep函数时就会跑飞,那位碰到过这个问题?  环境: ICCAVR7.22 下载工具:双龙ISP
typedef int fIntVoid(void);
const  fIntVoid * _apStatusMachinefunc[] =
{
SApp_Init,//状态机初始态
SApp_SetupPrep,//设定状态
}

void SApp_Init()
{...}
 
void SApp_SetupPrep() 
{...} 

main()
{
.....
_apStatusMachinefunc[ 0 ](); //加密后,执行时会跑飞
.....
}
[ 本帖最后由 toqaswed 于 2012-7-4 23:39 编辑 ]

最新回复

纠结的问题呀,我在AVR调试中也遇到程序跑飞的问题,就是不用子程序程序运行OK,调用子程序就会跑飞  详情 回复 发表于 2013-8-15 14:12
点赞 关注
 

回复
举报

4138

帖子

0

TA的资源

五彩晶圆(中级)

沙发
 
虽然是版主这个问题我还真没遇到过,因为我原来玩AVR时候一直没加密过,只是一个面试时候被问及过加密的问题,现帮你顶一下吧
 
 
 

回复

4138

帖子

0

TA的资源

五彩晶圆(中级)

板凳
 
你指的跑飞,是指具体什么情况,单单指没按照你预想的跑马
 
 
 

回复

1万

帖子

16

TA的资源

版主

4
 

没有遇到。不过我觉得,

  只打ISP不可用,就能达到加密目地。但注意听。这样的话。你自己也读不出来。
 
个人签名http://shop34182318.taobao.com/
https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr
 
 

回复

2

帖子

0

TA的资源

一粒金砂(中级)

5
 
以前的程序我加密都没问题(没有定义在程序空间的函数指针和数组),这次的程序使用了函数指针来做。在进行加密后,程序运行到使用函数指针指向的子程序(  SApp_Init() 和 SApp_SetupPrep() )时,就不进入这些函数了,程序完全不再工作。 后来发现,不仅仅是函数指针。定义在程序区的数组似乎也存在这个问题,比如下面这个数组:
unsigned char const DISP_NUM[10] = {
    0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,
};
不加密时引用数组OK,加密后引用,就是一些奇怪的数值了。

我怀疑是不是加密设置为:用户区不可读后,程序不能找到正确的函数指针和数组指针。

另外,谢谢ddllxxrr的建议,不过不知道不允许ISP的加密方法,如果人家用并行的编程器读,能不能读的出来啊?
 
 
 

回复

6

帖子

0

TA的资源

一粒金砂(中级)

6
 
纠结的问题呀,我在AVR调试中也遇到程序跑飞的问题,就是不用子程序程序运行OK,调用子程序就会跑飞
 
 
 

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

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表