功能 #592
状态:
完结
优先级:
普通
指派给:
韦 士飞
类别:
-
开始日期:
2016-09-04
计划完成日期:
2016-09-06
% 完成:
100%
预期时间:
里程碑:
描述
在移植过程中原来的goahead开源代码无法编译通过,经过仔细检查编译输出信息发现在arm-linux-gnueabihf-gcc编译环境中不支持R7寄存器的汇编调用,而在goahead源码的mbedtls模块使用了R7的相关汇编调用而导致汇编无法进行,由此确定是mbedtls库对Contex-A7内核支持不完善导致。而后检查mbedtls库的源码更新日志发现旧版本中确实存在该问题,而新版本的mbedtls库也已经对此进行了修复。通过mbedtls库的更新日志对goahead源码完成修改,修改之后在按原来的编译过程编译通过,更新到板子上运行正常。
修改内容:
将src/mbedtls/mbedtls.h文件第12735行的
#if defined(__arm__)
内容改为:
#if defined(__GNUC__) && !defined(__OPTIMIZE__)
#define MULADDC_CANNOT_USE_R7
#endif
#if defined(__arm__) && !defined(MULADDC_CANNOT_USE_R7)