SWI是由软件触发的中断。主要用于带内存保护的 *** 作系统下用户态程序调用核心态系统调用功能。用户态的程序代码执行到SWI时,ARM处理器会自动切换到Supervisor权限并产生SWI中断,从而调用 *** 作系统的相关代码。
有些调试开发系统会利用这个特性增加一些特殊的功能,比如打开调试宿主机上的文件进行读写,把调试信息输出到宿主机的窗口中等等。
你遇到的这个问题有两个解决方法:
1,调整J-Link的设置和开发系统的设置,由开发系统接管SWI。对于初学者,建议不使用J-Link,而改用ULink。因为J-Link的设置有点麻烦。
2,检查已经有的代码,把含有SWI指令的汇编代码分析一下,能跳过就跳过,能删除就删除。如果找不到(有些代码藏在库里面),就请提供这段程序的人帮助!如果找不到这个人,请自己编代码。使用别人的代码有时候请求帮助花的时间比自己重写花的时间还要长!
char rank(int score)
{
char c;
if(score>=90&&score<=100)
c='A';
else if(score>=80&&score<=89)
c='B';
else if(score>=70&&score<=79)
c='C';
else if(score>=60&&score<=69)
c='D';
else if(score>=50&&score<=59)
c='E';
else ;
return c;
}
char rank(int score)
{
char c;
switch(score%10)
{
case 9:
case 10:
c='A';
break;
case 8:
c='B';
break;
case 7:
c='C';
break;
case 6:
c='D';
break;
case 5:
c='E';
break;
default:break;
}
return c;
}
DialogResult re=MessageBoxShow("请选择中止,重试,忽略?", " *** 作选择", MessageBoxButtonsAbortRetryIgnore, MessageBoxIconQuestion);
switch(re)
{
case MessageBoxButtonsAbort:
//
case MessageBoxButtonsRetry:
//
case MessageBoxButtonsIgnore:
//
}
以上就是关于您好!我遇到和你这个“求助:用ARM J-Link调试遇到的问题”同样的问题,这个问题您解决了吗向您求助!全部的内容,包括:您好!我遇到和你这个“求助:用ARM J-Link调试遇到的问题”同样的问题,这个问题您解决了吗向您求助!、c语言题目求助。编程序,输入一个百分制的成绩t后,按下式输出它的等级,要求分别写作if结构和swi、c#程序编程 winform 我想在d出的窗口messagebox(中止,重试,忽略)加一个swi等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)