Error armlink L6238 Startup.o(Start) contains invalid call from '~PRES8' function to 'REQ8' functio
来源:互联网 发布:苹果7数据怎么都打不开 编辑:程序博客网 时间:2024/05/06 04:30
实验手册上的代码,2.2的集成开发环境,结果就出错了,解决方法是在每个.s文件中添加一个“PRESERVE8”。参见这里。
关于PRESERVE8:
7.8.15. REQUIRE8 和 PRESERVE8
REQUIRE8
指令指定当前文件要求堆栈八字节对齐。 它设置 REQ8 生成属性以通知链接器。
PRESERVE8
指令指定当前文件保持堆栈八字节对齐。 它设置 PRES8 编译属性以通知链接器。
链接器检查要求堆栈八字节对齐的任何代码是否仅由保持堆栈八字节对齐的代码直接或间接地调用。
语法
REQUIRE8 {bool}
PRESERVE8 {bool}
其中:
bool
是一个可选布尔常数,取值为
{TRUE}
或{FALSE}
。
用法
如果您的代码保持堆栈八字节对齐,在需要时,可使用 PRESERVE8
设置文件的 PRES8 编译属性。 如果您的代码不保持堆栈八字节对齐,则可使用 PRESERVE8 {FALSE}
确保不设置 PRES8 编译属性。
Note
如果您省略 PRESERVE8
和 PRESERVE8 {FALSE}
,汇编器会检查修改 sp 的指令,以决定是否设置 PRES8 编译属性。 ARM 建议明确指定PRESERVE8
。
您可以通过以下方式启用警告:
armasm --diag_warning 1546
有关详细信息,请参阅命令语法。
您将会收到类似以下警告:
"test.s", line 37: Warning: A1546W: Stack pointer update potentially breaks 8 byte stack alignment 37 00000044 STMFD sp!,{r2,r3,lr}
示例
REQUIRE8REQUIRE8 {TRUE} ; equivalent to REQUIRE8REQUIRE8 {FALSE} ; equivalent to absence of REQUIRE8PRESERVE8 {TRUE} ; equivalent to PRESERVE8PRESERVE8 {FALSE} ; NOT exactly equivalent to absence of PRESERVE8
- Error armlink L6238 Startup.o(Start) contains invalid call from '~PRES8' function to 'REQ8' functio
- ADS转RVDS invalid call from '~PRES8' function to 'REQ8' function
- ADS转RVDS invalid call from '~PRES8' function to 'REQ8' function
- ADS转Keil中 invalid call from '~PRES8' function to 'REQ8' 错误解决之道
- ADS 转Keil, ADS升级至MDK常见错误 invalid call from '~PRES8' function to 'REQ8' 解决方法
- test.axf: Error: L6238E: cpu_asm.o(test) contains invalid call from '~PRES8
- contains invalid call from '~PRES8 (The user did n......
- Fatal error: Call to private MyObject::__construct() from invalid context
- How to call function from register view
- Fatal error: Call to undefined function mysql_connect()
- Fatal error: Call to undefined function curl_init()
- Fatal error: Call to undefined function mysql_connect()
- Fatal error: Call to undefined function
- Fatal error: Call to undefined function randstr()
- Fatal error: Call to undefined function openssl_pkey_get_private()
- Fatal error: Call to undefined function mysql_connect()
- Fatal error: Call to undefined function mcrypt_get_block_size()
- Fatal error: Call to undefined function cal_days_in_month()
- TinyOS学习笔记12-节点与计算机利用串口通信2-数据包分析
- 传统对数据访问与主数据管理(MDM)
- TinyOS学习笔记1
- 动态规划之最大连续子序列
- Mac 终端命令行颜色高亮解决方案
- Error armlink L6238 Startup.o(Start) contains invalid call from '~PRES8' function to 'REQ8' functio
- 节点通信中被忽略的知识点
- 世博有我-即日起订购逐浪CMS送企业模板
- 发哥说歌[1]:总有一首中国歌让你感动流泪
- Spring的事务传播属性,数据库的隔离级别
- Git常用操作命令收集
- SQL Server 2008 镜像操作心得(非域控环境中创建数据库镜像)
- IOS开发者账号分类详解:个人版,公司版和企业版
- JQuery select控件的相关操作