- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 GCC 为 Cortex-M3 处理器构建外部函数接口(interface)库。根据http://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html :
-mthumb
Generate code for the Thumb instruction set. The default is to use the 32-bit ARM instruction set. This option automatically enables either 16-bit Thumb-1 or mixed 16/32-bit Thumb-2 instructions based on the -mcpu=name and -march=name options. This option is not passed to the assembler. If you want to force assembler files to be interpreted as Thumb code, either add a `.thumb' directive to the source or pass the -mthumb option directly to the assembler by prefixing it with -Wa.
我已经尝试将各种不同的参数传递给汇编程序,但似乎无法弄清楚。典型输出如下:
Building file: ../source/ffi/sysv.S
Invoking: GCC Assembler
arm-bare_newlib_cortex_m3_nommu-eabi-gcc -Wa,-mthumb-interwork -I"/home/neil/m3projects/robovero/firmware/include" -o"source/ffi/sysv.o" "../source/ffi/sysv.S"
../source/ffi/sysv.S: Assembler messages:
../source/ffi/sysv.S:145: Error: selected processor does not support ARM opcodes
../source/ffi/sysv.S:147: Error: attempt to use an ARM instruction on a Thumb-only processor -- `stmfd sp!,{r0-r3,fp,lr}'
...
我可以在不成为汇编专家的情况下在 Cortex-M3 上使用 libffi 吗?
可能值得注意的是,当我直接调用 arm-bare_newlib_cortex_m3_nommu-eabi-as 时,我得到了不同的错误。
最佳答案
我修改了sysV.S如下,错误是“.arm”指令引起的,使用cortex-m3时,应该注释掉。
#ifdef __ARM_ARCH_7M__ /* cortex-m3 */
#undef __THUMB_INTERWORK__
#endif
#if __ARM_ARCH__ >= 5
# define call_reg(x) blx x
#elif defined (__ARM_ARCH_4T__)
# define call_reg(x) mov lr, pc ; bx x
# if defined(__thumb__) || defined(__THUMB_INTERWORK__)
# define __INTERWORKING__
# endif
#else
# define call_reg(x) mov lr, pc ; mov pc, x
#endif
/* Conditionally compile unwinder directives. */
#ifdef __ARM_EABI__
#define UNWIND
#else
#define UNWIND @
#endif
#if defined(__thumb__) && !defined(__THUMB_INTERWORK__)
.macro ARM_FUNC_START name
.text
.align 0
.thumb
.thumb_func
#ifdef __APPLE__
ENTRY($0)
#else
ENTRY(\name)
#endif
#ifndef __ARM_ARCH_7M__ /* not cortex-m3 */
bx pc
nop
.arm
#endif
UNWIND .fnstart
/* A hook to tell gdb that we've switched to ARM mode. Also used to call
directly from other local arm routines. */
#ifdef __APPLE__
_L__$0:
#else
_L__\name:
#endif
.endm
关于gcc - Libffi 可以为 Cortex-M3 构建吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4703917/
我已经创建了一个Python应用程序,并使用Pyinstaller将其构建到Unix可执行文件中。在我尝试对应用程序进行代码签名之前,应用程序运行得很好。在代码签名之后,我在尝试运行可执行文件时收到以
我尝试在 RHEL 上安装 libffi-devel,但是当我尝试时收到此消息: Transaction Check Error: package libffi-3.0.5-1.el5.6.z.x
我正在尝试使用 libffi 在 macos (10.11) 上访问 stat()。这是 SWI-Prolog 的新的基于 FFI 的外部接口(interface)的一部分。此接口(interface
我在使用英特尔编译器 (11.1) 构建带有 ctypes 的 Python 工作版本时遇到问题。问题是,ctypes 模块下的 libffi 在与例如接口(interface)连接时无法正常工作。
我的印象是 CFFI 不能按值传递结构,但 CFFI 文档说: To pass or return a structure by value to a function, load the cffi-
我在 VirtualBox 上运行 32 位 Ubuntu 12.04。我一直在尝试让 pypy 工作,这太令人沮丧了。我下载了二进制文件,当我尝试运行它时出现此错误 kimberly@kimberl
我正在尝试使用 GCC 为 Cortex-M3 处理器构建外部函数接口(interface)库。根据http://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html
我需要在我的 Heroku 服务器上运行 libffi-dev 来编译我正在使用的一些包。如何在 Heroku 上安装这样的依赖项? 最佳答案 我从未这样做过,但我认为自定义二进制构建包在这种情况下可
我需要 libffi 来构建我的 C++ 项目。问题是不存在用于查找 libffi 的预制脚本,并且 ffi.h 位于奇怪的位置,具体取决于库的版本和 Linux 发行版。 这是我的尝试: # Loo
yum install libffi-devel 这是错误消息: Error downloading packages: libffi-devel-3.0.13-16.el7.x86_64: [Err
我正在尝试在 Elastic Beanstalk 上设置 Flask 应用程序。其中一个依赖项是 cffi。当我查看错误日志时,我得到了 same error as in this question
我无法确定这段代码崩溃的原因: #define MACOSX #include #include #include #include void sum(int64_t *a, int64_t
我尝试安装 libffi-3.0.11 我跟着那一边 http://www.linuxfromscratch.org/blfs/view/svn/general/libffi.html 但是我收到了这
我正在尝试将我的应用程序部署到 Heroku。它使用 pyOpenSSL,这需要 cryptography,这需要 libffi。我在这里找到了一个包含 libffi 的自定义构建包:https://
这个回溯弄乱了我所有的程序,我仍然无法修复它我已经尝试了所有方法,但没有帮助! 这是问题所在: ffi_prep_closure(): bad user_data (it seems that the
检查(最新)标签 v3.2.1 后: % sh autogen.sh % ./configure CC=i686-pc-mingw32-gcc % make check 所有测试似乎都失败了。 使用
我正在尝试使用 libffi在我的一个项目中,但我似乎无法为 iOS(或 macOS,就此而言)进行编译。这是我在为 iOS 模拟器构建时遇到的各种错误之一: bash: src/arm/gentra
我需要编译 libffi 库以在 Visual Studio 2013 项目中使用它。 我正在使用 libffi 3.0.13,从他们的网站下载 original page 我一直在努力让它工作,按照
我已经在我的 Linux 服务器上安装了 libffi 并且正确地将 PKG_CONFIG_PATH 环境变量设置为正确的目录,因为 pip 认识到它已安装;但是,当尝试安装 pyOpenSSL 时,
我正在尝试在我的 Android 手机上运行 Buildozer。为此,我在 Termux App (Android 7)(redmi Note 4) 上使用 Arch Linux pRoot 由于
我是一名优秀的程序员,十分优秀!