在MEGA8中使用以下方式调用函数,如果加密模式设置为APP(用户区)可读,则单片机工作正常,如果设置为不可读,单片机执行 SApp_Init 或 SApp_SetupPrep函数时就会跑飞,那位碰到过这个问题? 环境: ICCAVR7.22 下载工具:双龙ISPtypedef 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 编辑 ]
此帖出自
小平头技术问答
unsigned char const DISP_NUM[10] = { 0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,};
不加密时引用数组OK,加密后引用,就是一些奇怪的数值了。
我怀疑是不是加密设置为:用户区不可读后,程序不能找到正确的函数指针和数组指针。
另外,谢谢ddllxxrr的建议,不过不知道不允许ISP的加密方法,如果人家用并行的编程器读,能不能读的出来啊?
一周热门 更多>