搜索
bottom↓
回复: 11

懂汇编的进,STM32一段汇编程序报错

[复制链接]

出590入992汤圆

发表于 2017-7-28 11:37:18 | 显示全部楼层 |阅读模式
本帖最后由 SUPER_CRJ 于 2017-7-28 11:38 编辑

// 下面这个函数在Keil中报错,但是只是在预编译阶段,这是为什么?对于追求完美的人,我不能允许有这样的错
__asm void MSR_MSP_RJ(u32 addr)
{
        MSR MSP, r0                         //set Main Stack value
        BX r14
}



// 更改后,预编译不报错,但是实际编译报错,大神们给点完美的解法
// 注意:按照报错提示,加入{}也不行,会有其它错误!
void MSR_MSP_RJ0( u32 addr )
{
        __asm MSR MSP, r0                        //set Main Stack value
        __asm        BX r14
}

本帖子中包含更多资源

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

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入22汤圆

发表于 2017-7-28 11:41:47 | 显示全部楼层
void __set_PSP(uint32_t topOfProcStack)
{
  __ASM("msr psp, r0");
  __ASM("bx lr");
}

出0入0汤圆

发表于 2017-7-28 13:33:43 | 显示全部楼层
jiaowoxiaolu 发表于 2017-7-28 11:41
void __set_PSP(uint32_t topOfProcStack)
{
  __ASM("msr psp, r0");

我直觉也是这样,哈哈

出590入992汤圆

 楼主| 发表于 2017-7-28 15:31:28 | 显示全部楼层
jiaowoxiaolu 发表于 2017-7-28 11:41
void __set_PSP(uint32_t topOfProcStack)
{
  __ASM("msr psp, r0");

还是不行

本帖子中包含更多资源

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

x

出0入22汤圆

发表于 2017-7-28 15:45:57 | 显示全部楼层
__ASM void __set_MSP(uint32_t mainStackPointer)
{
  msr msp, r0
  bx lr
}

出590入992汤圆

 楼主| 发表于 2017-7-28 16:02:36 | 显示全部楼层
jiaowoxiaolu 发表于 2017-7-28 15:45
__ASM void __set_MSP(uint32_t mainStackPointer)
{
  msr msp, r0

预编译报错,我开始已经写了~

出0入8汤圆

发表于 2017-7-28 16:15:09 来自手机 | 显示全部楼层
记得有个笑话
说拿一段文字给程序员抄
他可以一字不错,并且标点一致,连排版都一样

出0入42汤圆

发表于 2017-7-28 16:59:36 | 显示全部楼层
二楼给的是小写,而你用的是大写。

出0入0汤圆

发表于 2017-7-28 17:02:01 | 显示全部楼层
这中语法可以参考FREERTOS。

出590入992汤圆

 楼主| 发表于 2017-7-28 18:02:47 | 显示全部楼层
liyang121316 发表于 2017-7-28 16:59
二楼给的是小写,而你用的是大写。

内部有宏定义了定义了大写和小写是一样的

出590入992汤圆

 楼主| 发表于 2017-7-28 18:37:51 | 显示全部楼层
jiaowoxiaolu 发表于 2017-7-28 15:45
__ASM void __set_MSP(uint32_t mainStackPointer)
{
  msr msp, r0

内部有宏定义,大小写是等价的。

出0入0汤圆

发表于 2017-7-30 20:52:51 来自手机 | 显示全部楼层
因为mdk的在线语法检查恨捉急,遇上汇编就歇菜了,至于你后面写错的,我估计它不认识只好假装媚看见
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-3-29 01:20

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表