硬汉嵌入式论坛

 找回密码
 立即注册
查看: 4971|回复: 9
收起左侧

[MDK] AC6环境下嵌入汇编报错

[复制链接]

19

主题

62

回帖

119

积分

初级会员

积分
119
发表于 2020-8-2 11:36:55 | 显示全部楼层 |阅读模式
自己对UCOSII做了精简,把汇编部分以嵌入C中的方式编写,在AC5环境下运行正常,但是在AC6环境下需要按照GCC的语法来改写,有些地方不熟悉,请大家帮忙看看 1.png 2.png

回复

使用道具 举报

19

主题

62

回帖

119

积分

初级会员

积分
119
 楼主| 发表于 2020-8-2 11:39:36 | 显示全部楼层
有几个地方不太清楚如何处理的:
1.函数指针的引用如何处理的?
2.带有跳转语句的部分任何处理,比如上面的PendSV_Handler_nosave
3.常量的使用有更改嘛? 比如AC5下用#0X04,AC6下需要修改嘛?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106959
QQ
发表于 2020-8-2 16:43:14 | 显示全部楼层
AC6是CLANG。

其实你搞复杂了,原始AC5的,直接就可以自AC6下编译,你搞C嵌套其实没啥意义。

进入到MDK5.30及其以上版本后,可以单独选择某个汇编文件使用Clang,GCC或者AC5的armasm

回复

使用道具 举报

19

主题

62

回帖

119

积分

初级会员

积分
119
 楼主| 发表于 2020-8-2 17:07:28 | 显示全部楼层
eric2013 发表于 2020-8-2 16:43
AC6是CLANG。

其实你搞复杂了,原始AC5的,直接就可以自AC6下编译,你搞C嵌套其实没啥意义。

我并非是为了上AC6而做的嵌汇编,之前把UCOS大幅度精简单文件来使用,用的是嵌汇编的方式,换AC6编译后不太数据GCC的汇编写法,改出问题来了,所以上来问问
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106959
QQ
发表于 2020-8-2 17:09:59 | 显示全部楼层
mojinpan 发表于 2020-8-2 17:07
我并非是为了上AC6而做的嵌汇编,之前把UCOS大幅度精简单文件来使用,用的是嵌汇编的方式,换AC6编译后不太 ...

这个不是精简,仅仅是封装成了C函数而已
回复

使用道具 举报

19

主题

62

回帖

119

积分

初级会员

积分
119
 楼主| 发表于 2020-8-2 17:12:24 | 显示全部楼层
eric2013 发表于 2020-8-2 17:09
这个不是精简,仅仅是封装成了C函数而已

好吧,就算是封装吧,不要纠结于此了,我主要是上来请教AC6嵌入汇编的写法而已
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106959
QQ
发表于 2020-8-2 17:37:38 | 显示全部楼层
mojinpan 发表于 2020-8-2 17:12
好吧,就算是封装吧,不要纠结于此了,我主要是上来请教AC6嵌入汇编的写法而已

下载MDK提供的FreeRTOS软件包,注意,务必是MDK提供的。

FreeRTOS的port文件是C嵌汇编的调用方式。MDK做了处理,支持AC6,你可以对比参考下你的。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106959
QQ
发表于 2020-8-2 17:45:42 | 显示全部楼层
另外对于你的程序,一个小小的建议。

QQ截图20200802174423.png


回复

使用道具 举报

19

主题

62

回帖

119

积分

初级会员

积分
119
 楼主| 发表于 2020-8-2 18:42:33 | 显示全部楼层
eric2013 发表于 2020-8-2 17:45
另外对于你的程序,一个小小的建议。

感谢硬汉的回复,lazy stacking特性的资料大概在哪里能找到,是否能提供一下链接,我研究一下,再改进这个地方
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106959
QQ
发表于 2020-8-3 00:23:39 | 显示全部楼层
mojinpan 发表于 2020-8-2 18:42
感谢硬汉的回复,lazy stacking特性的资料大概在哪里能找到,是否能提供一下链接,我研究一下,再改进这个地 ...

权威指南。
案例的话,参考我们之前发布的V5开发板一代示波器即可,早期是用的uCOS-III方案。

http://www.armbbs.cn/forum.php?mod=viewthread&tid=3886&extra=page%3D1



QQ截图20200803003145.png


回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-11 15:10 , Processed in 0.257281 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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