原文地址::http://www.openedv.com/posts/list/0/55803.htm;jsessionid=BF32A849CB8EF733FEEC85010EBCE48C

void WFI_SET(void)
{
__ASM volatile("wfi");  
}
//关闭所有中断
void INTX_DISABLE(void)
{  
__ASM volatile("cpsid i");
}
//开启所有中断
void INTX_ENABLE(void)
{
__ASM volatile("cpsie i");  
}
//设置栈顶地址
//addr:栈顶地址
__asm void MSR_MSP(u32 addr) 
{
    MSR MSP, r0 //set Main Stack value
    BX r14
}

//=========================================修改如下就可以了==============================================

01 //THUMB指令不支持汇编内联
02 //采用如下方法实现执行汇编指令WFI 
03 __asm void WFI_SET(void)
04 {
05     WFI;         
06 }
07 //关闭所有中断
08 __asm void INTX_DISABLE(void)
09 {
10     CPSID I;         
11 }
12 //开启所有中断
13 __asm void INTX_ENABLE(void)
14 {
15     CPSIE I;         
16 }
17 //设置栈顶地址
18 //addr:栈顶地址
19 __asm void MSR_MSP(u32 addr)
20 {
21     MSR MSP, r0             //set Main Stack value
22     BX r14
23 }

Keil4编译原子哥的SYSTEM出现错误 Inline assembler not permitted when generating Thumb code相关推荐

  1. 原子哥的STM32视频,我发现他们都看不懂原子哥里面按键扫描程序

    近身边的很多同学都在学习原子哥的STM32视频,我发现他们都看不懂原子哥里面按键扫描程序.由于问的人多,所以我也写了个心得,分享一下,老鸟别喷我哈.先贴上代码吧: //返回值: //0,没有任何按键按 ...

  2. 已解决:大家使用原子哥的延时函数delay_ms,delay_us会出现进入延时函数出不来的情况

    首说明先原子哥的延时函数没有问题.原子哥的延时函数有的是用在STM32F103中的,要看自己的开发板是那个类型.这里给出STM32F103和STM32F030的延时函数. (1)用在STM32F030 ...

  3. crosstool-ng 编译交叉工具链的常见错误及解决办法

    1.配置crosstool-ng产生的错误 1.1 ncurses headers files were not found Checking for 'ncurses/ncurses.h'... n ...

  4. java中常见的编译错误的是_编译时JAVA最常见的错误有哪些

    如果你正学习Java语言,你在编译和执行代码的时候遇到问题,一般来说问题将分为2类:无论你遇到的是编译时错误,这说明你的程序编译失败,还是你遇到运行时错误,这是指错误发生在你成功地编译了程序但不能运行 ...

  5. java编译异常有哪些_编译时JAVA最常见的错误有哪些

    如果你正学习Java语言,你在编译和执行代码的时候遇到问题,一般来说问题将分为2类:无论你遇到的是编译时错误,这说明你的程序编译失败,还是你遇到运行时错误,这是指错误发生在你成功地编译了程序但不能运行 ...

  6. caffe cmake matlab,编译caffe时候抛出的错误

    编译caffe时候抛出的错误 我在安装ubuntu14.04上安装了cuda7.5,cudnn4.0等,使用起来都挺好的,没什么问题,最近,把21天实战caffe上面第五天的以来库都装完之后,准备装m ...

  7. 【stm32】如何把原子哥的代码移植到最小系统板stm32f103c8t6 以跑马灯实验为例

    [stm32]如何把原子哥的代码移植到最小系统板stm32f103c8t6 以跑马灯实验为例 外部硬件: stm32仿真编程器 (仿真编制器自己在网上买,不确定买哪个的可以就买我这个,图片上有牌子,自 ...

  8. 编译安装samba4.89遇到的错误

    记 编译安装samba4.89 遇到的错误 公司有台samba服务器因版本过低被安全扫描出漏洞,在升级中遇到以下错误 提示权限错误, mount error(13): Permission denie ...

  9. Linux:编译动态库时遇到的错误relocation R_X86_64_32 against `a local symbol'

    编译动态库时遇到如下错误: ... ... relocation R_X86_64_32 against `a local symbol' can not be used when making a ...

最新文章

  1. 商汤联手华科:提出文字检测模型GNNets,新颖模块可解决几何分布难题
  2. 11月份西部数码.wang域名注册量及市场份额统计报告
  3. 关于出现org.hibernate.TransientObjectException: The given object has a null identifier: 错误的解决方法
  4. linux 父子进程结束,Linux下让父进程结束后,子进程自动结束
  5. 2017韩老师计算机网络,2017年计算机等考三级网络技术辅导:计算机网络拓扑结构...
  6. 云鹊医认证审核需要多久_ISO9001质量管理体系认证审核需要准备哪些资料
  7. #6034. 「雅礼集训 2017 Day2」线段游戏 李超树
  8. Redis基础(八)——集群
  9. Python 基础 —— from __future__ import
  10. bzoj 1622: [Usaco2008 Open]Word Power 名字的能量
  11. matplotlib绘图基础
  12. IT小天博客APP版本
  13. 图书管理系统C语言课程设计
  14. 固态硬盘(samsung SSD 850 pro)相关问题
  15. lammps教程:minimize命令使用详解
  16. php 生僻字 拼音,php 汉字转拼音 [包含20902个基本汉字+5059生僻字]
  17. 计算机算法设计与分析 第5版 (王晓东) 课后答案[解析]
  18. C++中i++和++i的区别
  19. 七彩虹断剑C.A320M-K PRO V14安装PCI-E X4转m.2转接卡,并用m.2固态作为系统盘
  20. 利用httpclient和多线程刷访问量代码

热门文章

  1. 30 个 OpenStack 经典面试问题和解答
  2. nginx 全局配置
  3. C# winform C/S WebBrowser 微信第三方登录
  4. Node.js项目目录介绍
  5. 关于《用C#编写ActiveX控件》的几点说明
  6. 牛客网(剑指offer) 第五题 用两个栈来实现一个队列
  7. 内网渗透-域渗透简单思路
  8. [C/C++基础知识] 那些被遗忘的链表知识
  9. RxSwift之深入解析map操作符的底层实现
  10. HarmonyOS之后台代理定时提醒的功能使用