问题标签 [gnu-arm]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
48 浏览

std - SSCANF 怎么会提供如此奇怪的结果?

我与此代码进行了为期 4 天的战斗:

它返回:

资源:5
波特率:115200,数据位:0,停止:1,
奇偶校验:
flowctrl:NFC

缺少数据位奇偶校验

实际上奇偶校验变量下的内存是'\0'VEN'\0',看起来第一个字符被sscanf过程以某种方式覆盖。

sscanf 的返回值为 5,这表明它能够解析输入。

我的配置:

  • gccarmoneeabi 7.2.1
  • 视觉工作室代码 1.43.2
  • PlatformIO 核心 4.3.1
  • PlatformIO 主页 3.1.1
  • 库 ST-STM 6.0.0 (Mbed 5.14.1)
  • STM32F446RE (Nucleo-F446RE)

我试过(没有成功):

  • 使用 mbed RTOS 编译且不使用
  • 变量类型 uint8_t, uint32_t
  • gccarm 版本:6.3.1、8.3.1、9.2.1
  • 使用另一个 IDE (CLion+PlatformIO)
  • 在另一台计算机上编译(相同的配置)

实际上有什么帮助:

  • 使变量静态
  • 在 Mbed 在线编译器中编译

sscanf 的行为总体上是非常不可预测的,混合变量的顺序或数据类型有时会有所帮助,但通常以输出中的另一个缺陷结束。

0 投票
1 回答
385 浏览

eclipse - 汇编文件(.S)在 Eclipse photon 中使用 GNU ARM 工具链引发错误

将汇编文件从 ARMCC 语法移植到 GNU 语法。编译时抛出错误。

环境:Eclipse photon 中用于 ARM7 的 GNU arm 工具链。要求:在 Eclipse 中从 keil ARMCC 移植到 GNU arm 工具链。

编译和构建正确。当我添加一个程序集文件 iap_blue.S(附加)时,面临编译错误(粘贴在下面)。

0 投票
1 回答
272 浏览

arm - GNU Arm 嵌入式工具链 | arm-none-eabi-gcc 选项:Thumb (-mthumb) 和 Arm (-marm) 状态有什么区别?

Thumb (-mthumb)我有一个可能微不足道的问题,但是和state有什么区别Arm (-marm),为什么大多数教程都建议使用Thumbstate?

我很好奇这到底是什么意思?它与什么有关?

最好的!

0 投票
0 回答
208 浏览

cmake - 我在 cmd 上构建简单的 hello world 应用程序时遇到错误“工具链无法构建虚拟 C 文件”

我在cmd上构建简单的 hello world 应用程序时遇到错误“工具链无法构建虚拟 C 文件” 。我有 Windows 10 64 位机器。我已经按照网站 ( https://docs.zephyrproject.org/1.13.0/getting_started/installation_win.html ) 上的说明为 Windows 安装了所有必要的工具和软件包。我已经从 ARM 开发者网站安装了 GNU ARM Embedded:(https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads

我也尝试在CMake GUI上运行并得到同样的错误。请指教 。我附上下面的截图:请指教。我也尝试过使用其他板,比如 reel_board,但仍然面临同样的问题。

CMD错误

CMakeGUI错误

CmakeErrorLog 文件

0 投票
1 回答
80 浏览

c++ - 编译时如何更改 makefile 诊断消息 [GNU ARM GCC, Eclipse make.exe]

我正在为 STM32F4 构建一个程序,使用GNU-ARM-GccEclipse_make.exe 来构建项目。一切正常,但编译时终端上显示的诊断消息太长而且很难看到。当每个 *.c 文件被编译时,终端会给我一个诊断消息(见下面的段落)任何人都可以给我建议只显示一个文件名 [删除 gcc 目录路径、依赖项、头文件路径]。makefile 由 CubeMX 生成。这是makefile:https ://github.com/loiefy/STM32-makefile/blob/main/Makefile

示例诊断消息:

我要显示的消息:Middlewares/Third_Party/LwIP/src/apps/mqtt/mqtt.c已编译

我花了一天时间找到 echo 命令或另一个命令具有相同目的来显示 makefile 中的消息。但我什么也没找到。
感谢您的帮助

0 投票
2 回答
1046 浏览

windows - 断言失败:工具链无法构建虚拟 C 文件

一些学生和我自己一直在尝试在 Windows 10 下建立 Zephyr RTOS 构建环境,以构建针对各种 ARM Cortex M 板的应用程序。我们每个人都遵循了 Zephyr“入门指南”并遇到了同样的问题。当为许多不同的板子编译时(我们这里只使用 nrf52840dk_nrf52840 作为例子)我们得到这个错误:

错误信息

此错误将我们指向文件:CMakeError 和 CMakeOutput。以下是他们的内容:

CMake错误

CMake输出

我的问题:

  1. 这个错误是什么意思?
  2. 如何修复它,以便我可以成功构建应用程序。
0 投票
1 回答
40 浏览

cmake - gnu 和 gnu-arm 编译器可以在同一个系统上共存吗?

gnu 和 gnu-arm 编译器可以在同一个系统上共存吗?

我先是在windows 10上成功运行MinGW32编译windows软件,后来越来越觉得GNU系列软件好用,那为什么连stm32都不用GNU-ARM编译呢?但是我无法在vscode上使用cmake成功编译stm32,

我遇到的第一个问题是系统变量,GNU和GNU-ARM都需要注册C、C++系统变量,下面是使用GNU-ARM 10编译stm32,但是工作过程给我显示的信息,vscode是还是叫GNU 5.3,(GNU我安装的是5.3版本,而我安装的GNU-ARM是比较新的)版本)

虽然它似乎工作正常,没有错误消息,也没有编译 bin 或 elf 文件。

第二个问题是关于vscode中任务列表的参数,

我不确定,但问题可能是使用以下命令引起的:

第三个问题是关于make的命令:

"E:/gcc_arm/bin/arm-none-eabi-nm.exe",

不确定上面的参数是否正确。

感谢您分享您的智慧和经验;

0 投票
0 回答
26 浏览

assembly - 在 Arm Assembler 中循环浏览命令行参数

我有一个程序可以读取第一个参数(在程序名称之后)并打印它。但是如何访问列表中的下一个参数以及后续参数?

一个看似微不足道的程序似乎让我大吃一惊!

0 投票
2 回答
46 浏览

arm - STR(ARM gnu 程序集)无法更改内存

我想通过 STR 指令更改内存中的一些位。

并使用这样的makefile:

这是 qemu 命令:

QEMU 模拟器版本 6.1.0

x/16xw 0x4000我通过 qemu-arm-system 和 gdbserver 和命令检查内存。结果是:

这意味着 .data 部分是只读的。我怎么能设置它可写?

0 投票
0 回答
4 浏览

ld - GNU ASM .section 指令不起作用/链接器问题

我正在尝试将我的_start功能移动到0x0,因为它是引导加载程序。

Flash ROM 存在从 0x0 到第一个 128MB (=1Gb),其他内存是 DDR3 RAM,但我们将 RAM 映射到 0x80000000 到 0xFFFFFFFF。

问题在于指令.section ".vect"_start地址没有进入该.vect部分,而是进入该.text部分。

在我的链接器脚本中,MEMORY命令和开头SECTIONS是:

但无论如何,_start汇编函数代码都会被塞进标准.text部分,而不是地址0x0。有谁知道我出了什么问题?

该代码针对裸机 ARMv7A 机器,编译/链接arm-none-eabi-as/ld

干杯。